{"version":3,"file":"aepp-sdk.browser.cjs","mappings":"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CX,CACE10E,KAAM,CACJzW,KAAM,YACNm4C,UACE,0EACFC,gBAAiB,IACZ0oC,GACArqE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBgzC,GACX,CACE30E,KAAM,CACJzW,KAAM,YACNm4C,UACE,wEACFC,gBAAiB,IACZ4oC,GACAvqE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBizC,GACX,CACE50E,KAAM,CACJzW,KAAM,YACNm4C,UACE,oEACFC,gBAAiB,IACZopC,GACA/qE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBkzC,GACX,CACE70E,KAAM,CACJzW,KAAM,YACNm4C,UACE,6EACFC,gBAAiB,IACZqpC,GACAhrE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBmzC,GACX,CACE90E,KAAM,CACJzW,KAAM,YACNm4C,UACE,4EACFC,gBAAiB,IACZspC,GACAjrE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBozC,GACX,CACE/0E,KAAM,CACJzW,KAAM,YACNm4C,UACE,8EACFC,gBAAiB,IACZ6pC,GACAxrE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBqzC,GACX,CACEh1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,gFACFC,gBAAiB,IACZgqC,GACA3rE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBszC,GACX,CACEj1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,kGACFC,gBAAiB,IACZsqC,GACAjsE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBuzC,GACX,CACEl1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,qGACFC,gBAAiB,IACZyqC,GACApsE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBwzC,GACX,CACEn1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,oEACFC,gBAAiB,IACZ0qC,GACArsE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrByzC,GACX,CACEp1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,yFACFC,gBAAiB,IACZ2qC,GACAtsE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB0zC,GACX,CACEr1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,uFACFC,gBAAiB,IACZ4qC,GACAvsE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB2zC,GACX,CACEt1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,iEACFC,gBAAiB,IACZ6qC,GACAxsE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB4zC,GACX,CACEv1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,wEACFC,gBAAiB,IACZ+rC,GACA1tE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB6zC,GACX,CACEx1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,yEACFC,gBAAiB,IACZisC,GACA5tE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB8zC,GACX,CACEz1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,2EACFC,gBAAiB,IACZksC,GACA7tE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB+zC,GACX,CACE11E,KAAM,CACJzW,KAAM,YACNm4C,UACE,0EACFC,gBAAiB,IACZosC,GACA/tE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBg0C,GACX,CACE31E,KAAM,CACJzW,KAAM,YACNm4C,UACE,mEACFC,gBAAiB,IACZssC,GACAjuE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBi0C,GACX,CACE51E,KAAM,CACJzW,KAAM,YACNm4C,UACE,4EACFC,gBAAiB,IACZ4sC,GACAvuE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBk0C,GACX,CACE71E,KAAM,CACJzW,KAAM,YACNm4C,UACE,2EACFC,gBAAiB,IACZ8sC,GACAzuE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBm0C,GACX,CACE91E,KAAM,CACJzW,KAAM,YACNm4C,UACE,6EACFC,gBAAiB,IACZ+sC,GACA1uE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBo0C,GACX,CACE/1E,KAAM,CACJzW,KAAM,YACNm4C,UACE,8EACFC,gBAAiB,IACZwtC,GACAnvE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBq0C,GACX,CACEh2E,KAAM,CACJzW,KAAM,YACNm4C,UACE,8EACFC,gBAAiB,IACZ4tC,GACAvvE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBs0C,GACX,CACEj2E,KAAM,CACJzW,KAAM,YACNm4C,UACE,uEACFC,gBAAiB,IACZ6tC,GACAxvE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBu0C,GACX,CACEl2E,KAAM,CACJzW,KAAM,YACNm4C,UACE,yEACFC,gBAAiB,IACZ8tC,GACAzvE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBw0C,GACX,CACEn2E,KAAM,CACJzW,KAAM,YACNm4C,UACE,qEACFC,gBAAiB,IACZ+tC,GACA1vE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBy0C,GACX,CACEp2E,KAAM,CACJzW,KAAM,YACNm4C,UACE,2EACFC,gBAAiB,IACZ+uC,GACA1wE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB00C,GACX,CACEr2E,KAAM,CACJzW,KAAM,YACNm4C,UACE,wEACFC,gBAAiB,IACZgvC,GACA3wE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB20C,GACX,CACEt2E,KAAM,CACJzW,KAAM,YACNm4C,UACE,sEACFC,gBAAiB,IACZivC,GACA5wE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB40C,GACX,CACEv2E,KAAM,CACJzW,KAAM,YACNm4C,UACE,qEACFC,gBAAiB,IACZovC,GACA/wE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB60C,GACX,CACEx2E,KAAM,CACJzW,KAAM,YACNm4C,UACE,qEACFC,gBAAiB,IACZqvC,GACAhxE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB80C,GACX,CACEz2E,KAAM,CACJzW,KAAM,YACNm4C,UACE,8EACFC,gBAAiB,IACZgwC,GACA3xE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrB+0C,GACX,CACE12E,KAAM,CACJzW,KAAM,YACNm4C,UACE,6EACFC,gBAAiB,IACZiwC,GACA5xE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBg1C,GACX,CACE32E,KAAM,CACJzW,KAAM,YACNm4C,UACE,wEACFC,gBAAiB,IACZkxC,GACA7yE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBi1C,GACX,CACE52E,KAAM,CACJzW,KAAM,YACNm4C,UACE,8EACFC,gBAAiB,IACZmxC,GACA9yE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBk1C,GACX,CACE72E,KAAM,CACJzW,KAAM,YACNm4C,UACE,oEACFC,gBAAiB,IACZsxC,GACAjzE,KAAK2hC,mBACL8gC,GAAkBziE,KAAK2hC,mBAKrBm1C,GAA+C,CAC1D92E,KAAM,CACJzW,KAAM,YACNm4C,UAAW,mBACXC,gBAAiB,IACZtO,GAAYrzB,KAAK2hC,mBACjB0rC,GAAmErtE,KACnE2hC,mBAKIo1C,GAA+C,CAC1D/2E,KAAM,CACJzW,KAAM,YACNm4C,UAAW,mBACXC,gBAAiB,IACZuE,GAASlmC,KAAK2hC,gBACjBq1C,kBAAmB,CACjBz4C,eAAgB,qBAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,WAGVgxC,MAAO,CACLsH,YAAa,CACXmB,QAAS,IAAIrE,OAAO,cAEtBJ,eAAgB,QAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,WAGV0tF,iBAAkB,CAChB14C,eAAgB,qBAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,WAGV2tF,kBAAmB,CACjB34C,eAAgB,qBAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,cAOH4tF,GAAiD,CAC5Dn3E,KAAM,CACJzW,KAAM,YACNm4C,UAAW,qBACXC,gBAAiB,IACZ+F,GAAiB1nC,KAAK2hC,gBACzBy1C,gBAAiB,CACf74C,eAAgB,oBAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,WAGV2tF,kBAAmB,CACjB34C,eAAgB,qBAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,WAGVw5C,IAAK,CACHxE,eAAgB,MAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,WAGVgxC,MAAO,CACLsH,YAAa,CACXmB,QAAS,IAAIrE,OAAO,cAEtBJ,eAAgB,QAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,cAOH8tF,GAAuC,CAClDr3E,KAAM,CACJzW,KAAM,YACNm4C,UAAW,WACXC,gBAAiB,IACZjO,GAAa1zB,KAAK2hC,mBAClB8rC,GAAiDztE,KAAK2hC,mBAKlD21C,GAAyC,CACpDt3E,KAAM,CACJzW,KAAM,YACNm4C,UAAW,aACXC,gBAAiB,IACZ9T,GAAiB7tB,KAAK2hC,mBACtB2sC,GAAmDtuE,KACnD2hC,mBAKF,IAAIoL,GAAiB,CAC1B,gCAAiC7J,ICviT5B,MAAMk8B,WAAmB3xB,GAAAA,cAQ9B9sC,WAAAA,CAAYusC,EAAe12C,GAAoC,IAAAiuB,EAAAipB,EAC7D,QAAct7C,IAAV86C,EACF,MAAM,IAAIt9C,MAAM,0BAIb4G,IACHA,EAAU,CAAC,GAEb,MAIMm3C,EAAiB,mCACjBC,EACJp3C,EAAQq3C,kBAAoBr3C,EAAQq3C,iBAAiBD,gBACjD,GAAGp3C,EAAQq3C,iBAAiBD,mBAAmBD,IAC/C,GAAGA,IAUTl7B,MAR4B,CAT1Bq7B,mBAAoB,qCAWjBt3C,EACHq3C,iBAAkB,CAChBD,mBAEFG,SAA6C,QAArCtpB,EAAkB,QAAlBipB,EAAEl3C,EAAQu3C,gBAAQ,IAAAL,EAAAA,EAAIl3C,EAAQw3C,eAAO,IAAAvpB,EAAAA,EAAI,YAInD/4B,KAAKwhD,MAAQA,CACf,CAOAqqC,oBAAAA,CACEpkD,EACA38B,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE9a,YAAW38B,WACbghF,GAEJ,CAOAC,oBAAAA,CACEtkD,EACA38B,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE9a,YAAW38B,WACbkhF,GAEJ,CAOAC,sBAAAA,CACExkD,EACA38B,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE9a,YAAW38B,WACbohF,GAEJ,CAOAC,kBAAAA,CACE1kD,EACA38B,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE9a,YAAW38B,WACbshF,GAEJ,CAOAC,oBAAAA,CACE5kD,EACA38B,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE9a,YAAW38B,WACbwhF,GAEJ,CAOAC,kBAAAA,CACE9kD,EACA38B,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE9a,YAAW38B,WACb0hF,GAEJ,CAOAC,2BAAAA,CACEhlD,EACA38B,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE9a,YAAW38B,WACb4hF,GAEJ,CAMAC,wBAAAA,CACE7hF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACF8hF,GAEJ,CAOAC,0BAAAA,CACE5uD,EACAnzB,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEtkB,aAAYnzB,WACdgiF,GAEJ,CAQAC,uBAAAA,CACE9uD,EACAg/C,EACAnyE,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEtkB,aAAYg/C,aAAYnyE,WAC1BkiF,GAEJ,CAOAC,uBAAAA,CACEhvD,EACAnzB,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEtkB,aAAYnzB,WACdoiF,GAEJ,CAQAC,mBAAAA,CACElvD,EACAy4C,EACA5rE,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEtkB,aAAYy4C,UAAS5rE,WACvBsiF,GAEJ,CAOAC,0BAAAA,CACEpvD,EACAnzB,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEtkB,aAAYnzB,WACdwiF,GAEJ,CAOAC,mBAAAA,CACE3vE,EACA9S,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE3kC,KAAI9S,WACN0iF,GAEJ,CAMAC,mBAAAA,CACE3iF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACF4iF,GAEJ,CAMAC,kBAAAA,CACE7iF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACF8iF,GAEJ,CAOAC,uBAAAA,CACE5vD,EACAnzB,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEtkB,aAAYnzB,WACdgjF,GAEJ,CAQAC,6BAAAA,CACE9vD,EACAwJ,EACA38B,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEtkB,aAAYwJ,YAAW38B,WACzBkjF,GAEJ,CAQAC,oCAAAA,CACEhwD,EACAwJ,EACA38B,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEtkB,aAAYwJ,YAAW38B,WACzBojF,GAEJ,CAOAC,iBAAAA,CACEvwE,EACA9S,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE3kC,KAAI9S,WACNsjF,GAEJ,CAMAC,WAAAA,CACEvjF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWwjF,GAChD,CAOAC,UAAAA,CACE3wE,EACA9S,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAE3kC,KAAI9S,WAAW0jF,GACpD,CAMAC,gBAAAA,CACE3jF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACF4jF,GAEJ,CAMAC,eAAAA,CACE7jF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAW8jF,GAChD,CAOAzwD,WAAAA,CACEvgB,EACA9S,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAE3kC,KAAI9S,WAAWo4C,GACpD,CAMA2rC,WAAAA,CACE/jF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWgkF,GAChD,CAOAC,uBAAAA,CACE9wD,EACAnzB,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEtkB,aAAYnzB,WACdkkF,GAEJ,CAMAC,SAAAA,CAAUnkF,GACR,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWokF,GAChD,CAMAC,WAAAA,CACErkF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWskF,GAChD,CAMAC,YAAAA,CACEvkF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWwkF,GAChD,CAOAC,WAAAA,CACEhnE,EACAzd,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEh6B,SAAQzd,WACV0kF,GAEJ,CAMAC,aAAAA,CACE3kF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAW4kF,GAChD,CAOAC,YAAAA,CACEta,EACAvqE,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE8yB,YAAWvqE,WACb8kF,GAEJ,CAOAC,qBAAAA,CACExa,EACAvqE,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE8yB,YAAWvqE,WACbglF,GAEJ,CAOAC,wBAAAA,CACE1a,EACAvqE,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE8yB,YAAWvqE,WACbklF,GAEJ,CAMAC,YAAAA,CACEnlF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWolF,GAChD,CAOAl0D,WAAAA,CACEs5C,EACAxqE,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE+yB,YAAWxqE,WACbqlF,GAEJ,CAOAC,sBAAAA,CACE9a,EACAxqE,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE+yB,YAAWxqE,WACbulF,GAEJ,CAOAC,aAAAA,CACEvsF,EACA+G,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEx+C,OAAM+G,WACRylF,GAEJ,CAOA10D,yBAAAA,CACE93B,EACA+G,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEx+C,OAAM+G,WACR0lF,GAEJ,CAMAC,QAAAA,CAAS3lF,GACP,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAW4lF,GAChD,CAMAC,gBAAAA,CACE7lF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACF8lF,GAEJ,CAOAC,cAAAA,CACEjzE,EACA9S,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE3kC,KAAI9S,WACNgmF,GAEJ,CAOAC,oBAAAA,CACEnzE,EACA9S,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE3kC,KAAI9S,WACNkmF,GAEJ,CAMAC,aAAAA,CACEnmF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWomF,GAChD,CAOA9yD,OAAAA,CACExgB,EACA9S,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAE3kC,KAAI9S,WAAWqmF,GACpD,CAOAC,aAAAA,CACExzE,EACA9S,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE3kC,KAAI9S,WACNumF,GAEJ,CAOAC,gBAAAA,CACE1zE,EACA9S,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE3kC,KAAI9S,WACNymF,GAEJ,CAOAC,cAAAA,CACE5zE,EACA9S,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE3kC,KAAI9S,WACN2mF,GAEJ,CAMAC,UAAAA,CAAW5mF,GACT,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAW6mF,GAChD,CAOAC,SAAAA,CACEh0E,EACA9S,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAE3kC,KAAI9S,WAAW+mF,GACpD,CAOAC,gBAAAA,CACEl0E,EACA9S,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE3kC,KAAI9S,WACNinF,GAEJ,CAOAC,gBAAAA,CACEp0E,EACA9S,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE3kC,KAAI9S,WACNmnF,GAEJ,CAOAC,kBAAAA,CACEt0E,EACA9S,GAEA,OAAO9K,KAAKuiD,qBACV,CAAE3kC,KAAI9S,WACNqnF,GAEJ,CAMAC,QAAAA,CAAStnF,GACP,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWunF,GAChD,CAMAC,sBAAAA,CACExnF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACFynF,GAEJ,CAMAC,qBAAAA,CACE1nF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACF2nF,GAEJ,CAMAC,cAAAA,CACE5nF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAW6nF,GAChD,CAMAC,iBAAAA,CACE9nF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACF+nF,GAEJ,CAMAC,aAAAA,CACEhoF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWioF,GAChD,CAMAC,kBAAAA,CACEloF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACFmoF,GAEJ,CAMAC,gBAAAA,CACEpoF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACFqoF,GAEJ,CAMAC,aAAAA,CACEtoF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWuoF,GAChD,CAMAC,aAAAA,CACExoF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWyoF,GAChD,CAMAC,aAAAA,CACE1oF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAW2oF,GAChD,CAMAC,qBAAAA,CACE5oF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACF6oF,GAEJ,CAMAC,oBAAAA,CACE9oF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACF+oF,GAEJ,CAMAhuC,SAAAA,CAAU/6C,GACR,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWg7C,GAChD,CAMAguC,eAAAA,CACEhpF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAWipF,GAChD,CAMAC,oBAAAA,CACElpF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACFmpF,GAEJ,CAMAC,sBAAAA,CACEppF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACFqpF,GAEJ,CAMAC,2BAAAA,CACEtpF,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEz3C,WACFupF,GAEJ,CAOAC,cAAAA,CACEvwF,EACA+G,GAEA,OAAO9K,KAAKuiD,qBACV,CAAEx+C,OAAM+G,WACRypF,GAEJ,CAMAC,YAAAA,CACE1pF,GAEA,OAAO9K,KAAKuiD,qBAAqB,CAAEz3C,WAAW2pF,GAChD,EAGF,MAAMhiD,GAAaD,GAAiBgU,GAAqB,GAEnDslC,GAA8D,CAClEpqF,KAAM,sCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CF9mC+B,CAChDzF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,aAChBv+B,KAAM,CACJzW,KAAM,aAKsC,CAChD0jD,cAAe,CAAC,UAAW,QAC3B5O,OAAQ,CACNE,eAAgB,OAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CACb,eACA,OACA,OACA,SACA,WACA,YACA,SACA,YEylCJuQ,GACAA,GFxjC8C,CAChDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEqjC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENu5C,GAA8D,CAClEtqF,KAAM,yCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GFlkC+C,CACjDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,eE8jC7BuQ,IAEFD,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENy5C,GAAgE,CACpExqF,KAAM,yCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN25C,GAA4D,CAChE1qF,KAAM,qCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CFhlCgC,CACjDzF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE2kC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN65C,GAA8D,CAClE5qF,KAAM,wCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GFvlCa,CACjDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEklC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN+5C,GAA4D,CAChE9qF,KAAM,0CACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENi6C,GAAqE,CACzEhrF,KAAM,8CACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENm6C,GAAkE,CACtElrF,KAAM,aACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GFjoC+C,CACjDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,eAKU,CACzCgL,cAAe,CAAC,UAAW,MAC3B5O,OAAQ,CACNE,eAAgB,KAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,WAAY,OAAQ,aEmnCtCuQ,GACAA,IAEFD,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENq6C,GAAoE,CACxEprF,KAAM,oCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GF9mC+B,CACjDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEymC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENu6C,GAAiE,CACrEtrF,KAAM,wDACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GFvmC+B,CACjDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEkmC/BsQ,cAAe,CACbC,GACAA,GF/lC6C,CAC/CvF,cAAe,aACf5O,OAAQ,CACNE,eAAgB,aAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,aE4lCVkpD,iBAAkB,CAACD,IACnBrU,WAAUA,IAENy6C,GAAiE,CACrExrF,KAAM,iCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GFvmC+B,CACjDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEkmC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN26C,GAA6D,CACjE1rF,KAAM,2CACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,GF7mCU,CAC5CvF,cAAe,UACf5O,OAAQ,CACNE,eAAgB,UAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,aEwmCVkpD,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN66C,GAAoE,CACxE5rF,KAAM,oCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GFpnC+C,CACjDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,eEgnC7BuQ,GACAA,IAEFD,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN+6C,GAA6D,CACjE9rF,KAAM,kBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENi7C,GAA6D,CACjEhsF,KAAM,WACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GACAA,GF1mC+C,CACjDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,eAKW,CAC1CgL,cAAe,CAAC,UAAW,MAC3B5O,OAAQ,CACNE,eAAgB,KAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,WAAY,OAAQ,cE6lCxCsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENm7C,GAA4D,CAChElsF,KAAM,iBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,KAGNK,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENq7C,GAAiE,CACrEpsF,KAAM,iCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GFvnCgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,eEmnC7BuQ,GACAA,IAEFD,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENu7C,GAAuE,CAC3EtsF,KAAM,6CACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,IAClBD,cAAe,CACbC,GACAA,GACAA,IAEFC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENy7C,GACJ,CACExsF,KAAM,qDACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GFvnC8C,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEonC7BsQ,cAAe,CACbC,GACAA,GACAA,IAEFC,iBAAkB,CAACD,IACnBrU,WAAUA,IAER27C,GAA2D,CAC/D1sF,KAAM,gBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN67C,GAAqD,CACzD5sF,KAAM,eACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GFtpCgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,eAKa,CAC5CgL,cAAe,CAAC,UAAW,SAC3B5O,OAAQ,CACNE,eAAgB,QAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,SAAU,gBEyoC9BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN+7C,GAAoD,CACxD9sF,KAAM,oBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENi8C,GAA0D,CAC9DhtF,KAAM,sBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GF3pCc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEspC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENm8C,GAAyD,CAC7DltF,KAAM,qBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GACAA,GFxpC0C,CAC5CvF,cAAe,CAAC,UAAW,SAC3B5O,OAAQ,CACNE,eAAgB,QAChBv+B,KAAM,CACJzW,KAAM,YAK0C,CACpD0jD,cAAe,CAAC,UAAW,YAC3B5O,OAAQ,CACNE,eAAgB,WAChBv+B,KAAM,CACJzW,KAAM,YAK2C,CACrD0jD,cAAe,CAAC,UAAW,kBAC3B5O,OAAQ,CACNE,eAAgB,kBAChBv+B,KAAM,CACJzW,KAAM,YAKiC,CAC3C0jD,cAAe,CAAC,UAAW,QAC3B5O,OAAQ,CACNE,eAAgB,OAChBv+B,KAAM,CACJzW,KAAM,YAKqC,CAC/C0jD,cAAe,CAAC,UAAW,YAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,aAKwC,CAClD0jD,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEwmC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENyQ,GAAqD,CACzDxhD,KAAM,qBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENq8C,GAAqD,CACzDptF,KAAM,gBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CFxoCiC,CAClDzF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEmoC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENu8C,GAAiE,CACrEttF,KAAM,8BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CF/oCiC,CAClDzF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE0oC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENy8C,GAAmD,CACvDxtF,KAAM,wBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GFzoCgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,eEqoC7BuQ,IAEFD,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN28C,GAAqD,CACzD1tF,KAAM,4BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN68C,GAAsD,CAC1D5tF,KAAM,0BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GFxpCgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEqpC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN+8C,GAAqD,CACzD9tF,KAAM,0CACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GFhqC2B,CAC3CvF,cAAe,SACf5O,OAAQ,CACNE,eAAgB,SAChBqD,UAAU,EACV5hC,KAAM,CACJzW,KAAM,aE2pCVkpD,iBAAkB,CAACD,IACnBrU,WAAUA,IAENi9C,GAAuD,CAC3DhuF,KAAM,4BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GFxqCgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEqqC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENm9C,GAAsD,CAC1DluF,KAAM,wCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENq9C,GAA+D,CACnEpuF,KAAM,kDACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GFrrCgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEkrC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENu9C,GAAkE,CACtEtuF,KAAM,sDACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GFhsCgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE6rC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENy9C,GAAsD,CAC1DxuF,KAAM,iBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GFzsCc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEosC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN09C,GAAqD,CACzDzuF,KAAM,+BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN49C,GAAgE,CACpE3uF,KAAM,4CACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GFztCc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEotC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN89C,GAAuD,CAC3D7uF,KAAM,0BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN+9C,GAAmE,CACvE9uF,KAAM,uCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENi+C,GAAkD,CACtDhvF,KAAM,YACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GACAA,GACAA,GACAA,GFruCgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEkuC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENm+C,GAA0D,CAC9DlvF,KAAM,qBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GF9uCc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEyuC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENq+C,GAAwD,CAC5DpvF,KAAM,0BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GF7uCc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEwuC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENu+C,GAA8D,CAClEtvF,KAAM,iCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GFpvCc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE+uC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENy+C,GAAuD,CAC3DxvF,KAAM,kBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAY,CAAEryC,KAAM,CAAEzW,KAAM,YAE9B,IAAK,CACH8oD,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,IAClBD,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN0+C,GAAiD,CACrDzvF,KAAM,iBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN4+C,GAAuD,CAC3D3vF,KAAM,wBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GFhyCc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE2xC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN8+C,GAA0D,CAC9D7vF,KAAM,2BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GFvyCc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEkyC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENg/C,GAAwD,CAC5D/vF,KAAM,yBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GF9yCc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEyyC/BsQ,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENk/C,GAAoD,CACxDjwF,KAAM,cACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GACAA,GFxzCgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEqzC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENo/C,GAAmD,CACvDnwF,KAAM,mBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENs/C,GAA0D,CAC9DrwF,KAAM,2BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENw/C,GAA0D,CAC9DvwF,KAAM,2BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN0/C,GAA4D,CAChEzwF,KAAM,6BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN4/C,GAAkD,CACtD3wF,KAAM,YACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN8/C,GAAgE,CACpE7wF,KAAM,4BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GFv5C+C,CACjDvF,cAAe,CAAC,UAAW,cAC3B5O,OAAQ,CACNE,eAAgB,cAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,MAAO,OAAQ,YAKe,CAClDgL,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE04C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENggD,GAA+D,CACnE/wF,KAAM,2BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GFv5CgD,CAClDvF,cAAe,CAAC,UAAW,cAC3B5O,OAAQ,CACNE,eAAgB,cAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,MAAO,OAAQ,YEm5CjCuQ,GACAA,GF33CgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEw3C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENkgD,GAAwD,CAC5DjxF,KAAM,mBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GACAA,GFv4CgD,CAClDvF,cAAe,CAAC,UAAW,cAC3B5O,OAAQ,CACNE,eAAgB,cAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,MAAO,OAAQ,YAKc,CACjDgL,cAAe,CAAC,UAAW,QAC3B5O,OAAQ,CACNE,eAAgB,OAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,MAAO,YAKuB,CAClDgL,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEg3C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENogD,GAA2D,CAC/DnxF,KAAM,sBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GACAA,GF/3CgD,CAClDvF,cAAe,CAAC,UAAW,cAC3B5O,OAAQ,CACNE,eAAgB,cAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,MAAO,OAAQ,YAKe,CAClDgL,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEk3C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENsgD,GAAuD,CAC3DrxF,KAAM,kBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GF93Cc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEy3C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENwgD,GAA4D,CAChEvxF,KAAM,uBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GACAA,GFx4CgD,CAClDvF,cAAe,CAAC,UAAW,cAC3B5O,OAAQ,CACNE,eAAgB,cAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,MAAO,OAAQ,YAKe,CAClDgL,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE23C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN0gD,GAA0D,CAC9DzxF,KAAM,qBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GACAA,GF14CgD,CAClDvF,cAAe,CAAC,UAAW,cAC3B5O,OAAQ,CACNE,eAAgB,cAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,MAAO,OAAQ,YAKe,CAClDgL,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE63C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN4gD,GAAuD,CAC3D3xF,KAAM,mBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GFz4CgC,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEo4C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN8gD,GAAuD,CAC3D7xF,KAAM,kBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GACAA,GFn5CgD,CAClDvF,cAAe,CAAC,UAAW,cAC3B5O,OAAQ,CACNE,eAAgB,cAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,MAAO,OAAQ,YAKe,CAClDgL,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEs4C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENghD,GAAuD,CAC3D/xF,KAAM,kBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GFl5Cc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE64C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENkhD,GAA+D,CACnEjyF,KAAM,2BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GF15CgD,CAClDvF,cAAe,CAAC,UAAW,cAC3B5O,OAAQ,CACNE,eAAgB,cAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,MAAO,OAAQ,YAKe,CAClDgL,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE64C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENohD,GAA8D,CAClEnyF,KAAM,yBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GACAA,GF55CgD,CAClDvF,cAAe,CAAC,UAAW,cAC3B5O,OAAQ,CACNE,eAAgB,cAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,MAAO,OAAQ,YEw5CjCuQ,GFz4CgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEs4C/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENqT,GAAmD,CACvDpkD,KAAM,aACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,KAGhBK,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENshD,GAAyD,CAC7DryF,KAAM,mBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CACfF,GACAA,GFh6C+C,CACjDvF,cAAe,CAAC,UAAW,QAC3B5O,OAAQ,CACNE,eAAgB,OAChBv+B,KAAM,CACJzW,KAAM,WACNogB,QAAS,CACP3J,KAAM,CACJzW,KAAM,OACN04C,cAAe,CACb,uBACA,qBACA,iBACA,kBACA,yBACA,mBACA,iBACA,gBACA,wBACA,mBACA,gBACA,kBACA,YACA,UACA,aACA,gBACA,cACA,gBACA,cACA,gBACA,eACA,kBACA,kBACA,aACA,aAMVm+C,iBAAkB,SAG8B,CAChDnzC,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,aAChBv+B,KAAM,CACJzW,KAAM,WACNogB,QAAS,CACP3J,KAAM,CACJzW,KAAM,OACN04C,cAAe,CACb,UACA,WACA,KACA,OACA,SACA,aACA,aAMVm+C,iBAAkB,SEk2ChB5tC,GACAA,GACAA,GACAA,GACAA,GFlyC+C,CACjDvF,cAAe,CAAC,UAAW,cAC3B5O,OAAQ,CACNE,eAAgB,aAChBv+B,KAAM,CACJzW,KAAM,YE+xCRipD,GF7wCgD,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE0wC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENwhD,GAA8D,CAClEvyF,KAAM,yBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAY,CAAEryC,KAAM,CAAEzW,KAAM,aAGhCmpD,gBAAiB,CAACF,GAAkBA,GAAmBA,IACvDD,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN0hD,GAAgE,CACpEzyF,KAAM,2BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GFtxCgC,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBEixC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN4hD,GAAqE,CACzE3yF,KAAM,iCACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAY,CAAEryC,KAAM,CAAEzW,KAAM,YAE9B,IAAK,CACH8oD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAEN8hD,GAAwD,CAC5D7yF,KAAM,0BACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBrU,WAAUA,IAENgiD,GAAsD,CAC1D/yF,KAAM,gBACN+kD,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GFnzCc,CAClDvF,cAAe,CAAC,UAAW,aAC3B5O,OAAQ,CACNE,eAAgB,YAChBv+B,KAAM,CACJzW,KAAM,OACN04C,cAAe,CAAC,UAAW,gBE8yC/BsQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBrU,WAAUA,IAGCkiD,GAAiB,CAC5B7I,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAI,GACAE,GACAE,GACAE,GACAE,GACA1rC,GACA4rC,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAC,GACAE,GACAE,GACAC,GACAE,GACAE,GACAE,GACAE,GACAE,GACAC,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACA/tC,GACAiuC,GACAE,GACAE,GACAE,GACAE,GACAE,wMC1oFK,MAAMG,WAA6B/tE,EACxC5R,WAAAA,CAAY4/E,GACV9tE,MAAM,eAAe8tE,EAAS,OAAS,mBACvC70F,KAAKnC,KAAO,sBACd,EAGF,IAAAi3F,GAAA,IAAAvwF,QAGO,MAAMwwF,GASX9/E,WAAAA,CAAY+/E,EAAkCC,gKAF9CloD,CAAA,KAAS+nD,QAAW,GAGlB90F,KAAK2C,KAAOqyF,EAAQryF,KACpB3C,KAAKk1F,SAAWF,EAAQ50F,KACxBJ,KAAKm1F,SAAWH,EAAQrvE,OACLsvE,KAAdH,aAAL90F,QACF,CAOA,UAAMI,GACJ,GAAqB,MAAjBJ,KAAKk1F,SAAkB,MAAM,IAAIN,IAAqB,GAC1D,OAAO/nD,GAAKioD,GAAL90F,MAAiBo1F,cAAcp1F,KAAKk1F,SAC7C,CAOA,UAAMvvE,GACJ,GAAqB,MAAjB3lB,KAAKm1F,SAAkB,MAAM,IAAIP,IAAqB,GAC1D,OAAO/nD,GAAKioD,GAAL90F,MAAiBo1F,cAAcp1F,KAAKm1F,SAC7C,EC7Ca,MAAMzhB,WAAmB2hB,GAStCpgF,WAAAA,CACEm/B,GACA,cACEU,GAAgB,EAAK,WACrBI,EAAa,EAAC,kBACdC,EAAoB,OACjBrqC,GAKD,CAAC,GAEL,IAAIjD,EAQJkf,MAAMqtB,EAAK,CACTmT,yBAAyB,EACzBC,mBAAoB,CAClB5S,GAAsB,cAVPplB,UACF,MAAX3nB,IACJA,SAAiB7H,KAAK6lD,UAAU6B,IAAOi/B,YADX9+E,IASsB,SAAU,QAASitC,GACnEpB,KACAO,KACAgB,GAAwBC,EAAYC,GACpCV,IAAyBJ,GAAwB,IAAIA,EAAKrmC,cAEzDlD,IAEL9K,KAAK2nD,SAASC,UAAUzU,GAAmB,CAAE0U,MAAO,gBACpD7nD,KAAK2nD,SAASG,aAAa,CAAEjqD,KAAMkqD,GAAAA,sBACnC/nD,KAAK2nD,SAASG,aAAa,CAAEjqD,KAAMmqD,GAAAA,+BAEnChoD,KAAK2nD,SAASG,aAAa,CAAEjqD,KAAM,sBACrC,CAMA,mBAAMu3F,CAAkCE,GACtC,MAAMC,EAAWD,EAAcxkF,QAAQ,KACjCpP,EAAO4zF,EAAczoF,MAAM,GAAiB,IAAd0oF,EAAkBD,EAAcvyF,OAASwyF,GACvE1sD,EAAQysD,EAAczoF,OAAoB,IAAd0oF,EAAkBD,EAAcvyF,OAASwyF,EAAW,GAEhFC,EAAgBb,GAAe3tF,MAAMyuF,IACzC,IAAI3mE,EAAIptB,EACR,GAAe,MAAX+zF,EAAG/zF,KAAc,OAAO,EAC5B,MAAMg0F,EAASD,EAAG/zF,KAAKoe,QAAQ,SAAU,WAAW3X,MAAM,WAC1D,KAAOutF,EAAO3yF,OAAS,GAAG,CACxB,MAAM4yF,EAAOD,EAAOnmB,QACpB,GAAY,MAARomB,EAAc,MAAM,IAAIxsE,EAAc,mCAAmCssE,EAAG/zF,QAChF,IAAKotB,EAAEuM,WAAWs6D,GAAO,OAAO,EAChC7mE,EAAIA,EAAEhP,QAAQ61E,EAAM,IAChBD,EAAO3yF,OAAS,IAAG+rB,EAAIA,EAAEhP,QAAQ,UAAW,IAClD,CACA,MAAa,KAANgP,CAAQ,IAEjB,GAAqB,MAAjB0mE,EACF,MAAM,IAAI1tE,EAAqB,8CAA8CpmB,KAG/E,OAAO1B,KAAKuiD,qBACV,CAAC,EACD,IACKizC,EACH9zF,OACAmlD,cAAe2uC,EAAc3uC,eAAehgD,QAC1C,EAAG06C,mBAAsC,UAAlBA,IAEzByF,gBAAiBn+C,MAAMhG,KAAK,IAAI+yF,gBAAgB/sD,IAAQjiC,KAAI,EAAEvC,EAAKtC,MAAW,CAC5Ew/C,cAAe,CAAC,UAAWl9C,GAC3BsuC,OAAQ,CACNxM,aAAcpkC,EAAMkC,WACpB4uC,eAAgBxuC,EAChBiQ,KAAM,CACJzW,KAAM,gBAMlB,CAEA,0BAAe0kD,CACbszC,EACAL,GAEA,MAAMrsD,QAAiBpiB,MAAMw7B,qBAAqBszC,EAAoBL,GACtE,ODjHG,SAA6BM,GAClC,MAAMC,EAAWD,EACjB,OACoB,MAAlBC,GAAUpzF,MACVkG,MAAMgF,QAAQkoF,EAASpzF,OACvB,SAAUozF,GACV,SAAUA,CAEd,CCyGSC,CAAoB7sD,GAClB,IAAI4rD,GAAe5rD,EAAUnpC,MADOmpC,CAE7C,ECnHF,QAAgB8sD,EAAyBC,KACvCD,EAAK/7B,SACF9wD,GAAa8sF,EAAKv7B,YAAYvxD,KAC/B,IAAM8sF,EAAKx6B,eAEbw6B,EAAKh8B,SACF9wD,GAAa6sF,EAAKt7B,YAAYvxD,KAC/B,IAAM6sF,EAAKv6B,eAGN,KACLu6B,EAAKv6B,aACLw6B,EAAKx6B,YAAY,GChBN,MAAey6B,GAGlBlhF,WAAAA,EAAY,MAAEs1D,GAAQ,IAC9BvqE,KAAKuqE,MAAQA,CACf,CAOArQ,OAAAA,CAEEwV,EAEAzV,GAEA,GAAIj6D,KAAKq8D,cAAe,MAAM,IAAIlvC,GAAsB,wBAC1D,CAKAuuC,UAAAA,GACE,IAAK17D,KAAKq8D,cACR,MAAM,IAAIjvC,GAAuB,kDACrC,CAKUgpE,cAAAA,CAAetvE,GACnB9mB,KAAKuqE,OAAOjhE,QAAQC,IAAI,mBAAoBud,EAClD,CAKA6zC,WAAAA,CAAY7zC,GACN9mB,KAAKuqE,OAAOjhE,QAAQC,IAAI,gBAAiBud,EAC/C,yYC7CwE,IAAAuvE,GAAA,IAAA9xF,QAAA+xF,GAAA,IAAA/xF,QAAAgyF,GAAA,IAAAhyF,QAW3D,MAAMiyF,WAAuCL,GAyB1DlhF,WAAAA,EAAY,OACVtX,EAAM,KACNlB,EAAOqf,OAAM,OACbw+C,EAAM,cACNm8B,EAAa,iBACbC,EAAmBz+B,GAAkB0+B,WAClC7rF,GAQD,CAAC,GACHic,MAAMjc,GA/BRiiC,GAAA,KAAAspD,QAAa,GAEbtpD,GAAA,KAASupD,QAAO,GAEhBvpD,GAAA,KAASwpD,QAAK,GA4BZvpD,GAAKspD,GAALt2F,KAAerC,GACfqvC,GAAKupD,GAALv2F,KAAavD,GACbuD,KAAKs6D,OAASA,EACdt6D,KAAKy2F,cAAgBA,EACrBz2F,KAAK02F,iBAAmBA,CAC1B,CAEAr6B,WAAAA,GACE,OAAwB,MAAjBr8D,KAAK42F,QACd,CAES18B,OAAAA,CACPwV,EACAzV,GAEAlzC,MAAMmzC,QAAQwV,EAAWzV,GACzBj6D,KAAK42F,SAAY9vE,IAA+B,IAAA+vE,EAE9C,GAC0B,iBAAjB/vE,EAAQnkB,MAC0C,SAApC,QAArBk0F,EAAC/vE,EAAQnkB,KAAK43D,eAAO,IAAAs8B,EAAAA,EAAI/vE,EAAQnkB,KAAKA,MAAM43D,SAE5C,OACF,GAAmB,MAAfv6D,KAAKs6D,QAAkBt6D,KAAKs6D,SAAWxzC,EAAQwzC,OAAQ,OAC3D,GAAoB,MAAhBztB,GAAKypD,GAALt2F,OAAwB6sC,GAAKypD,GAALt2F,QAAiB8mB,EAAQ/b,OAAQ,OAC7D/K,KAAKo2F,eAAetvE,GACpB,IAAI,KAAEnkB,GAASmkB,EACf,GAAiB,MAAbnkB,EAAK2R,KAAc,CACrB,GAAIwS,EAAQnkB,KAAK2R,OAAStU,KAAK02F,iBAAkB,OACjD/zF,EAAOA,EAAKA,IACd,CACA+sE,EAAU/sE,EAAMmkB,EAAQwzC,OAAQxzC,EAAQ/b,OAAO,EAEjD8hC,GAAK0pD,GAALv2F,MAAWykE,iBAAiB,UAAWzkE,KAAK42F,UAC5C5pD,GAAKqpD,GAALr2F,KAAqBi6D,EACvB,CAESyB,UAAAA,GAEP,GADA30C,MAAM20C,aACe,MAAjB17D,KAAK42F,UAA0C,MAAtB/pD,GAAKwpD,GAALr2F,MAC3B,MAAM,IAAImpB,EAAc,2CAE1B0jB,GAAK0pD,GAALv2F,MAAWwkE,oBAAoB,UAAWxkE,KAAK42F,iBACxC52F,KAAK42F,SACZ/pD,GAAKwpD,GAALr2F,MAAkBxB,KAAlBwB,MACAgtC,GAAKqpD,GAALr2F,UAAqB0G,EACvB,CAESi0D,WAAAA,CAAYvxD,GAAgB,IAAA0tF,EACnC,GAAoB,MAAhBjqD,GAAKypD,GAALt2F,MAAsB,MAAM,IAAIqtB,GAAmB,sCACvD,MAAMvG,EAAgC,MAAtB9mB,KAAKy2F,cAAwB,CAAEniF,KAAMtU,KAAKy2F,cAAe9zF,KAAMyG,GAAQA,EACvF2d,MAAM4zC,YAAY7zC,GAClB+lB,GAAKypD,GAALt2F,MAAa+2F,YAAYjwE,EAAoB,QAAbgwE,EAAE92F,KAAKs6D,cAAM,IAAAw8B,EAAAA,EAAI,IACnD,ECtFF,QACE98B,EACAg9B,KAEA,GAAc,MAAVl7E,OACF,MAAM,IAAI6M,EACR,wEAEJ,MAAMsuE,EAAmB,CAAC,EAiC1B,OA/BAj9B,EAAWE,SACT,EACInsD,SAAQwxB,UACV+6B,EACAvvD,KAEA,GAAIgD,IAAWqqD,GAAQuD,gBAAwC,MAAtBs7B,EAAQ13D,EAAO3hB,IAAa,OAErE,MAAM8iD,EAAS,CACb1lB,KAAMzb,EACN23D,aAAAA,GACE,OAAO,IAAIV,GAA+B,CACxC74F,OAAQoN,KACY,cAAhBw0B,EAAOjrB,KACP,CACEmiF,cAAex+B,GAAkBk/B,WACjCT,iBAAkBz+B,GAAkB0+B,WACd,SAAlB76E,OAAOw+C,QAAqB,CAAEA,OAAQx+C,OAAOw+C,SAEnD,CACEA,OAAQ/6B,EAAO+6B,SAGzB,GAEF28B,EAAQv2B,EAAO1lB,KAAKp9B,IAAM8iD,EAC1Bs2B,EAAW,CAAEC,UAASG,UAAW12B,GAAS,IAE5C,SAGK,IAAM1G,EAAW0B,YACzB,mPC3DD,IAAA27B,GAAA,IAAA9yF,QAKe,MAAM+yF,WAAiCnB,GAQpDlhF,WAAAA,EAAY,KAAEyiB,KAAS5sB,cACrBic,MAAMjc,UANE,qHAAV,OAAAusF,eAOEr3F,KAAK03B,KAAOA,CACd,CAESgkC,UAAAA,GAGP,GAFA30C,MAAM20C,aACN17D,KAAK03B,KAAKgkC,aACa,MAAnB7uB,GAAKwqD,GAALr3F,MAAyB,MAAM,IAAIopB,EACvCppB,KAAK03B,KAAKg4C,UAAUG,eAAehjC,GAAKwqD,GAALr3F,MAAgB,IACnDA,KAAK03B,KAAKuiC,aAAa4V,eAAehjC,GAAKwqD,GAALr3F,MAAgB,IACtDgtC,GAAKqqD,GAALr3F,UAAkB0G,EACpB,CAESwzD,OAAAA,CACPwV,EACAzV,GAEAlzC,MAAMmzC,QAAQwV,EAAWzV,GACzBjtB,GAAKqqD,GAALr3F,KAAkB,CAChB,CAAC8mB,EAAS4Q,KAAS,IAAA6/D,EACjBv3F,KAAKo2F,eAAetvE,GAEpB4oD,EAAU5oD,EAAyB,QAAlBywE,EAAE7/D,EAAK++C,QAAQriC,WAAG,IAAAmjD,EAAAA,EAAI,GAAI7/D,EAAK,EAElDuiC,IAEFj6D,KAAK03B,KAAKg4C,UAAU8nB,YAAY3qD,GAAKwqD,GAALr3F,MAAgB,IAChDA,KAAK03B,KAAKuiC,aAAau9B,YAAY3qD,GAAKwqD,GAALr3F,MAAgB,GACrD,CAES26D,WAAAA,CAAY7zC,GACnBC,MAAM4zC,YAAY7zC,GAClB9mB,KAAK03B,KAAKq/D,YAAYjwE,EACxB,CAEAu1C,WAAAA,GACE,OAA0B,MAAnBxvB,GAAKwqD,GAALr3F,KACT","sources":["webpack://Aeternity/webpack/universalModuleDefinition","webpack://Aeternity/external umd \"buffer\"","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-well-known.js","webpack://Aeternity/./node_modules/core-js-pure/internals/a-possible-prototype.js","webpack://Aeternity/./node_modules/core-js-pure/stable/symbol/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-string.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterator-define.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","webpack://Aeternity/./node_modules/core-js-pure/internals/well-known-symbol-define.js","webpack://Aeternity/./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack://Aeternity/./node_modules/sha.js/hash.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-property-key.js","webpack://Aeternity/./node_modules/core-js-pure/internals/weak-map-basic-detection.js","webpack://Aeternity/./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","webpack://Aeternity/./node_modules/core-js-pure/internals/length-of-array-like.js","webpack://Aeternity/./node_modules/core-js-pure/internals/ordinary-to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-iteration.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.key-for.js","webpack://Aeternity/external umd \"events\"","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.function.metadata.js","webpack://Aeternity/./node_modules/core-js-pure/internals/environment-v8-version.js","webpack://Aeternity/./node_modules/blakejs/util.js","webpack://Aeternity/external umd \"@azure/core-rest-pipeline\"","webpack://Aeternity/external umd \"@azure/core-client\"","webpack://Aeternity/./node_modules/core-js-pure/internals/export.js","webpack://Aeternity/./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://Aeternity/./node_modules/core-js-pure/internals/math-trunc.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.metadata.js","webpack://Aeternity/./node_modules/core-js-pure/internals/string-multibyte.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-bind-native.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://Aeternity/external umd \"tweetnacl\"","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.species.js","webpack://Aeternity/./node_modules/core-js-pure/es/symbol/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.custom-matcher.js","webpack://Aeternity/./node_modules/core-js-pure/es/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-well-known-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-array.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","webpack://Aeternity/external umd \"eventemitter3\"","webpack://Aeternity/./node_modules/core-js-pure/internals/function-uncurry-this.js","webpack://Aeternity/./node_modules/core-js-pure/es/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/path.js","webpack://Aeternity/./node_modules/core-js-pure/internals/add-to-unscopables.js","webpack://Aeternity/./node_modules/core-js-pure/internals/a-callable.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-define-properties.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.replace.js","webpack://Aeternity/./node_modules/core-js-pure/full/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-callable.js","webpack://Aeternity/./node_modules/core-js-pure/full/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-uncurry-this-clause.js","webpack://Aeternity/./node_modules/core-js-pure/internals/html.js","webpack://Aeternity/./node_modules/core-js-pure/internals/shared-key.js","webpack://Aeternity/./node_modules/core-js-pure/internals/define-global-property.js","webpack://Aeternity/./node_modules/core-js-pure/modules/web.dom-collections.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-is-registered.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.has-instance.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack://Aeternity/./node_modules/core-js-pure/internals/inspect-source.js","webpack://Aeternity/external umd \"@aeternity/aepp-calldata\"","webpack://Aeternity/./node_modules/safe-buffer/index.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-keys.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-keys-internal.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-length.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.for.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.unscopables.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.match-all.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-registered.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-slice.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-define-to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.constructor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterators.js","webpack://Aeternity/./node_modules/core-js-pure/es/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-call.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-registered-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/internals/classof.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.async-iterator.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-species-constructor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-possible-prototype.js","webpack://Aeternity/./node_modules/sha.js/sha256.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.match.js","webpack://Aeternity/./node_modules/core-js-pure/stable/symbol/index.js","webpack://Aeternity/external umd \"json-bigint\"","webpack://Aeternity/./node_modules/blakejs/blake2b.js","webpack://Aeternity/./node_modules/core-js-pure/internals/require-object-coercible.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-define-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-registry-detection.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-includes.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.js","webpack://Aeternity/external umd \"bs58\"","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.split.js","webpack://Aeternity/./node_modules/core-js-pure/internals/try-to-string.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.observable.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","webpack://Aeternity/./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-absolute-index.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-to-string.js","webpack://Aeternity/./node_modules/core-js-pure/internals/internal-state.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/full/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterators-core.js","webpack://Aeternity/external umd \"tweetnacl-auth\"","webpack://Aeternity/./node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.search.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-constructor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-integer-or-infinity.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/get-built-in.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/actual/symbol/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","webpack://Aeternity/./node_modules/core-js-pure/internals/classof-raw.js","webpack://Aeternity/./node_modules/core-js-pure/internals/shared.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/global-this.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack://Aeternity/external umd \"canonicalize\"","webpack://Aeternity/./node_modules/core-js-pure/internals/function-apply.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/actual/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/shared-store.js","webpack://Aeternity/external umd \"bignumber.js\"","webpack://Aeternity/./node_modules/core-js-pure/internals/well-known-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/uid.js","webpack://Aeternity/external umd \"rlp\"","webpack://Aeternity/./node_modules/core-js-pure/internals/an-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/get-json-replacer-function.js","webpack://Aeternity/./node_modules/inherits/inherits_browser.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.object.define-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/environment-user-agent.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-name.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.metadata-key.js","webpack://Aeternity/./node_modules/core-js-pure/internals/indexed-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-species-create.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.json.to-string-tag.js","webpack://Aeternity/./node_modules/core-js-pure/stable/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.string.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-null-or-undefined.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.dispose.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-method-has-species-support.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterator-create-constructor.js","webpack://Aeternity/external umd \"isomorphic-ws\"","webpack://Aeternity/./node_modules/core-js-pure/actual/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-indexed-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-pure.js","webpack://Aeternity/./node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-forced.js","webpack://Aeternity/./node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","webpack://Aeternity/./node_modules/core-js-pure/internals/define-built-in.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-create.js","webpack://Aeternity/./node_modules/core-js-pure/stable/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-is-prototype-of.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-bind-context.js","webpack://Aeternity/external umd \"@scure/bip39\"","webpack://Aeternity/./node_modules/core-js-pure/internals/hidden-keys.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.array.concat.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","webpack://Aeternity/./node_modules/core-js-pure/internals/v8-prototype-define-bug.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.matcher.js","webpack://Aeternity/./node_modules/core-js-pure/internals/fails.js","webpack://Aeternity/external umd \"websocket\"","webpack://Aeternity/./node_modules/core-js-pure/internals/object-set-prototype-of.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-is-well-known.js","webpack://Aeternity/./node_modules/core-js-pure/internals/define-built-in-accessor.js","webpack://Aeternity/./node_modules/core-js-pure/full/symbol/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/dom-iterables.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-object.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.array.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/internals/get-method.js","webpack://Aeternity/./node_modules/core-js-pure/internals/descriptors.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-iter-result-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/document-create-element.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","webpack://Aeternity/./node_modules/core-js-pure/actual/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.json.stringify.js","webpack://Aeternity/./node_modules/core-js-pure/internals/has-own-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-constructor-detection.js","webpack://Aeternity/webpack/bootstrap","webpack://Aeternity/webpack/runtime/compat get default export","webpack://Aeternity/webpack/runtime/define property getters","webpack://Aeternity/webpack/runtime/global","webpack://Aeternity/webpack/runtime/hasOwnProperty shorthand","webpack://Aeternity/webpack/runtime/make namespace object","webpack://Aeternity/./src/utils/bignumber.ts","webpack://Aeternity/./src/utils/errors.ts","webpack://Aeternity/./src/utils/amount-formatter.ts","webpack://Aeternity/./src/utils/other.ts","webpack://Aeternity/./src/utils/wrap-proxy.ts","webpack://Aeternity/./src/utils/encoder-types.ts","webpack://Aeternity/./src/utils/encoder.ts","webpack://Aeternity/./src/utils/crypto.ts","webpack://Aeternity/./src/utils/bytes.ts","webpack://Aeternity/./src/tx/builder/constants.ts","webpack://Aeternity/./src/tx/builder/helpers.ts","webpack://Aeternity/./src/chain.ts","webpack://Aeternity/./src/tx/builder/field-types/ct-version.ts","webpack://Aeternity/./src/tx/builder/field-types/abi-version.ts","webpack://Aeternity/./src/tx/builder/field-types/address.ts","webpack://Aeternity/./src/tx/builder/field-types/array.ts","webpack://Aeternity/./src/tx/builder/field-types/u-int.ts","webpack://Aeternity/./src/tx/builder/field-types/coin-amount.ts","webpack://Aeternity/./src/tx/builder/field-types/encoded.ts","webpack://Aeternity/./src/tx/builder/field-types/entry.ts","webpack://Aeternity/./src/tx/builder/field-types/enumeration.ts","webpack://Aeternity/./src/tx/builder/field-types/gas-price.ts","webpack://Aeternity/./src/tx/builder/field-types/fee.ts","webpack://Aeternity/./src/tx/builder/field-types/short-u-int.ts","webpack://Aeternity/./src/tx/builder/field-types/gas-limit.ts","webpack://Aeternity/./src/tx/builder/field-types/field.ts","webpack://Aeternity/./src/tx/builder/field-types/name.ts","webpack://Aeternity/./src/tx/builder/field-types/name-fee.ts","webpack://Aeternity/./src/tx/builder/field-types/name-id.ts","webpack://Aeternity/./src/tx/builder/field-types/nonce.ts","webpack://Aeternity/./src/tx/builder/field-types/pointers.ts","webpack://Aeternity/./src/tx/builder/field-types/query-fee.ts","webpack://Aeternity/./src/tx/builder/field-types/raw.ts","webpack://Aeternity/./src/tx/builder/field-types/short-u-int-const.ts","webpack://Aeternity/./src/tx/builder/field-types/string.ts","webpack://Aeternity/./src/tx/builder/field-types/transaction.ts","webpack://Aeternity/./src/tx/builder/field-types/ttl.ts","webpack://Aeternity/./src/tx/builder/field-types/with-default.ts","webpack://Aeternity/./src/tx/builder/field-types/with-formatting.ts","webpack://Aeternity/./src/tx/builder/entry/constants.ts","webpack://Aeternity/./src/tx/builder/schema.ts","webpack://Aeternity/./src/tx/builder/common.ts","webpack://Aeternity/./src/tx/builder/field-types/boolean.ts","webpack://Aeternity/./src/tx/builder/field-types/map.ts","webpack://Aeternity/./src/tx/builder/field-types/mptree.ts","webpack://Aeternity/./src/tx/builder/field-types/wrapped.ts","webpack://Aeternity/./src/tx/builder/entry/schema.ts","webpack://Aeternity/./src/tx/builder/entry/index.ts","webpack://Aeternity/./src/tx/builder/index.ts","webpack://Aeternity/./src/utils/semver-satisfies.ts","webpack://Aeternity/./src/utils/autorest.ts","webpack://Aeternity/./src/apis/node/models/mappers.ts","webpack://Aeternity/./src/apis/node/models/parameters.ts","webpack://Aeternity/./src/apis/node/node.ts","webpack://Aeternity/./src/Node.ts","webpack://Aeternity/./src/tx/transaction-signer.ts","webpack://Aeternity/./src/account/Base.ts","webpack://Aeternity/./src/utils/typed-data.ts","webpack://Aeternity/./src/account/Memory.ts","webpack://Aeternity/./src/tx/execution-cost.ts","webpack://Aeternity/./src/tx/validator.ts","webpack://Aeternity/./src/send-transaction.ts","webpack://Aeternity/./src/utils/jwt.ts","webpack://Aeternity/./src/tx/builder/delegation/schema.ts","webpack://Aeternity/./src/tx/builder/delegation/index.ts","webpack://Aeternity/./src/aens.ts","webpack://Aeternity/./src/contract/Contract.ts","webpack://Aeternity/./src/oracle/OracleBase.ts","webpack://Aeternity/./src/oracle/Oracle.ts","webpack://Aeternity/./src/oracle/OracleClient.ts","webpack://Aeternity/./src/spend.ts","webpack://Aeternity/./src/contract/ga.ts","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/toPropertyKey.js","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/toPrimitive.js","webpack://Aeternity/./src/AeSdkMethods.ts","webpack://Aeternity/./src/AeSdkBase.ts","webpack://Aeternity/./src/AeSdk.ts","webpack://Aeternity/./src/aepp-wallet-communication/schema.ts","webpack://Aeternity/./src/account/Rpc.ts","webpack://Aeternity/./src/aepp-wallet-communication/rpc/RpcClient.ts","webpack://Aeternity/./src/AeSdkAepp.ts","webpack://Aeternity/./src/aepp-wallet-communication/rpc/types.ts","webpack://Aeternity/./src/aepp-wallet-communication/WalletConnectorFrameBase.ts","webpack://Aeternity/./src/aepp-wallet-communication/WalletConnectorFrame.ts","webpack://Aeternity/./src/aepp-wallet-communication/WalletConnectorFrameWithNode.ts","webpack://Aeternity/./src/utils/json-big.ts","webpack://Aeternity/./src/AeSdkWallet.ts","webpack://Aeternity/./src/account/BaseFactory.ts","webpack://Aeternity/./src/account/MnemonicFactory.ts","webpack://Aeternity/./src/account/Generalized.ts","webpack://Aeternity/./src/account/Ledger.ts","webpack://Aeternity/./src/account/LedgerFactory.ts","webpack://Aeternity/./src/account/Metamask.ts","webpack://Aeternity/./src/account/MetamaskFactory.ts","webpack://Aeternity/./src/contract/compiler/Base.ts","webpack://Aeternity/./src/apis/compiler/models/mappers.ts","webpack://Aeternity/./src/apis/compiler/models/parameters.ts","webpack://Aeternity/./src/apis/compiler/compiler.ts","webpack://Aeternity/./src/contract/compiler/Http.ts","webpack://Aeternity/./src/utils/string.ts","webpack://Aeternity/./src/channel/internal.ts","webpack://Aeternity/./src/channel/handlers.ts","webpack://Aeternity/./src/channel/Base.ts","webpack://Aeternity/./src/channel/Spend.ts","webpack://Aeternity/./src/channel/Contract.ts","webpack://Aeternity/./src/MiddlewareSubscriber.ts","webpack://Aeternity/./src/apis/middleware/models/parameters.ts","webpack://Aeternity/./src/apis/middleware/models/mappers.ts","webpack://Aeternity/./src/apis/middleware/middleware.ts","webpack://Aeternity/./src/utils/MiddlewarePage.ts","webpack://Aeternity/./src/Middleware.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection-proxy.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection/Browser.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection/BrowserWindowMessage.ts","webpack://Aeternity/./src/aepp-wallet-communication/wallet-detector.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection/BrowserRuntime.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"bignumber.js\"), require(\"@azure/core-rest-pipeline\"), require(\"buffer\"), require(\"tweetnacl\"), require(\"bs58\"), require(\"rlp\"), require(\"@azure/core-client\"), require(\"@aeternity/aepp-calldata\"), require(\"canonicalize\"), require(\"eventemitter3\"), require(\"json-bigint\"), require(\"@scure/bip39\"), require(\"tweetnacl-auth\"), require(\"websocket\"), require(\"events\"), require(\"isomorphic-ws\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"bignumber.js\", \"@azure/core-rest-pipeline\", \"buffer\", \"tweetnacl\", \"bs58\", \"rlp\", \"@azure/core-client\", \"@aeternity/aepp-calldata\", \"canonicalize\", \"eventemitter3\", \"json-bigint\", \"@scure/bip39\", \"tweetnacl-auth\", \"websocket\", \"events\", \"isomorphic-ws\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Aeternity\"] = factory(require(\"bignumber.js\"), require(\"@azure/core-rest-pipeline\"), require(\"buffer\"), require(\"tweetnacl\"), require(\"bs58\"), require(\"rlp\"), require(\"@azure/core-client\"), require(\"@aeternity/aepp-calldata\"), require(\"canonicalize\"), require(\"eventemitter3\"), require(\"json-bigint\"), require(\"@scure/bip39\"), require(\"tweetnacl-auth\"), require(\"websocket\"), require(\"events\"), require(\"isomorphic-ws\"));\n\telse\n\t\troot[\"Aeternity\"] = factory(root[\"bignumber.js\"], root[\"@azure/core-rest-pipeline\"], root[\"buffer\"], root[\"tweetnacl\"], root[\"bs58\"], root[\"rlp\"], root[\"@azure/core-client\"], root[\"@aeternity/aepp-calldata\"], root[\"canonicalize\"], root[\"eventemitter3\"], root[\"json-bigint\"], root[\"@scure/bip39\"], root[\"tweetnacl-auth\"], root[\"websocket\"], root[\"events\"], root[\"isomorphic-ws\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__6168__, __WEBPACK_EXTERNAL_MODULE__833__, __WEBPACK_EXTERNAL_MODULE__18__, __WEBPACK_EXTERNAL_MODULE__1655__, __WEBPACK_EXTERNAL_MODULE__4578__, __WEBPACK_EXTERNAL_MODULE__6514__, __WEBPACK_EXTERNAL_MODULE__1081__, __WEBPACK_EXTERNAL_MODULE__2853__, __WEBPACK_EXTERNAL_MODULE__6016__, __WEBPACK_EXTERNAL_MODULE__1891__, __WEBPACK_EXTERNAL_MODULE__4146__, __WEBPACK_EXTERNAL_MODULE__8380__, __WEBPACK_EXTERNAL_MODULE__5196__, __WEBPACK_EXTERNAL_MODULE__8963__, __WEBPACK_EXTERNAL_MODULE__761__, __WEBPACK_EXTERNAL_MODULE__7250__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__18__;","'use strict';\nvar $ = require('../internals/export');\nvar isWellKnownSymbol = require('../internals/symbol-is-well-known');\n\n// `Symbol.isWellKnown` method\n// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, name: 'isWellKnownSymbol', forced: true }, {\n  isWellKnown: isWellKnownSymbol\n});\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n  if (isPossiblePrototype(argument)) return argument;\n  throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar parent = require('../../es/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n  if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n  return $String(argument);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n  createIteratorConstructor(IteratorConstructor, NAME, next);\n\n  var getIterationMethod = function (KIND) {\n    if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n    if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n    switch (KIND) {\n      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n    }\n\n    return function () { return new IteratorConstructor(this); };\n  };\n\n  var TO_STRING_TAG = NAME + ' Iterator';\n  var INCORRECT_VALUES_NAME = false;\n  var IterablePrototype = Iterable.prototype;\n  var nativeIterator = IterablePrototype[ITERATOR]\n    || IterablePrototype['@@iterator']\n    || DEFAULT && IterablePrototype[DEFAULT];\n  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n  var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n  var CurrentIteratorPrototype, methods, KEY;\n\n  // fix native\n  if (anyNativeIterator) {\n    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n    if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (setPrototypeOf) {\n          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n          defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n        }\n      }\n      // Set @@toStringTag to native iterators\n      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n    }\n  }\n\n  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n  if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n      createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n    } else {\n      INCORRECT_VALUES_NAME = true;\n      defaultIterator = function values() { return call(nativeIterator, this); };\n    }\n  }\n\n  // export additional methods\n  if (DEFAULT) {\n    methods = {\n      values: getIterationMethod(VALUES),\n      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n      entries: getIterationMethod(ENTRIES)\n    };\n    if (FORCED) for (KEY in methods) {\n      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n        defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n      }\n    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n  }\n\n  // define iterator\n  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n    defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n  }\n  Iterators[NAME] = defaultIterator;\n\n  return methods;\n};\n","'use strict';\n// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\ndefineWellKnownSymbol('replaceAll');\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n  var Symbol = path.Symbol || (path.Symbol = {});\n  if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n    value: wrappedWellKnownSymbolModule.f(NAME)\n  });\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n  this._block = Buffer.alloc(blockSize)\n  this._finalSize = finalSize\n  this._blockSize = blockSize\n  this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n  if (typeof data === 'string') {\n    enc = enc || 'utf8'\n    data = Buffer.from(data, enc)\n  }\n\n  var block = this._block\n  var blockSize = this._blockSize\n  var length = data.length\n  var accum = this._len\n\n  for (var offset = 0; offset < length;) {\n    var assigned = accum % blockSize\n    var remainder = Math.min(length - offset, blockSize - assigned)\n\n    for (var i = 0; i < remainder; i++) {\n      block[assigned + i] = data[offset + i]\n    }\n\n    accum += remainder\n    offset += remainder\n\n    if ((accum % blockSize) === 0) {\n      this._update(block)\n    }\n  }\n\n  this._len += length\n  return this\n}\n\nHash.prototype.digest = function (enc) {\n  var rem = this._len % this._blockSize\n\n  this._block[rem] = 0x80\n\n  // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n  // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n  this._block.fill(0, rem + 1)\n\n  if (rem >= this._finalSize) {\n    this._update(this._block)\n    this._block.fill(0)\n  }\n\n  var bits = this._len * 8\n\n  // uint32\n  if (bits <= 0xffffffff) {\n    this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n  // uint64\n  } else {\n    var lowBits = (bits & 0xffffffff) >>> 0\n    var highBits = (bits - lowBits) / 0x100000000\n\n    this._block.writeUInt32BE(highBits, this._blockSize - 8)\n    this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n  }\n\n  this._update(this._block)\n  var hash = this._hash()\n\n  return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n  throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n  var IS_MAP = TYPE === 1;\n  var IS_FILTER = TYPE === 2;\n  var IS_SOME = TYPE === 3;\n  var IS_EVERY = TYPE === 4;\n  var IS_FIND_INDEX = TYPE === 6;\n  var IS_FILTER_REJECT = TYPE === 7;\n  var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n  return function ($this, callbackfn, that, specificCreate) {\n    var O = toObject($this);\n    var self = IndexedObject(O);\n    var length = lengthOfArrayLike(self);\n    var boundFunction = bind(callbackfn, that);\n    var index = 0;\n    var create = specificCreate || arraySpeciesCreate;\n    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n    var value, result;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      value = self[index];\n      result = boundFunction(value, index, O);\n      if (TYPE) {\n        if (IS_MAP) target[index] = result; // map\n        else if (result) switch (TYPE) {\n          case 3: return true;              // some\n          case 5: return value;             // find\n          case 6: return index;             // findIndex\n          case 2: push(target, value);      // filter\n        } else switch (TYPE) {\n          case 4: return false;             // every\n          case 7: push(target, value);      // filterReject\n        }\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.forEach` method\n  // https://tc39.es/ecma262/#sec-array.prototype.foreach\n  forEach: createMethod(0),\n  // `Array.prototype.map` method\n  // https://tc39.es/ecma262/#sec-array.prototype.map\n  map: createMethod(1),\n  // `Array.prototype.filter` method\n  // https://tc39.es/ecma262/#sec-array.prototype.filter\n  filter: createMethod(2),\n  // `Array.prototype.some` method\n  // https://tc39.es/ecma262/#sec-array.prototype.some\n  some: createMethod(3),\n  // `Array.prototype.every` method\n  // https://tc39.es/ecma262/#sec-array.prototype.every\n  every: createMethod(4),\n  // `Array.prototype.find` method\n  // https://tc39.es/ecma262/#sec-array.prototype.find\n  find: createMethod(5),\n  // `Array.prototype.findIndex` method\n  // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n  findIndex: createMethod(6),\n  // `Array.prototype.filterReject` method\n  // https://github.com/tc39/proposal-array-filtering\n  filterReject: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n    if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n  }\n});\n","module.exports = __WEBPACK_EXTERNAL_MODULE__761__;","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar METADATA = wellKnownSymbol('metadata');\nvar FunctionPrototype = Function.prototype;\n\n// Function.prototype[@@metadata]\n// https://github.com/tc39/proposal-decorator-metadata\nif (FunctionPrototype[METADATA] === undefined) {\n  defineProperty(FunctionPrototype, METADATA, {\n    value: null\n  });\n}\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","const ERROR_MSG_INPUT = 'Input must be an string, Buffer or Uint8Array'\n\n// For convenience, let people hash a string, not just a Uint8Array\nfunction normalizeInput (input) {\n  let ret\n  if (input instanceof Uint8Array) {\n    ret = input\n  } else if (typeof input === 'string') {\n    const encoder = new TextEncoder()\n    ret = encoder.encode(input)\n  } else {\n    throw new Error(ERROR_MSG_INPUT)\n  }\n  return ret\n}\n\n// Converts a Uint8Array to a hexadecimal string\n// For example, toHex([255, 0, 255]) returns \"ff00ff\"\nfunction toHex (bytes) {\n  return Array.prototype.map\n    .call(bytes, function (n) {\n      return (n < 16 ? '0' : '') + n.toString(16)\n    })\n    .join('')\n}\n\n// Converts any value in [0...2^32-1] to an 8-character hex string\nfunction uint32ToHex (val) {\n  return (0x100000000 + val).toString(16).substring(1)\n}\n\n// For debugging: prints out hash state in the same format as the RFC\n// sample computation exactly, so that you can diff\nfunction debugPrint (label, arr, size) {\n  let msg = '\\n' + label + ' = '\n  for (let i = 0; i < arr.length; i += 2) {\n    if (size === 32) {\n      msg += uint32ToHex(arr[i]).toUpperCase()\n      msg += ' '\n      msg += uint32ToHex(arr[i + 1]).toUpperCase()\n    } else if (size === 64) {\n      msg += uint32ToHex(arr[i + 1]).toUpperCase()\n      msg += uint32ToHex(arr[i]).toUpperCase()\n    } else throw new Error('Invalid size ' + size)\n    if (i % 6 === 4) {\n      msg += '\\n' + new Array(label.length + 4).join(' ')\n    } else if (i < arr.length - 2) {\n      msg += ' '\n    }\n  }\n  console.log(msg)\n}\n\n// For performance testing: generates N bytes of input, hashes M times\n// Measures and prints MB/second hash performance each time\nfunction testSpeed (hashFn, N, M) {\n  let startMs = new Date().getTime()\n\n  const input = new Uint8Array(N)\n  for (let i = 0; i < N; i++) {\n    input[i] = i % 256\n  }\n  const genMs = new Date().getTime()\n  console.log('Generated random input in ' + (genMs - startMs) + 'ms')\n  startMs = genMs\n\n  for (let i = 0; i < M; i++) {\n    const hashHex = hashFn(input)\n    const hashMs = new Date().getTime()\n    const ms = hashMs - startMs\n    startMs = hashMs\n    console.log('Hashed in ' + ms + 'ms: ' + hashHex.substring(0, 20) + '...')\n    console.log(\n      Math.round((N / (1 << 20) / (ms / 1000)) * 100) / 100 + ' MB PER SECOND'\n    )\n  }\n}\n\nmodule.exports = {\n  normalizeInput: normalizeInput,\n  toHex: toHex,\n  debugPrint: debugPrint,\n  testSpeed: testSpeed\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__833__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1081__;","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n  var Wrapper = function (a, b, c) {\n    if (this instanceof Wrapper) {\n      switch (arguments.length) {\n        case 0: return new NativeConstructor();\n        case 1: return new NativeConstructor(a);\n        case 2: return new NativeConstructor(a, b);\n      } return new NativeConstructor(a, b, c);\n    } return apply(NativeConstructor, this, arguments);\n  };\n  Wrapper.prototype = NativeConstructor.prototype;\n  return Wrapper;\n};\n\n/*\n  options.target         - name of the target object\n  options.global         - target is the global object\n  options.stat           - export as static methods of target\n  options.proto          - export as prototype methods of target\n  options.real           - real prototype method for the `pure` version\n  options.forced         - export even if the native feature is available\n  options.bind           - bind methods to the target, required for the `pure` version\n  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe         - use the simple assignment of property instead of delete + defineProperty\n  options.sham           - add a flag to not completely full polyfills\n  options.enumerable     - export as enumerable property\n  options.dontCallGetSet - prevent calling a getter on target\n  options.name           - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var PROTO = options.proto;\n\n  var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n  var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n  var targetPrototype = target.prototype;\n\n  var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n  var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n  for (key in source) {\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contains in native\n    USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n    targetProperty = target[key];\n\n    if (USE_NATIVE) if (options.dontCallGetSet) {\n      descriptor = getOwnPropertyDescriptor(nativeSource, key);\n      nativeProperty = descriptor && descriptor.value;\n    } else nativeProperty = nativeSource[key];\n\n    // export native or implementation\n    sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n    if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n    // bind methods to global for calling from export context\n    if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n    // wrap global constructors for prevent changes in this version\n    else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n    // make static versions for prototype methods\n    else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n    // default case\n    else resultProperty = sourceProperty;\n\n    // add a flag to not completely full polyfills\n    if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(resultProperty, 'sham', true);\n    }\n\n    createNonEnumerableProperty(target, key, resultProperty);\n\n    if (PROTO) {\n      VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n      if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n        createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n      }\n      // export virtual prototype methods\n      createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n      // export real prototype methods\n      if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n        createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n      }\n    }\n  }\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n  !Symbol.sham &&\n  typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = toString(requireObjectCoercible($this));\n    var position = toIntegerOrInfinity(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = charCodeAt(S, position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING\n          ? charAt(S, position)\n          : first\n        : CONVERT_TO_STRING\n          ? stringSlice(S, position, position + 2)\n          : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n  codeAt: createMethod(false),\n  // `String.prototype.at` method\n  // https://github.com/mathiasbynens/String.prototype.at\n  charAt: createMethod(true)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-function-prototype-bind -- safe\n  var test = (function () { /* empty */ }).bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__1655__;","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","'use strict';\nrequire('../../modules/es.date.to-primitive');\nrequire('../../modules/es.symbol.to-primitive');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('toPrimitive');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.customMatcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('customMatcher');\n","'use strict';\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/es.symbol.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar isWellKnownSymbol = require('../internals/symbol-is-well-known');\n\n// `Symbol.isWellKnownSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, forced: true }, {\n  isWellKnownSymbol: isWellKnownSymbol\n});\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n  return classof(argument) === 'Array';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n  try {\n    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n    return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n  } catch (error) { /* empty */ }\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__1891__;","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n  return function () {\n    return call.apply(fn, arguments);\n  };\n};\n","'use strict';\nrequire('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n  return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function () { /* empty */ };\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var props = toIndexedObject(Properties);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n  return O;\n};\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","'use strict';\nvar parent = require('../../actual/symbol/iterator');\n\nmodule.exports = parent;\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n  return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n  return typeof argument == 'function';\n};\n","'use strict';\nvar parent = require('../../actual/symbol');\nrequire('../../modules/esnext.symbol.is-registered-symbol');\nrequire('../../modules/esnext.symbol.is-well-known-symbol');\nrequire('../../modules/esnext.symbol.custom-matcher');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.is-registered');\nrequire('../../modules/esnext.symbol.is-well-known');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata-key');\nrequire('../../modules/esnext.symbol.pattern-match');\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n  // Nashorn bug:\n  //   https://github.com/zloirock/core-js/issues/1128\n  //   https://github.com/zloirock/core-js/issues/1130\n  if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    globalThis[key] = value;\n  } return value;\n};\n","'use strict';\nrequire('../modules/es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar globalThis = require('../internals/global-this');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  setToStringTag(globalThis[COLLECTION_NAME], COLLECTION_NAME);\n  Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Symbol = getBuiltIn('Symbol');\nvar keyFor = Symbol.keyFor;\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\n\n// `Symbol.isRegisteredSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\nmodule.exports = Symbol.isRegisteredSymbol || function isRegisteredSymbol(value) {\n  try {\n    return keyFor(thisSymbolValue(value)) !== undefined;\n  } catch (error) {\n    return false;\n  }\n};\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2853__;","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n  for (var key in src) {\n    dst[key] = src[key]\n  }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n  module.exports = buffer\n} else {\n  // Copy properties from require('buffer')\n  copyProps(buffer, exports)\n  exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n  return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n  if (typeof arg === 'number') {\n    throw new TypeError('Argument must not be a number')\n  }\n  return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  var buf = Buffer(size)\n  if (fill !== undefined) {\n    if (typeof encoding === 'string') {\n      buf.fill(fill, encoding)\n    } else {\n      buf.fill(fill)\n    }\n  } else {\n    buf.fill(0)\n  }\n  return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  return buffer.SlowBuffer(size)\n}\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (hasOwn(O, key = names[i++])) {\n    ~indexOf(result, key) || push(result, key);\n  }\n  return result;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  var len = toIntegerOrInfinity(argument);\n  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n  'for': function (key) {\n    var string = toString(key);\n    if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n    var symbol = getBuiltIn('Symbol')(string);\n    StringToSymbolRegistry[string] = symbol;\n    SymbolToStringRegistry[symbol] = string;\n    return symbol;\n  }\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","'use strict';\nvar $ = require('../internals/export');\nvar isRegisteredSymbol = require('../internals/symbol-is-registered');\n\n// `Symbol.isRegistered` method\n// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\n$({ target: 'Symbol', stat: true, name: 'isRegisteredSymbol' }, {\n  isRegistered: isRegisteredSymbol\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n  var Symbol = getBuiltIn('Symbol');\n  var SymbolPrototype = Symbol && Symbol.prototype;\n  var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n  var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n  if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n    // `Symbol.prototype[@@toPrimitive]` method\n    // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n    // eslint-disable-next-line no-unused-vars -- required for .length\n    defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n      return call(valueOf, this);\n    }, { arity: 1 });\n  }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a !== 7;\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n  nativeDefineProperty(O, P, Attributes);\n  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n    nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n  }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n  return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n    get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n  })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n  var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n  setInternalState(symbol, {\n    type: SYMBOL,\n    tag: tag,\n    description: description\n  });\n  if (!DESCRIPTORS) symbol.description = description;\n  return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n  anObject(O);\n  var key = toPropertyKey(P);\n  anObject(Attributes);\n  if (hasOwn(AllSymbols, key)) {\n    if (!Attributes.enumerable) {\n      if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n      O[HIDDEN][key] = true;\n    } else {\n      if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n      Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n    } return setSymbolDescriptor(O, key, Attributes);\n  } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n  anObject(O);\n  var properties = toIndexedObject(Properties);\n  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n  $forEach(keys, function (key) {\n    if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n  });\n  return O;\n};\n\nvar $create = function create(O, Properties) {\n  return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n  var P = toPropertyKey(V);\n  var enumerable = call(nativePropertyIsEnumerable, this, P);\n  if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n  return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n    ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n  var it = toIndexedObject(O);\n  var key = toPropertyKey(P);\n  if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n  var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n  if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n    descriptor.enumerable = true;\n  }\n  return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n  var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n  });\n  return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n  var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n      push(result, AllSymbols[key]);\n    }\n  });\n  return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n  $Symbol = function Symbol() {\n    if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n    var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n    var tag = uid(description);\n    var setter = function (value) {\n      var $this = this === undefined ? globalThis : this;\n      if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n      if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n      var descriptor = createPropertyDescriptor(1, value);\n      try {\n        setSymbolDescriptor($this, tag, descriptor);\n      } catch (error) {\n        if (!(error instanceof RangeError)) throw error;\n        fallbackDefineProperty($this, tag, descriptor);\n      }\n    };\n    if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n    return wrap(tag, description);\n  };\n\n  SymbolPrototype = $Symbol[PROTOTYPE];\n\n  defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n    return getInternalState(this).tag;\n  });\n\n  defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n    return wrap(uid(description), description);\n  });\n\n  propertyIsEnumerableModule.f = $propertyIsEnumerable;\n  definePropertyModule.f = $defineProperty;\n  definePropertiesModule.f = $defineProperties;\n  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n  wrappedWellKnownSymbolModule.f = function (name) {\n    return wrap(wellKnownSymbol(name), name);\n  };\n\n  if (DESCRIPTORS) {\n    // https://github.com/tc39/proposal-Symbol-description\n    defineBuiltInAccessor(SymbolPrototype, 'description', {\n      configurable: true,\n      get: function description() {\n        return getInternalState(this).description;\n      }\n    });\n    if (!IS_PURE) {\n      defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n    }\n  }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n  Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n  defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n  useSetter: function () { USE_SETTER = true; },\n  useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n  // `Object.create` method\n  // https://tc39.es/ecma262/#sec-object.create\n  create: $create,\n  // `Object.defineProperty` method\n  // https://tc39.es/ecma262/#sec-object.defineproperty\n  defineProperty: $defineProperty,\n  // `Object.defineProperties` method\n  // https://tc39.es/ecma262/#sec-object.defineproperties\n  defineProperties: $defineProperties,\n  // `Object.getOwnPropertyDescriptor` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n  // `Object.getOwnPropertyNames` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertynames\n  getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nmodule.exports = {};\n","'use strict';\nrequire('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isRegisteredSymbol = require('../internals/symbol-is-registered');\n\n// `Symbol.isRegisteredSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\n$({ target: 'Symbol', stat: true }, {\n  isRegisteredSymbol: isRegisteredSymbol\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n    else if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n  return isObject(argument) || argument === null;\n};\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n  0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n  0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n  0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n  0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n  0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n  0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n  0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n  0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n  0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n  0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n  0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n  0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n  0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n  0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n  0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n  0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n  this.init()\n\n  this._w = W // new Array(64)\n\n  Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n  this._a = 0x6a09e667\n  this._b = 0xbb67ae85\n  this._c = 0x3c6ef372\n  this._d = 0xa54ff53a\n  this._e = 0x510e527f\n  this._f = 0x9b05688c\n  this._g = 0x1f83d9ab\n  this._h = 0x5be0cd19\n\n  return this\n}\n\nfunction ch (x, y, z) {\n  return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n  return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n  return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n  return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n  return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n  return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n  var W = this._w\n\n  var a = this._a | 0\n  var b = this._b | 0\n  var c = this._c | 0\n  var d = this._d | 0\n  var e = this._e | 0\n  var f = this._f | 0\n  var g = this._g | 0\n  var h = this._h | 0\n\n  for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n  for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n  for (var j = 0; j < 64; ++j) {\n    var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n    var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n    h = g\n    g = f\n    f = e\n    e = (d + T1) | 0\n    d = c\n    c = b\n    b = a\n    a = (T1 + T2) | 0\n  }\n\n  this._a = (a + this._a) | 0\n  this._b = (b + this._b) | 0\n  this._c = (c + this._c) | 0\n  this._d = (d + this._d) | 0\n  this._e = (e + this._e) | 0\n  this._f = (f + this._f) | 0\n  this._g = (g + this._g) | 0\n  this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n  var H = Buffer.allocUnsafe(32)\n\n  H.writeInt32BE(this._a, 0)\n  H.writeInt32BE(this._b, 4)\n  H.writeInt32BE(this._c, 8)\n  H.writeInt32BE(this._d, 12)\n  H.writeInt32BE(this._e, 16)\n  H.writeInt32BE(this._f, 20)\n  H.writeInt32BE(this._g, 24)\n  H.writeInt32BE(this._h, 28)\n\n  return H\n}\n\nmodule.exports = Sha256\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","'use strict';\nvar parent = require('../../es/symbol');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__4146__;","// Blake2B in pure Javascript\n// Adapted from the reference implementation in RFC7693\n// Ported to Javascript by DC - https://github.com/dcposch\n\nconst util = require('./util')\n\n// 64-bit unsigned addition\n// Sets v[a,a+1] += v[b,b+1]\n// v should be a Uint32Array\nfunction ADD64AA (v, a, b) {\n  const o0 = v[a] + v[b]\n  let o1 = v[a + 1] + v[b + 1]\n  if (o0 >= 0x100000000) {\n    o1++\n  }\n  v[a] = o0\n  v[a + 1] = o1\n}\n\n// 64-bit unsigned addition\n// Sets v[a,a+1] += b\n// b0 is the low 32 bits of b, b1 represents the high 32 bits\nfunction ADD64AC (v, a, b0, b1) {\n  let o0 = v[a] + b0\n  if (b0 < 0) {\n    o0 += 0x100000000\n  }\n  let o1 = v[a + 1] + b1\n  if (o0 >= 0x100000000) {\n    o1++\n  }\n  v[a] = o0\n  v[a + 1] = o1\n}\n\n// Little-endian byte access\nfunction B2B_GET32 (arr, i) {\n  return arr[i] ^ (arr[i + 1] << 8) ^ (arr[i + 2] << 16) ^ (arr[i + 3] << 24)\n}\n\n// G Mixing function\n// The ROTRs are inlined for speed\nfunction B2B_G (a, b, c, d, ix, iy) {\n  const x0 = m[ix]\n  const x1 = m[ix + 1]\n  const y0 = m[iy]\n  const y1 = m[iy + 1]\n\n  ADD64AA(v, a, b) // v[a,a+1] += v[b,b+1] ... in JS we must store a uint64 as two uint32s\n  ADD64AC(v, a, x0, x1) // v[a, a+1] += x ... x0 is the low 32 bits of x, x1 is the high 32 bits\n\n  // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated to the right by 32 bits\n  let xor0 = v[d] ^ v[a]\n  let xor1 = v[d + 1] ^ v[a + 1]\n  v[d] = xor1\n  v[d + 1] = xor0\n\n  ADD64AA(v, c, d)\n\n  // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 24 bits\n  xor0 = v[b] ^ v[c]\n  xor1 = v[b + 1] ^ v[c + 1]\n  v[b] = (xor0 >>> 24) ^ (xor1 << 8)\n  v[b + 1] = (xor1 >>> 24) ^ (xor0 << 8)\n\n  ADD64AA(v, a, b)\n  ADD64AC(v, a, y0, y1)\n\n  // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated right by 16 bits\n  xor0 = v[d] ^ v[a]\n  xor1 = v[d + 1] ^ v[a + 1]\n  v[d] = (xor0 >>> 16) ^ (xor1 << 16)\n  v[d + 1] = (xor1 >>> 16) ^ (xor0 << 16)\n\n  ADD64AA(v, c, d)\n\n  // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 63 bits\n  xor0 = v[b] ^ v[c]\n  xor1 = v[b + 1] ^ v[c + 1]\n  v[b] = (xor1 >>> 31) ^ (xor0 << 1)\n  v[b + 1] = (xor0 >>> 31) ^ (xor1 << 1)\n}\n\n// Initialization Vector\nconst BLAKE2B_IV32 = new Uint32Array([\n  0xf3bcc908, 0x6a09e667, 0x84caa73b, 0xbb67ae85, 0xfe94f82b, 0x3c6ef372,\n  0x5f1d36f1, 0xa54ff53a, 0xade682d1, 0x510e527f, 0x2b3e6c1f, 0x9b05688c,\n  0xfb41bd6b, 0x1f83d9ab, 0x137e2179, 0x5be0cd19\n])\n\nconst SIGMA8 = [\n  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 10, 4, 8, 9, 15, 13,\n  6, 1, 12, 0, 2, 11, 7, 5, 3, 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1,\n  9, 4, 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8, 9, 0, 5, 7, 2, 4,\n  10, 15, 14, 1, 11, 12, 6, 8, 3, 13, 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5,\n  15, 14, 1, 9, 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11, 13, 11, 7,\n  14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10, 6, 15, 14, 9, 11, 3, 0, 8, 12, 2,\n  13, 7, 1, 4, 10, 5, 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0, 0,\n  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 10, 4, 8, 9, 15, 13, 6,\n  1, 12, 0, 2, 11, 7, 5, 3\n]\n\n// These are offsets into a uint64 buffer.\n// Multiply them all by 2 to make them offsets into a uint32 buffer,\n// because this is Javascript and we don't have uint64s\nconst SIGMA82 = new Uint8Array(\n  SIGMA8.map(function (x) {\n    return x * 2\n  })\n)\n\n// Compression function. 'last' flag indicates last block.\n// Note we're representing 16 uint64s as 32 uint32s\nconst v = new Uint32Array(32)\nconst m = new Uint32Array(32)\nfunction blake2bCompress (ctx, last) {\n  let i = 0\n\n  // init work variables\n  for (i = 0; i < 16; i++) {\n    v[i] = ctx.h[i]\n    v[i + 16] = BLAKE2B_IV32[i]\n  }\n\n  // low 64 bits of offset\n  v[24] = v[24] ^ ctx.t\n  v[25] = v[25] ^ (ctx.t / 0x100000000)\n  // high 64 bits not supported, offset may not be higher than 2**53-1\n\n  // last block flag set ?\n  if (last) {\n    v[28] = ~v[28]\n    v[29] = ~v[29]\n  }\n\n  // get little-endian words\n  for (i = 0; i < 32; i++) {\n    m[i] = B2B_GET32(ctx.b, 4 * i)\n  }\n\n  // twelve rounds of mixing\n  // uncomment the DebugPrint calls to log the computation\n  // and match the RFC sample documentation\n  // util.debugPrint('          m[16]', m, 64)\n  for (i = 0; i < 12; i++) {\n    // util.debugPrint('   (i=' + (i < 10 ? ' ' : '') + i + ') v[16]', v, 64)\n    B2B_G(0, 8, 16, 24, SIGMA82[i * 16 + 0], SIGMA82[i * 16 + 1])\n    B2B_G(2, 10, 18, 26, SIGMA82[i * 16 + 2], SIGMA82[i * 16 + 3])\n    B2B_G(4, 12, 20, 28, SIGMA82[i * 16 + 4], SIGMA82[i * 16 + 5])\n    B2B_G(6, 14, 22, 30, SIGMA82[i * 16 + 6], SIGMA82[i * 16 + 7])\n    B2B_G(0, 10, 20, 30, SIGMA82[i * 16 + 8], SIGMA82[i * 16 + 9])\n    B2B_G(2, 12, 22, 24, SIGMA82[i * 16 + 10], SIGMA82[i * 16 + 11])\n    B2B_G(4, 14, 16, 26, SIGMA82[i * 16 + 12], SIGMA82[i * 16 + 13])\n    B2B_G(6, 8, 18, 28, SIGMA82[i * 16 + 14], SIGMA82[i * 16 + 15])\n  }\n  // util.debugPrint('   (i=12) v[16]', v, 64)\n\n  for (i = 0; i < 16; i++) {\n    ctx.h[i] = ctx.h[i] ^ v[i] ^ v[i + 16]\n  }\n  // util.debugPrint('h[8]', ctx.h, 64)\n}\n\n// reusable parameterBlock\nconst parameterBlock = new Uint8Array([\n  0,\n  0,\n  0,\n  0, //  0: outlen, keylen, fanout, depth\n  0,\n  0,\n  0,\n  0, //  4: leaf length, sequential mode\n  0,\n  0,\n  0,\n  0, //  8: node offset\n  0,\n  0,\n  0,\n  0, // 12: node offset\n  0,\n  0,\n  0,\n  0, // 16: node depth, inner length, rfu\n  0,\n  0,\n  0,\n  0, // 20: rfu\n  0,\n  0,\n  0,\n  0, // 24: rfu\n  0,\n  0,\n  0,\n  0, // 28: rfu\n  0,\n  0,\n  0,\n  0, // 32: salt\n  0,\n  0,\n  0,\n  0, // 36: salt\n  0,\n  0,\n  0,\n  0, // 40: salt\n  0,\n  0,\n  0,\n  0, // 44: salt\n  0,\n  0,\n  0,\n  0, // 48: personal\n  0,\n  0,\n  0,\n  0, // 52: personal\n  0,\n  0,\n  0,\n  0, // 56: personal\n  0,\n  0,\n  0,\n  0 // 60: personal\n])\n\n// Creates a BLAKE2b hashing context\n// Requires an output length between 1 and 64 bytes\n// Takes an optional Uint8Array key\n// Takes an optinal Uint8Array salt\n// Takes an optinal Uint8Array personal\nfunction blake2bInit (outlen, key, salt, personal) {\n  if (outlen === 0 || outlen > 64) {\n    throw new Error('Illegal output length, expected 0 < length <= 64')\n  }\n  if (key && key.length > 64) {\n    throw new Error('Illegal key, expected Uint8Array with 0 < length <= 64')\n  }\n  if (salt && salt.length !== 16) {\n    throw new Error('Illegal salt, expected Uint8Array with length is 16')\n  }\n  if (personal && personal.length !== 16) {\n    throw new Error('Illegal personal, expected Uint8Array with length is 16')\n  }\n\n  // state, 'param block'\n  const ctx = {\n    b: new Uint8Array(128),\n    h: new Uint32Array(16),\n    t: 0, // input count\n    c: 0, // pointer within buffer\n    outlen: outlen // output length in bytes\n  }\n\n  // initialize parameterBlock before usage\n  parameterBlock.fill(0)\n  parameterBlock[0] = outlen\n  if (key) parameterBlock[1] = key.length\n  parameterBlock[2] = 1 // fanout\n  parameterBlock[3] = 1 // depth\n  if (salt) parameterBlock.set(salt, 32)\n  if (personal) parameterBlock.set(personal, 48)\n\n  // initialize hash state\n  for (let i = 0; i < 16; i++) {\n    ctx.h[i] = BLAKE2B_IV32[i] ^ B2B_GET32(parameterBlock, i * 4)\n  }\n\n  // key the hash, if applicable\n  if (key) {\n    blake2bUpdate(ctx, key)\n    // at the end\n    ctx.c = 128\n  }\n\n  return ctx\n}\n\n// Updates a BLAKE2b streaming hash\n// Requires hash context and Uint8Array (byte array)\nfunction blake2bUpdate (ctx, input) {\n  for (let i = 0; i < input.length; i++) {\n    if (ctx.c === 128) {\n      // buffer full ?\n      ctx.t += ctx.c // add counters\n      blake2bCompress(ctx, false) // compress (not last)\n      ctx.c = 0 // counter to zero\n    }\n    ctx.b[ctx.c++] = input[i]\n  }\n}\n\n// Completes a BLAKE2b streaming hash\n// Returns a Uint8Array containing the message digest\nfunction blake2bFinal (ctx) {\n  ctx.t += ctx.c // mark last block offset\n\n  while (ctx.c < 128) {\n    // fill up with zeros\n    ctx.b[ctx.c++] = 0\n  }\n  blake2bCompress(ctx, true) // final block flag = 1\n\n  // little endian convert and store\n  const out = new Uint8Array(ctx.outlen)\n  for (let i = 0; i < ctx.outlen; i++) {\n    out[i] = ctx.h[i >> 2] >> (8 * (i & 3))\n  }\n  return out\n}\n\n// Computes the BLAKE2B hash of a string or byte array, and returns a Uint8Array\n//\n// Returns a n-byte Uint8Array\n//\n// Parameters:\n// - input - the input bytes, as a string, Buffer or Uint8Array\n// - key - optional key Uint8Array, up to 64 bytes\n// - outlen - optional output length in bytes, default 64\n// - salt - optional salt bytes, string, Buffer or Uint8Array\n// - personal - optional personal bytes, string, Buffer or Uint8Array\nfunction blake2b (input, key, outlen, salt, personal) {\n  // preprocess inputs\n  outlen = outlen || 64\n  input = util.normalizeInput(input)\n  if (salt) {\n    salt = util.normalizeInput(salt)\n  }\n  if (personal) {\n    personal = util.normalizeInput(personal)\n  }\n\n  // do the math\n  const ctx = blake2bInit(outlen, key, salt, personal)\n  blake2bUpdate(ctx, input)\n  return blake2bFinal(ctx)\n}\n\n// Computes the BLAKE2B hash of a string or byte array\n//\n// Returns an n-byte hash in hex, all lowercase\n//\n// Parameters:\n// - input - the input bytes, as a string, Buffer, or Uint8Array\n// - key - optional key Uint8Array, up to 64 bytes\n// - outlen - optional output length in bytes, default 64\n// - salt - optional salt bytes, string, Buffer or Uint8Array\n// - personal - optional personal bytes, string, Buffer or Uint8Array\nfunction blake2bHex (input, key, outlen, salt, personal) {\n  const output = blake2b(input, key, outlen, salt, personal)\n  return util.toHex(output)\n}\n\nmodule.exports = {\n  blake2b: blake2b,\n  blake2bHex: blake2bHex,\n  blake2bInit: blake2bInit,\n  blake2bUpdate: blake2bUpdate,\n  blake2bFinal: blake2bFinal\n}\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = lengthOfArrayLike(O);\n    if (length === 0) return !IS_INCLUDES && -1;\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el !== el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value !== value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","module.exports = __WEBPACK_EXTERNAL_MODULE__4578__;","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n  try {\n    return $String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n  var target = STATIC ? it : it && it.prototype;\n  if (target) {\n    if (!hasOwn(target, TO_STRING_TAG)) {\n      defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n    }\n    if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n      createNonEnumerableProperty(target, 'toString', toString);\n    }\n  }\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  /* eslint-disable no-self-assign -- prototype methods protection */\n  store.get = store.get;\n  store.has = store.has;\n  store.set = store.set;\n  /* eslint-enable no-self-assign -- prototype methods protection */\n  set = function (it, metadata) {\n    if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    store.set(it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return store.get(it) || {};\n  };\n  has = function (it) {\n    return store.has(it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar parent = require('../../actual/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n  arrayIterator = [].keys();\n  // Safari 8 has buggy iterators w/o `next`\n  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n  else {\n    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n  }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n  var test = {};\n  // FF44- legacy iterators case\n  return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n  defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n    return this;\n  });\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__5196__;","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n    return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n  }\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return $getOwnPropertyNames(it);\n  } catch (error) {\n    return arraySlice(windowNames);\n  }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && classof(it) === 'Window'\n    ? getWindowNames(it)\n    : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(noop, [], argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n  }\n  try {\n    // we can't check .prototype since constructors produced by .bind haven't it\n    // `Function#toString` throws on some built-it function in some legacy engines\n    // (for example, `DOMQuad` and similar in FF41-)\n    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n  } catch (error) {\n    return true;\n  }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n  else object[key] = value;\n};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n  return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n    : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar parent = require('../../stable/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n  return store[key] || (store[key] = value || {});\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\nvar check = function (it) {\n  return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  check(typeof this == 'object' && this) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n  var object = toObject(O);\n  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n  var constructor = object.constructor;\n  if (isCallable(constructor) && object instanceof constructor) {\n    return constructor.prototype;\n  } return object instanceof $Object ? ObjectPrototype : null;\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6016__;","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw new $TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar parent = require('../../stable/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n  version: '3.41.0',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',\n  license: 'https://github.com/zloirock/core-js/blob/v3.41.0/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6168__;","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name)) {\n    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n      ? Symbol[name]\n      : createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6514__;","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n  if (isCallable(replacer)) return replacer;\n  if (!isArray(replacer)) return;\n  var rawLength = replacer.length;\n  var keys = [];\n  for (var i = 0; i < rawLength; i++) {\n    var element = replacer[i];\n    if (typeof element == 'string') push(keys, element);\n    else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n  }\n  var keysLength = keys.length;\n  var root = true;\n  return function (key, value) {\n    if (root) {\n      root = false;\n      return value;\n    }\n    if (isArray(this)) return value;\n    for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n  };\n};\n","if (typeof Object.create === 'function') {\n  // implementation from standard node.js 'util' module\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      ctor.prototype = Object.create(superCtor.prototype, {\n        constructor: {\n          value: ctor,\n          enumerable: false,\n          writable: true,\n          configurable: true\n        }\n      })\n    }\n  };\n} else {\n  // old school shim for old browsers\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      var TempCtor = function () {}\n      TempCtor.prototype = superCtor.prototype\n      ctor.prototype = new TempCtor()\n      ctor.prototype.constructor = ctor\n    }\n  }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n  defineProperty: defineProperty\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n  EXISTS: EXISTS,\n  PROPER: PROPER,\n  CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadataKey` well-known symbol\n// https://github.com/tc39/proposal-decorator-metadata\ndefineWellKnownSymbol('metadataKey');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(globalThis.JSON, 'JSON', true);\n","'use strict';\nvar parent = require('../../es/symbol/iterator');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n  setInternalState(this, {\n    type: STRING_ITERATOR,\n    string: toString(iterated),\n    index: 0\n  });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n  var state = getInternalState(this);\n  var string = state.string;\n  var index = state.index;\n  var point;\n  if (index >= string.length) return createIterResultObject(undefined, true);\n  point = charAt(string, index);\n  state.index += point.length;\n  return createIterResultObject(point, false);\n});\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n  return it === null || it === undefined;\n};\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-explicit-resource-management\ndefineWellKnownSymbol('dispose');\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n  // We can't use this feature detection in V8 since it causes\n  // deoptimization and serious performance degradation\n  // https://github.com/zloirock/core-js/issues/677\n  return V8_VERSION >= 51 || !fails(function () {\n    var array = [];\n    var constructor = array.constructor = {};\n    constructor[SPECIES] = function () {\n      return { foo: 1 };\n    };\n    return array[METHOD_NAME](Boolean).foo !== 1;\n  });\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n  var TO_STRING_TAG = NAME + ' Iterator';\n  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n  Iterators[TO_STRING_TAG] = returnThis;\n  return IteratorConstructor;\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__7250__;","'use strict';\nvar parent = require('../../stable/symbol');\n\nrequire('../../modules/esnext.function.metadata');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.metadata');\n\nmodule.exports = parent;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value === POLYFILL ? true\n    : value === NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n  if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n  return it;\n};\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n  if (options && options.enumerable) target[key] = value;\n  else createNonEnumerableProperty(target, key, value);\n  return target;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n  activeXDocument = null;\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    activeXDocument = new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = typeof document != 'undefined'\n    ? document.domain && activeXDocument\n      ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n      : NullProtoObjectViaIFrame()\n    : NullProtoObjectViaActiveX(activeXDocument); // WSH\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__8380__;","'use strict';\nmodule.exports = {};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n  var array = [];\n  array[IS_CONCAT_SPREADABLE] = false;\n  return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n  if (!isObject(O)) return false;\n  var spreadable = O[IS_CONCAT_SPREADABLE];\n  return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  concat: function concat(arg) {\n    var O = toObject(this);\n    var A = arraySpeciesCreate(O, 0);\n    var n = 0;\n    var i, k, length, len, E;\n    for (i = -1, length = arguments.length; i < length; i++) {\n      E = i === -1 ? O : arguments[i];\n      if (isConcatSpreadable(E)) {\n        len = lengthOfArrayLike(E);\n        doesNotExceedSafeInteger(n + len);\n        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n      } else {\n        doesNotExceedSafeInteger(n + 1);\n        createProperty(A, n++, E);\n      }\n    }\n    A.length = n;\n    return A;\n  }\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-async-explicit-resource-management\ndefineWellKnownSymbol('asyncDispose');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype !== 42;\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__8963__;","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    requireObjectCoercible(O);\n    aPossiblePrototype(proto);\n    if (!isObject(O)) return O;\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","'use strict';\nvar shared = require('../internals/shared');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isSymbol = require('../internals/is-symbol');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar Symbol = getBuiltIn('Symbol');\nvar $isWellKnownSymbol = Symbol.isWellKnownSymbol;\nvar getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\nvar WellKnownSymbolsStore = shared('wks');\n\nfor (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {\n  // some old engines throws on access to some keys like `arguments` or `caller`\n  try {\n    var symbolKey = symbolKeys[i];\n    if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);\n  } catch (error) { /* empty */ }\n}\n\n// `Symbol.isWellKnownSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\nmodule.exports = function isWellKnownSymbol(value) {\n  if ($isWellKnownSymbol && $isWellKnownSymbol(value)) return true;\n  try {\n    var symbol = thisSymbolValue(value);\n    for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {\n      // eslint-disable-next-line eqeqeq -- polyfilled symbols case\n      if (WellKnownSymbolsStore[keys[j]] == symbol) return true;\n    }\n  } catch (error) { /* empty */ }\n  return false;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n  return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar parent = require('../../actual/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n  CSSRuleList: 0,\n  CSSStyleDeclaration: 0,\n  CSSValueList: 0,\n  ClientRectList: 0,\n  DOMRectList: 0,\n  DOMStringList: 0,\n  DOMTokenList: 1,\n  DataTransferItemList: 0,\n  FileList: 0,\n  HTMLAllCollection: 0,\n  HTMLCollection: 0,\n  HTMLFormElement: 0,\n  HTMLSelectElement: 0,\n  MediaList: 0,\n  MimeTypeArray: 0,\n  NamedNodeMap: 0,\n  NodeList: 1,\n  PaintRequestList: 0,\n  Plugin: 0,\n  PluginArray: 0,\n  SVGLengthList: 0,\n  SVGNumberList: 0,\n  SVGPathSegList: 0,\n  SVGPointList: 0,\n  SVGStringList: 0,\n  SVGTransformList: 0,\n  SourceBufferList: 0,\n  StyleSheetList: 0,\n  TextTrackCueList: 0,\n  TextTrackList: 0,\n  TouchList: 0\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n  setInternalState(this, {\n    type: ARRAY_ITERATOR,\n    target: toIndexedObject(iterated), // target\n    index: 0,                          // next index\n    kind: kind                         // kind\n  });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n  var state = getInternalState(this);\n  var target = state.target;\n  var index = state.index++;\n  if (!target || index >= target.length) {\n    state.target = null;\n    return createIterResultObject(undefined, true);\n  }\n  switch (state.kind) {\n    case 'keys': return createIterResultObject(index, false);\n    case 'values': return createIterResultObject(target[index], false);\n  } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n  defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n  return { value: value, done: done };\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\n// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","'use strict';\nvar parent = require('../../stable/symbol/iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n  var symbol = getBuiltIn('Symbol')('stringify detection');\n  // MS Edge converts symbol values to JSON as {}\n  return $stringify([symbol]) !== '[null]'\n    // WebKit converts symbol values to JSON as null\n    || $stringify({ a: symbol }) !== '{}'\n    // V8 throws on boxed symbols\n    || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n  return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n    || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n  var args = arraySlice(arguments);\n  var $replacer = getReplacerFunction(replacer);\n  if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n  args[1] = function (key, value) {\n    // some old implementations (like WebKit) could pass numbers as keys\n    if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n    if (!isSymbol(value)) return value;\n  };\n  return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n  var prev = charAt(string, offset - 1);\n  var next = charAt(string, offset + 1);\n  if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n    return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n  } return match;\n};\n\nif ($stringify) {\n  // `JSON.stringify` method\n  // https://tc39.es/ecma262/#sec-json.stringify\n  $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n    // eslint-disable-next-line no-unused-vars -- required for `.length`\n    stringify: function stringify(it, replacer, space) {\n      var args = arraySlice(arguments);\n      var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n      return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n    }\n  });\n}\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol('symbol detection');\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n  // of course, fail.\n  return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Big Number Helpers\n */\nimport BigNumber from 'bignumber.js';\n\n/**\n * Check if value is BigNumber, Number, BigInt or number string representation\n * @param number - number to check\n */\nexport const isBigNumber = (number: string | number | bigint | BigNumber): boolean => {\n  if (typeof number === 'bigint') return true;\n  return (\n    ['number', 'object', 'string'].includes(typeof number) &&\n    // eslint-disable-next-line no-restricted-globals\n    (!isNaN(number as number) || Number.isInteger(number) || BigNumber.isBigNumber(number))\n  );\n};\n\n/**\n * BigNumber ceil operation\n */\nexport const ceil = (bigNumber: BigNumber): BigNumber =>\n  bigNumber.integerValue(BigNumber.ROUND_CEIL);\n","// eslint-disable-next-line max-classes-per-file\nimport BigNumber from 'bignumber.js';\nimport { AensName, Int } from '../tx/builder/constants.js';\nimport * as Encoded from './encoder-types.js';\n\n/**\n * aepp-sdk originated error\n * @category exception\n */\nexport abstract class BaseError extends Error {\n  constructor(message: string) {\n    super(message);\n    this.name = 'BaseError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AccountError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'AccountError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AensError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'AensError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AeppError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'AeppError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ChannelError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'ChannelError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class CompilerError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'CompilerError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ContractError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'ContractError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class CryptographyError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'CryptographyError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NodeError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'NodeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class TransactionError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'TransactionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class WalletError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'WalletError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentError extends BaseError {\n  constructor(argumentName: string, requirement: unknown, argumentValue: unknown) {\n    super(`${argumentName} should be ${requirement}, got ${argumentValue} instead`);\n    this.name = 'ArgumentError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class IllegalArgumentError extends CryptographyError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'IllegalArgumentError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentCountMismatchError extends BaseError {\n  constructor(functionName: string, requiredCount: number, providedCount: number) {\n    super(`${functionName} expects ${requiredCount} arguments, got ${providedCount} instead`);\n    this.name = 'ArgumentCountMismatchError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientBalanceError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InsufficientBalanceError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingParamError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'MissingParamError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NoSerializerFoundError extends BaseError {\n  constructor() {\n    super('Byte serialization not supported');\n    this.name = 'NoSerializerFoundError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class RequestTimedOutError extends BaseError {\n  constructor(height: number) {\n    super(`Giving up at height ${height}`);\n    this.name = 'RequestTimedOutError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class TxTimedOutError extends BaseError {\n  constructor(blocks: number, th: Encoded.TxHash) {\n    super(`Giving up after ${blocks} blocks mined, transaction hash: ${th}`);\n    this.name = 'TxTimedOutError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class TypeError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'TypeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedPlatformError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'UnsupportedPlatformError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedProtocolError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'UnsupportedProtocolError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NotImplementedError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'NotImplementedError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedVersionError extends BaseError {\n  constructor(dependency: string, version: string, geVersion: string, ltVersion?: string) {\n    super(\n      `Unsupported ${dependency} version ${version}. Supported: >= ${geVersion}` +\n        (ltVersion == null ? '' : ` < ${ltVersion}`),\n    );\n    this.name = 'UnsupportedVersionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class LogicError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'LogicError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InternalError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InternalError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedTsError extends InternalError {\n  constructor(message = 'Expected to not happen, required for TS') {\n    super(message);\n    this.name = 'UnexpectedTsError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnavailableAccountError extends AccountError {\n  constructor(address: Encoded.AccountAddress) {\n    super(`Account for ${address} not available`);\n    this.name = 'UnavailableAccountError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AensPointerContextError extends AensError {\n  constructor(nameOrId: AensName | Encoded.Name, prefix: string) {\n    super(`Name ${nameOrId} don't have pointers for ${prefix}`);\n    this.name = 'AensPointerContextError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientNameFeeError extends AensError {\n  constructor(nameFee: BigNumber, minNameFee: BigNumber) {\n    super(\n      `the provided fee ${nameFee.toString()} is not enough to execute the claim, required: ${minNameFee.toString()}`,\n    );\n    this.name = 'InsufficientNameFeeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAensNameError extends AensError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InvalidAensNameError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidRpcMessageError extends AeppError {\n  constructor(message: string) {\n    super(`Received invalid message: ${message}`);\n    this.name = 'InvalidRpcMessageError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingCallbackError extends AeppError {\n  constructor(id: number) {\n    super(`Can't find callback for this messageId ${id}`);\n    this.name = 'MissingCallbackError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnAuthorizedAccountError extends AeppError {\n  constructor(onAccount: Encoded.AccountAddress) {\n    super(`You do not have access to account ${onAccount}`);\n    this.name = 'UnAuthorizedAccountError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnknownRpcClientError extends AeppError {\n  constructor(id: string) {\n    super(`RpcClient with id ${id} do not exist`);\n    this.name = 'UnknownRpcClientError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnsubscribedAccountError extends AeppError {\n  constructor() {\n    super('You are not subscribed for an account.');\n    this.name = 'UnsubscribedAccountError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ChannelCallError extends ChannelError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'ChannelCallError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ChannelConnectionError extends ChannelError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'ChannelConnectionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ChannelPingTimedOutError extends ChannelError {\n  constructor() {\n    super('Server pong timed out');\n    this.name = 'ChannelPingTimedOutError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedChannelMessageError extends ChannelError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'UnexpectedChannelMessageError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ChannelIncomingMessageError extends ChannelError {\n  handlerError: Error;\n\n  incomingMessage: { [key: string]: any };\n\n  constructor(handlerError: Error, incomingMessage: { [key: string]: any }) {\n    super(handlerError.message);\n    this.handlerError = handlerError;\n    this.incomingMessage = incomingMessage;\n    this.name = 'ChannelIncomingMessageError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnknownChannelStateError extends ChannelError {\n  constructor() {\n    super('State Channels FSM entered unknown state');\n    this.name = 'UnknownChannelStateError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAuthDataError extends CompilerError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InvalidAuthDataError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class BytecodeMismatchError extends ContractError {\n  constructor(source: 'source code' | 'bytecode' | 'ACI', details: string = '') {\n    super(`Contract ${source} do not correspond to the bytecode deployed on the chain` + details);\n    this.name = 'BytecodeMismatchError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateContractError extends ContractError {\n  constructor() {\n    super('Contract already deployed');\n    this.name = 'DuplicateContractError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InactiveContractError extends ContractError {\n  constructor(contractAddress: Encoded.ContractAddress) {\n    super(`Contract with address ${contractAddress} not active`);\n    this.name = 'InactiveContractError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidMethodInvocationError extends ContractError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InvalidMethodInvocationError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractAddressError extends ContractError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'MissingContractAddressError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractDefError extends ContractError {\n  constructor() {\n    super('Either ACI or sourceCode or sourceCodePath is required');\n    this.name = 'MissingContractDefError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingFunctionNameError extends ContractError {\n  constructor() {\n    super('Function name is required');\n    this.name = 'MissingFunctionNameError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NodeInvocationError extends ContractError {\n  transaction?: Encoded.Transaction;\n\n  constructor(message: string, transaction?: Encoded.Transaction) {\n    super(`Invocation failed${message == null ? '' : `: \"${message}\"`}`);\n    this.name = 'NodeInvocationError';\n    this.transaction = transaction;\n  }\n}\n\n/**\n * @category exception\n */\nexport class NoSuchContractFunctionError extends ContractError {\n  constructor(name: string) {\n    super(`Function ${name} doesn't exist in contract`);\n    this.name = 'NoSuchContractFunctionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NotPayableFunctionError extends ContractError {\n  constructor(amount: Int, fn: string) {\n    super(\n      `You try to pay \"${amount}\" to function \"${fn}\" which is not payable. ` +\n        'Only payable function can accept coins',\n    );\n    this.name = 'NotPayableFunctionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingEventDefinitionError extends ContractError {\n  constructor(eventNameHash: string, eventAddress: Encoded.ContractAddress) {\n    super(\n      `Can't find definition of ${eventNameHash} event emitted by ${eventAddress}` +\n        ' (use omitUnknown option to ignore events like this)',\n    );\n    this.name = 'MissingEventDefinitionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AmbiguousEventDefinitionError extends ContractError {\n  constructor(eventAddress: Encoded.ContractAddress, matchedEvents: Array<[string, string]>) {\n    super(\n      `Found multiple definitions of \"${matchedEvents[0][1]}\" event with different types emitted by` +\n        ` ${eventAddress} in ${matchedEvents.map(([name]) => `\"${name}\"`).join(', ')} contracts` +\n        ' (use contractAddressToName option to specify contract name corresponding to address)',\n    );\n    this.name = 'AmbiguousEventDefinitionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidChecksumError extends CryptographyError {\n  constructor() {\n    super('Invalid checksum');\n    this.name = 'InvalidChecksumError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MerkleTreeHashMismatchError extends CryptographyError {\n  constructor() {\n    super('Node hash is not equal to provided one');\n    this.name = 'MerkleTreeHashMismatchError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingNodeInTreeError extends CryptographyError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'MissingNodeInTreeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnknownNodeLengthError extends CryptographyError {\n  constructor(nodeLength: number) {\n    super(`Unknown node length: ${nodeLength}`);\n    this.name = 'UnknownNodeLengthError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnknownPathNibbleError extends CryptographyError {\n  constructor(nibble: number) {\n    super(`Unknown path nibble: ${nibble}`);\n    this.name = 'UnknownPathNibbleError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateNodeError extends NodeError {\n  constructor(name: string) {\n    super(`Node with name ${name} already exist`);\n    this.name = 'DuplicateNodeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NodeNotFoundError extends NodeError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'NodeNotFoundError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class DecodeError extends TransactionError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'DecodeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class PayloadLengthError extends TransactionError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'PayloadLengthError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class DryRunError extends TransactionError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'DryRunError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class IllegalBidFeeError extends TransactionError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'IllegalBidFeeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidSignatureError extends TransactionError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InvalidSignatureError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class PrefixNotFoundError extends TransactionError {\n  constructor(tag: number) {\n    super(`Prefix for id-tag ${tag} not found.`);\n    this.name = 'PrefixNotFoundError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class SchemaNotFoundError extends TransactionError {\n  constructor(key: string, version: number) {\n    super(`Transaction schema not implemented for tag ${key} version ${version}`);\n    this.name = 'SchemaNotFoundError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class TagNotFoundError extends TransactionError {\n  constructor(prefix: string) {\n    super(`Id tag for prefix ${prefix} not found.`);\n    this.name = 'DecodeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class TxNotInChainError extends TransactionError {\n  constructor(txHash: Encoded.TxHash) {\n    super(`Transaction ${txHash} is removed from chain`);\n    this.name = 'TxNotInChainError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AlreadyConnectedError extends WalletError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'AlreadyConnectedError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NoWalletConnectedError extends WalletError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'NoWalletConnectedError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class RpcConnectionError extends WalletError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'RpcConnectionError';\n  }\n}\n","import BigNumber from 'bignumber.js';\nimport { isBigNumber } from './bignumber.js';\nimport { ArgumentError } from './errors.js';\n\n/**\n * @deprecated no replacement implemented yet\n * @category utils\n */\nexport enum AE_AMOUNT_FORMATS {\n  AE = 'ae',\n  MILI_AE = 'miliAE',\n  MICRO_AE = 'microAE',\n  NANO_AE = 'nanoAE',\n  PICO_AE = 'picoAE',\n  FEMTO_AE = 'femtoAE',\n  AETTOS = 'aettos',\n}\n\n/**\n * DENOMINATION_MAGNITUDE\n */\nconst DENOMINATION_MAGNITUDE = {\n  [AE_AMOUNT_FORMATS.AE]: 0,\n  [AE_AMOUNT_FORMATS.MILI_AE]: -3,\n  [AE_AMOUNT_FORMATS.MICRO_AE]: -6,\n  [AE_AMOUNT_FORMATS.NANO_AE]: -9,\n  [AE_AMOUNT_FORMATS.PICO_AE]: -12,\n  [AE_AMOUNT_FORMATS.FEMTO_AE]: -15,\n  [AE_AMOUNT_FORMATS.AETTOS]: -18,\n} as const;\n\n/**\n * Convert amount from one to other denomination\n * @deprecated no replacement implemented yet\n * @category utils\n * @param value - amount to convert\n * @param options - options\n * @param options.denomination - denomination of amount, can be ['ae', 'aettos']\n * @param options.targetDenomination - target denomination,\n * can be ['ae', 'aettos']\n */\nexport const formatAmount = (\n  value: string | number | bigint | BigNumber,\n  {\n    denomination = AE_AMOUNT_FORMATS.AETTOS,\n    targetDenomination = AE_AMOUNT_FORMATS.AETTOS,\n  }: { denomination?: AE_AMOUNT_FORMATS; targetDenomination?: AE_AMOUNT_FORMATS },\n): string => {\n  if (!isBigNumber(value)) throw new ArgumentError('value', 'a number', value);\n\n  return new BigNumber(typeof value === 'bigint' ? value.toString() : value)\n    .shiftedBy(DENOMINATION_MAGNITUDE[denomination] - DENOMINATION_MAGNITUDE[targetDenomination])\n    .toFixed();\n};\n\n/**\n * Convert amount to AE\n * @deprecated no replacement implemented yet\n * @category utils\n * @param value - amount to convert\n * @param options - options\n * @param options.denomination - denomination of amount, can be ['ae', 'aettos']\n */\nexport const toAe = (\n  value: string | number | BigNumber,\n  { denomination = AE_AMOUNT_FORMATS.AETTOS }: { denomination?: AE_AMOUNT_FORMATS } = {},\n): string => formatAmount(value, { denomination, targetDenomination: AE_AMOUNT_FORMATS.AE });\n\n/**\n * Convert amount to aettos\n * @deprecated no replacement implemented yet\n * @category utils\n * @param value - amount to convert\n * @param options - options\n * @param options.denomination - denomination of amount, can be ['ae', 'aettos']\n */\nexport const toAettos = (\n  value: string | number | BigNumber,\n  { denomination = AE_AMOUNT_FORMATS.AE }: { denomination?: AE_AMOUNT_FORMATS } = {},\n): string => formatAmount(value, { denomination });\n\ninterface Prefix {\n  name: string;\n  magnitude: number;\n}\n\nconst prefixes: Prefix[] = [\n  { name: 'exa', magnitude: 18 },\n  { name: 'giga', magnitude: 9 },\n  { name: '', magnitude: 0 },\n  { name: 'pico', magnitude: -12 },\n];\n\nconst getNearestPrefix = (exponent: number): Prefix =>\n  prefixes.reduce((p, n) =>\n    Math.abs(n.magnitude - exponent) < Math.abs(p.magnitude - exponent) ? n : p,\n  );\n\nconst getLowerBoundPrefix = (exponent: number): Prefix =>\n  prefixes.find((p) => p.magnitude <= exponent) ?? prefixes[prefixes.length - 1];\n\n/**\n * @deprecated no replacement implemented yet\n * @category utils\n */\nexport const prefixedAmount = (rawValue: string | number | BigNumber): string => {\n  const value: BigNumber = new BigNumber(rawValue);\n\n  const exp = value.e ?? 0;\n  const { name, magnitude } = (exp < 0 ? getNearestPrefix : getLowerBoundPrefix)(exp);\n  const v = value\n    .shiftedBy(-magnitude)\n    .precision(9 + Math.min(exp - magnitude, 0))\n    .toFixed();\n  return `${v}${name !== '' ? ' ' : ''}${name}`;\n};\n","import { RestError } from '@azure/core-rest-pipeline';\n\nexport const pause = async (duration: number): Promise<void> =>\n  new Promise((resolve) => {\n    setTimeout(resolve, duration);\n  });\n\nexport const mapObject = <InputV, OutputV>(\n  object: { [k: string]: InputV },\n  fn: (\n    value: [string, InputV],\n    index: number,\n    array: Array<[string, InputV]>,\n  ) => [number | string, OutputV],\n): { [k: string]: OutputV } => Object.fromEntries(Object.entries(object).map(fn));\n\n// remove after dropping webpack4 support\nconst isWebpack4Buffer = (() => {\n  try {\n    Buffer.concat([Uint8Array.from([])]);\n    return false;\n  } catch (error) {\n    return true;\n  }\n})();\n\nexport const concatBuffers = isWebpack4Buffer\n  ? (list: readonly Uint8Array[], totalLength?: number): Buffer =>\n      Buffer.concat(\n        list.map((el) => Buffer.from(el)),\n        totalLength,\n      )\n  : Buffer.concat;\n\n/**\n * Object key type guard\n * @param key - Maybe object key\n * @param object - Object\n */\nexport function isKeyOfObject<T extends object>(\n  key: string | number | symbol,\n  object: T,\n): key is keyof T {\n  return key in object;\n}\n\n/**\n * Array item type guard\n * @param item - Maybe array item\n * @param array - Array\n */\nexport function isItemOfArray<T>(item: any, array: readonly T[]): item is T {\n  return array.includes(item);\n}\n\nexport function isAccountNotFoundError(error: Error): boolean {\n  return (\n    error instanceof RestError &&\n    error.statusCode === 404 &&\n    error.message.includes('Account not found')\n  );\n}\n\n// based on https://stackoverflow.com/a/50375286\nexport type UnionToIntersection<Union> = (Union extends any ? (k: Union) => void : never) extends (\n  k: infer Intersection,\n) => void\n  ? Intersection\n  : never;\n\n// based on https://stackoverflow.com/a/61108377\nexport type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;\n\nexport function ensureError(error: unknown): asserts error is Error {\n  if (error instanceof Error) return;\n  throw error;\n}\n","import { ArgumentError } from './errors.js';\n\nexport function wrapWithProxy<Value extends object | undefined>(\n  valueCb: () => Value,\n): NonNullable<Value> {\n  return new Proxy(\n    {},\n    Object.fromEntries(\n      (\n        [\n          'apply',\n          'construct',\n          'defineProperty',\n          'deleteProperty',\n          'getOwnPropertyDescriptor',\n          'getPrototypeOf',\n          'isExtensible',\n          'ownKeys',\n          'preventExtensions',\n          'set',\n          'setPrototypeOf',\n          'get',\n          'has',\n        ] as const\n      ).map((name) => [\n        name,\n        (t: {}, ...args: unknown[]) => {\n          const target = valueCb();\n          if (target == null) throw new ArgumentError('wrapped value', 'defined', target);\n          if (name === 'get' && args[0] === '_wrappedValue') return target;\n          const res = (Reflect[name] as any)(target, ...args);\n          return typeof res === 'function' && name === 'get' ? res.bind(target) : res;\n        },\n      ]),\n    ),\n  ) as NonNullable<Value>;\n}\n\nexport function unwrapProxy<Value extends object>(value: Value): Value {\n  return (value as { _wrappedValue?: Value })._wrappedValue ?? value;\n}\n","/**\n * @category utils\n * @see {@link https://github.com/aeternity/protocol/blob/master/node/api/api_encoding.md}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L205-L230}\n */\nexport enum Encoding {\n  KeyBlockHash = 'kh',\n  MicroBlockHash = 'mh',\n  BlockPofHash = 'bf',\n  BlockTxHash = 'bx',\n  BlockStateHash = 'bs',\n  Channel = 'ch',\n  ContractAddress = 'ct',\n  ContractBytearray = 'cb',\n  ContractStoreKey = 'ck',\n  ContractStoreValue = 'cv',\n  Transaction = 'tx',\n  TxHash = 'th',\n  OracleAddress = 'ok',\n  OracleQuery = 'ov',\n  OracleQueryId = 'oq',\n  OracleResponse = 'or',\n  AccountAddress = 'ak',\n  AccountSecretKey = 'sk',\n  Signature = 'sg',\n  Commitment = 'cm',\n  PeerPubkey = 'pp',\n  Name = 'nm',\n  State = 'st',\n  Poi = 'pi',\n  StateTrees = 'ss',\n  CallStateTree = 'cs',\n  Bytearray = 'ba',\n}\n\nexport type KeyBlockHash = `${Encoding.KeyBlockHash}_${string}`;\nexport type MicroBlockHash = `${Encoding.MicroBlockHash}_${string}`;\nexport type BlockPofHash = `${Encoding.BlockPofHash}_${string}`;\nexport type BlockTxHash = `${Encoding.BlockTxHash}_${string}`;\nexport type BlockStateHash = `${Encoding.BlockStateHash}_${string}`;\nexport type Channel = `${Encoding.Channel}_${string}`;\nexport type ContractAddress = `${Encoding.ContractAddress}_${string}`;\nexport type ContractBytearray = `${Encoding.ContractBytearray}_${string}`;\nexport type ContractStoreKey = `${Encoding.ContractStoreKey}_${string}`;\nexport type ContractStoreValue = `${Encoding.ContractStoreValue}_${string}`;\nexport type Transaction = `${Encoding.Transaction}_${string}`;\nexport type TxHash = `${Encoding.TxHash}_${string}`;\nexport type OracleAddress = `${Encoding.OracleAddress}_${string}`;\nexport type OracleQuery = `${Encoding.OracleQuery}_${string}`;\nexport type OracleQueryId = `${Encoding.OracleQueryId}_${string}`;\nexport type OracleResponse = `${Encoding.OracleResponse}_${string}`;\nexport type AccountAddress = `${Encoding.AccountAddress}_${string}`;\nexport type AccountSecretKey = `${Encoding.AccountSecretKey}_${string}`;\nexport type Signature = `${Encoding.Signature}_${string}`;\nexport type Commitment = `${Encoding.Commitment}_${string}`;\nexport type PeerPubkey = `${Encoding.PeerPubkey}_${string}`;\nexport type Name = `${Encoding.Name}_${string}`;\nexport type State = `${Encoding.State}_${string}`;\nexport type Poi = `${Encoding.Poi}_${string}`;\nexport type StateTrees = `${Encoding.StateTrees}_${string}`;\nexport type CallStateTree = `${Encoding.CallStateTree}_${string}`;\nexport type Bytearray = `${Encoding.Bytearray}_${string}`;\n\nexport type Generic<Type extends Encoding> = `${Type}_${string}`;\nexport type Any = `${Encoding}_${string}`;\n","import bs58 from 'bs58';\n// js extension is required for mjs build, not importing the whole package to reduce bundle size\n// eslint-disable-next-line import/extensions\nimport Sha256 from 'sha.js/sha256.js';\nimport { DecodeError, ArgumentError, InvalidChecksumError, PayloadLengthError } from './errors.js';\nimport { concatBuffers, isKeyOfObject } from './other.js';\nimport * as Encoded from './encoder-types.js';\nimport { Encoding } from './encoder-types.js';\n\nexport { Encoded, Encoding };\n\n/**\n * Calculate SHA256 hash of `input`\n * @param input - Data to hash\n * @returns Hash\n */\nexport function sha256hash(input: Uint8Array | string): Buffer {\n  return new Sha256().update(input).digest();\n}\n\n/**\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L177-L202}\n */\nconst base64Types = [\n  Encoding.ContractBytearray,\n  Encoding.ContractStoreKey,\n  Encoding.ContractStoreValue,\n  Encoding.Transaction,\n  Encoding.OracleQuery,\n  Encoding.OracleResponse,\n  Encoding.State,\n  Encoding.Poi,\n  Encoding.StateTrees,\n  Encoding.CallStateTree,\n  Encoding.Bytearray,\n] as const;\nconst base58Types = [\n  Encoding.KeyBlockHash,\n  Encoding.MicroBlockHash,\n  Encoding.BlockPofHash,\n  Encoding.BlockTxHash,\n  Encoding.BlockStateHash,\n  Encoding.Channel,\n  Encoding.ContractAddress,\n  Encoding.TxHash,\n  Encoding.OracleAddress,\n  Encoding.OracleQueryId,\n  Encoding.AccountAddress,\n  Encoding.AccountSecretKey,\n  Encoding.Signature,\n  Encoding.Commitment,\n  Encoding.PeerPubkey,\n  Encoding.Name,\n] as const;\n\n/**\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L261-L286}\n */\nconst byteSizeForType = {\n  [Encoding.KeyBlockHash]: 32,\n  [Encoding.MicroBlockHash]: 32,\n  [Encoding.BlockPofHash]: 32,\n  [Encoding.BlockTxHash]: 32,\n  [Encoding.BlockStateHash]: 32,\n  [Encoding.Channel]: 32,\n  [Encoding.ContractAddress]: 32,\n  [Encoding.TxHash]: 32,\n  [Encoding.OracleAddress]: 32,\n  [Encoding.OracleQueryId]: 32,\n  [Encoding.AccountAddress]: 32,\n  [Encoding.AccountSecretKey]: 32,\n  [Encoding.Signature]: 64,\n  [Encoding.Commitment]: 32,\n  [Encoding.PeerPubkey]: 32,\n  [Encoding.State]: 32,\n} as const;\n\nfunction ensureValidLength(data: Uint8Array, type: Encoding): void {\n  if (!isKeyOfObject(type, byteSizeForType)) return;\n  const reqLen = byteSizeForType[type];\n  if (reqLen == null || data.length === reqLen) return;\n  throw new PayloadLengthError(`Payload should be ${reqLen} bytes, got ${data.length} instead`);\n}\n\nconst getChecksum = (payload: Uint8Array): Buffer => sha256hash(sha256hash(payload)).slice(0, 4);\n\nconst addChecksum = (payload: Uint8Array): Buffer => concatBuffers([payload, getChecksum(payload)]);\n\nfunction getPayload(buffer: Buffer): Buffer {\n  const payload = buffer.slice(0, -4);\n  if (!getChecksum(payload).equals(buffer.slice(-4))) throw new InvalidChecksumError();\n  return payload;\n}\n\nconst base64 = {\n  encode: (buffer: Uint8Array) => addChecksum(buffer).toString('base64'),\n  decode: (string: string) => getPayload(Buffer.from(string, 'base64')),\n};\n\nconst base58 = {\n  encode: (buffer: Uint8Array) => bs58.encode(addChecksum(buffer)),\n  decode: (string: string) => getPayload(Buffer.from(bs58.decode(string))),\n};\n\nconst parseType = (maybeType: unknown): [Encoding, typeof base64] => {\n  const base64Type = base64Types.find((t) => t === maybeType);\n  if (base64Type != null) return [base64Type, base64];\n  const base58Type = base58Types.find((t) => t === maybeType);\n  if (base58Type != null) return [base58Type, base58];\n  throw new ArgumentError(\n    'prefix',\n    `one of ${[...base58Types, ...base64Types].join(', ')}`,\n    maybeType,\n  );\n};\n\n/**\n * Decode data using the default encoding/decoding algorithm\n * @param data - An Base58/64check encoded and prefixed string\n * (ex tx_..., sg_..., ak_....)\n * @returns Decoded data\n * @category utils\n */\nexport function decode(data: Encoded.Any): Buffer {\n  const [prefix, encodedPayload, extra] = data.split('_');\n  if (encodedPayload == null) throw new DecodeError(`Encoded string missing payload: ${data}`);\n  if (extra != null) throw new DecodeError(`Encoded string have extra parts: ${data}`);\n  const [type, encoder] = parseType(prefix);\n  const payload = encoder.decode(encodedPayload);\n  ensureValidLength(payload, type);\n  return payload;\n}\n\n/**\n * Encode data using the default encoding/decoding algorithm\n * @param data - An decoded data\n * @param type - Prefix of Transaction\n * @returns Encoded string Base58check or Base64check data\n * @category utils\n */\nexport function encode<Type extends Encoding>(data: Uint8Array, type: Type): Encoded.Generic<Type> {\n  const [, encoder] = parseType(type);\n  ensureValidLength(data, type);\n  return `${type}_${encoder.encode(data)}`;\n}\n","import nacl from 'tweetnacl';\n// js extension is required for mjs build, not importing the whole package to reduce bundle size\n// eslint-disable-next-line import/extensions\nimport { blake2b } from 'blakejs/blake2b.js';\n\nimport { concatBuffers, isItemOfArray } from './other.js';\nimport { decode, Encoded, Encoding } from './encoder.js';\nimport { ArgumentError } from './errors.js';\n\n/**\n * Check if address is valid\n * @param maybeAddress - Address to check\n * @category utils\n * @deprecated Use {@link isEncoded} instead\n */\nexport function isAddressValid(maybeAddress: string): maybeAddress is Encoded.AccountAddress;\n/**\n * Check if data is encoded in one of provided encodings\n * @param maybeEncoded - Data to check\n * @param encodings - Rest parameters with encodings to check against\n * @deprecated Use {@link isEncoded} instead\n */\nexport function isAddressValid<E extends Encoding>(\n  maybeEncoded: string,\n  ...encodings: E[]\n): maybeEncoded is Encoded.Generic<E>;\nexport function isAddressValid(maybeEncoded: string, ...encodings: Encoding[]): boolean {\n  if (encodings.length === 0) encodings = [Encoding.AccountAddress];\n  try {\n    decode(maybeEncoded as Encoded.Any);\n    const encoding = maybeEncoded.split('_')[0];\n    if (!isItemOfArray(encoding, encodings)) {\n      throw new ArgumentError(\n        'Encoded string type',\n        encodings.length > 1 ? `one of ${encodings.join(', ')}` : encodings[0],\n        encoding,\n      );\n    }\n    return true;\n  } catch (error) {\n    return false;\n  }\n}\n\n/**\n * Check if data is encoded in any encoding\n * @param maybeEncoded - Data to check\n * @category utils\n */\nexport function ensureEncoded(maybeEncoded: string): asserts maybeEncoded is Encoded.Any;\n/**\n * Check if data is encoded in one of provided encodings\n * @param maybeEncoded - Data to check\n * @param encodings - Rest parameters with encodings to check against\n */\nexport function ensureEncoded<E extends Encoding>(\n  maybeEncoded: string,\n  ...encodings: E[]\n): asserts maybeEncoded is Encoded.Generic<E>;\nexport function ensureEncoded(maybeEncoded: string, ...encodings: Encoding[]): void {\n  decode(maybeEncoded as Encoded.Any);\n  if (encodings.length === 0) return;\n  const encoding = maybeEncoded.split('_')[0];\n  if (isItemOfArray(encoding, encodings)) return;\n  throw new ArgumentError(\n    'Encoded string type',\n    encodings.length > 1 ? `one of ${encodings.join(', ')}` : encodings[0],\n    encoding,\n  );\n}\n\n/**\n * Check if data is encoded in any encoding\n * @param maybeEncoded - Data to check\n * @category utils\n */\nexport function isEncoded(maybeEncoded: string): maybeEncoded is Encoded.Any;\n/**\n * Check if data is encoded in one of provided encodings\n * @param maybeEncoded - Data to check\n * @param encodings - Rest parameters with encodings to check against\n */\nexport function isEncoded<E extends Encoding>(\n  maybeEncoded: string,\n  ...encodings: E[]\n): maybeEncoded is Encoded.Generic<E>;\nexport function isEncoded(maybeEncoded: string, ...encodings: Encoding[]): boolean {\n  try {\n    ensureEncoded(maybeEncoded, ...encodings);\n    return true;\n  } catch (error) {\n    return false;\n  }\n}\n\n/**\n * Generate a random salt (positive integer)\n * @returns random salt\n * @category utils\n */\nexport function genSalt(): number {\n  const [random] = new BigUint64Array(nacl.randomBytes(8).buffer);\n  return Number(random % BigInt(Number.MAX_SAFE_INTEGER));\n}\n\n/**\n * Converts a positive integer to the smallest possible\n * representation in a binary digit representation\n * @param value - Value to encode\n * @returns Encoded number\n * @category utils\n * @deprecated This function is out of the sdk scope. Copy implementation from sdk if necessary.\n */\nexport function encodeUnsigned(value: number): Buffer {\n  const binary = Buffer.allocUnsafe(4);\n  binary.writeUInt32BE(value);\n  return binary.subarray(binary.findIndex((i) => i !== 0));\n}\n\n/**\n * Calculate 256bits Blake2b hash of `input`\n * @param input - Data to hash\n * @returns Hash\n * @category utils\n * @deprecated use \"blakejs\" package directly\n */\nexport function hash(input: string | Uint8Array): Buffer {\n  return Buffer.from(blake2b(input, undefined, 32)); // 256 bits\n}\n\n/**\n * Verify that data was signed by account\n * @param data - Data that was signed\n * @param signature - Signature of data\n * @param address - Address of account to verify against\n * @returns is data was signed by account\n * @category utils\n */\nexport function verifySignature(\n  data: Uint8Array,\n  signature: Uint8Array,\n  address: Encoded.AccountAddress,\n): boolean {\n  return nacl.sign.detached.verify(data, signature, decode(address));\n}\n\nexport function encodeVarUInt(value: number): Buffer {\n  if (value < 0xfd) {\n    return Buffer.from([value]);\n  }\n  if (value <= 0xffff) {\n    return concatBuffers([Buffer.from([0xfd]), Buffer.from(new Uint16Array([value]).buffer)]);\n  }\n  if (value <= 0xffffffff) {\n    return concatBuffers([Buffer.from([0xfe]), Buffer.from(new Uint32Array([value]).buffer)]);\n  }\n  return concatBuffers([\n    Buffer.from([0xff]),\n    Buffer.from(new BigUint64Array([BigInt(value)]).buffer),\n  ]);\n}\n\nconst messagePrefix = Buffer.from('aeternity Signed Message:\\n', 'utf8');\nexport const messagePrefixLength = encodeVarUInt(messagePrefix.length);\n\n/**\n * Hash message\n * @param message - Message to hash\n * @returns Hash of message\n * @category utils\n */\nexport function hashMessage(message: string): Buffer {\n  const msg = Buffer.from(message, 'utf8');\n  return hash(concatBuffers([messagePrefixLength, messagePrefix, encodeVarUInt(msg.length), msg]));\n}\n\n/**\n * Verify that message was signed by address\n * @param message - Message that was signed\n * @param signature - Signature of message\n * @param address - Address to verify against\n * @returns is data was signed by address\n * @category utils\n */\nexport function verifyMessageSignature(\n  message: string,\n  signature: Uint8Array,\n  address: Encoded.AccountAddress,\n): boolean {\n  return verifySignature(hashMessage(message), signature, address);\n}\n","import BigNumber from 'bignumber.js';\nimport { NoSerializerFoundError, TypeError } from './errors.js';\n\n/**\n * Convert string, number, or BigNumber to byte array\n * @param val - value to convert\n * @param big - enables force conversion to BigNumber\n * @returns Buffer\n * @category utils\n * @deprecated use `Buffer.from(<string>)` or `Buffer.from(<number>.toString(16), 'hex')` instead\n */\n// eslint-disable-next-line import/prefer-default-export\nexport function toBytes(val?: null | string | number | BigNumber, big = false): Buffer {\n  // Encode a value to bytes.\n  // If the value is an int it will be encoded as bytes big endian\n  // Raises ValueError if the input is not an int or string\n\n  if (val == null) return Buffer.from([]);\n  if (Number.isInteger(val) || BigNumber.isBigNumber(val) || big) {\n    if (!BigNumber.isBigNumber(val)) val = new BigNumber(val);\n    if (!val.isInteger()) throw new TypeError(`Unexpected not integer value: ${val.toFixed()}`);\n    let hexString = val.toString(16);\n    if (hexString.length % 2 === 1) hexString = `0${hexString}`;\n    return Buffer.from(hexString, 'hex');\n  }\n  if (typeof val === 'string') {\n    return Buffer.from(val);\n  }\n  throw new NoSerializerFoundError();\n}\n","import BigNumber from 'bignumber.js';\nimport { mapObject } from '../../utils/other.js';\n\n/**\n * @category transaction builder\n */\nexport const DRY_RUN_ACCOUNT = {\n  pub: 'ak_11111111111111111111111111111111273Yts',\n  amount: 100000000000000000000000000000000000n,\n} as const;\n\n/**\n * @category account generalized\n * @deprecated transaction builder will ensure that gas doesn't exceed the maximum value by itself\n */\nexport const MAX_AUTH_FUN_GAS = 50000;\n/**\n * @category utils\n */\nexport type Int = number | string | BigNumber;\n/**\n * @category AENS\n */\nexport type AensName = `${string}.chain`;\n/**\n * @category transaction builder\n */\nexport const MIN_GAS_PRICE = 1e9; // TODO: don't use number for ae\n/**\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67}\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_FEE_MULTIPLIER = 1e14;\n/**\n * The next bid should be at least 5% bigger than the previous one\n * @category AENS\n * @deprecated use {@link computeBidFee} instead\n */\nexport const NAME_FEE_BID_INCREMENT = 0.05;\n/**\n * Approximately 1 day\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272}\n * @deprecated use {@link computeAuctionEndBlock} instead\n */\nexport const NAME_BID_TIMEOUT_BLOCKS = 480;\n/**\n * This is the max length for a domain that requires a base fee to be paid\n * @category AENS\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_MAX_LENGTH_FEE = 31;\n/**\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290}\n * @see {@link https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times}\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_BID_RANGES = mapObject(\n  {\n    31: 3,\n    30: 5,\n    29: 8,\n    28: 13,\n    27: 21,\n    26: 34,\n    25: 55,\n    24: 89,\n    23: 144,\n    22: 233,\n    21: 377,\n    20: 610,\n    19: 987,\n    18: 1597,\n    17: 2584,\n    16: 4181,\n    15: 6765,\n    14: 10946,\n    13: 17711,\n    12: 28657,\n    11: 46368,\n    10: 75025,\n    9: 121393,\n    8: 196418,\n    7: 317811,\n    6: 514229,\n    5: 832040,\n    4: 1346269,\n    3: 2178309,\n    2: 3524578,\n    1: 5702887,\n  },\n  ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)],\n);\n\n/**\n * @category chain\n */\nexport enum ConsensusProtocolVersion {\n  Ceres = 6,\n}\n\n/**\n * @category contract\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum VmVersion {\n  NoVm = 0,\n  Sophia = 1,\n  SophiaImprovementsMinerva = 3,\n  SophiaImprovementsFortuna = 4,\n  Fate = 5,\n  SophiaImprovementsLima = 6,\n  Fate2 = 7,\n  Fate3 = 8,\n}\n\n/**\n * @category contract\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum AbiVersion {\n  NoAbi = 0,\n  Sophia = 1,\n  Fate = 3,\n}\n\n/**\n * Enum with tag types\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_chain_objects.erl#L39-L97}\n */\n// TODO: implement serialisation for commented-out tags\nexport enum Tag {\n  SignedTx = 11,\n  SpendTx = 12,\n  OracleRegisterTx = 22,\n  OracleQueryTx = 23,\n  /**\n   * @deprecated use `OracleRespondTx` instead\n   */\n  OracleResponseTx = 24,\n  // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n  OracleRespondTx = 24,\n  OracleExtendTx = 25,\n  NameClaimTx = 32,\n  NamePreclaimTx = 33,\n  NameUpdateTx = 34,\n  NameRevokeTx = 35,\n  NameTransferTx = 36,\n  ContractCreateTx = 42,\n  ContractCallTx = 43,\n  ChannelCreateTx = 50,\n  ChannelDepositTx = 51,\n  ChannelWithdrawTx = 52,\n  ChannelForceProgressTx = 521,\n  ChannelCloseMutualTx = 53,\n  ChannelCloseSoloTx = 54,\n  ChannelSlashTx = 55,\n  ChannelSettleTx = 56,\n  ChannelOffChainTx = 57,\n  ChannelSnapshotSoloTx = 59,\n  GaAttachTx = 80,\n  GaMetaTx = 81,\n  PayingForTx = 82,\n}\n","import BigNumber from 'bignumber.js';\nimport { genSalt, hash } from '../../utils/crypto.js';\nimport { decode, encode, Encoded, Encoding } from '../../utils/encoder.js';\nimport { toBytes } from '../../utils/bytes.js';\nimport { concatBuffers } from '../../utils/other.js';\nimport {\n  AensName,\n  NAME_BID_RANGES,\n  NAME_FEE_BID_INCREMENT,\n  NAME_MAX_LENGTH_FEE,\n} from './constants.js';\nimport { ceil } from '../../utils/bignumber.js';\nimport { ArgumentError, IllegalBidFeeError } from '../../utils/errors.js';\n\n/**\n * JavaScript-based Transaction builder helper function's\n */\n\n/**\n * Build a contract address\n * @category contract\n * @param owner - Address of contract owner\n * @param nonce - Nonce of ContractCreateTx or state channel round when contract was created\n * @returns Contract address\n */\nexport function buildContractId(\n  owner: Encoded.AccountAddress,\n  nonce: number | BigNumber,\n): Encoded.ContractAddress {\n  const ownerIdAndNonce = Buffer.from([...decode(owner), ...toBytes(nonce)]);\n  const b2bHash = hash(ownerIdAndNonce);\n  return encode(b2bHash, Encoding.ContractAddress);\n}\n\n// TODO: add `build` prefix the same as others\n/**\n * Build a oracle query id\n * @category oracle\n * @param senderId - The public key of the sender account\n * @param nonce - the nonce of the transaction\n * @param oracleId - The oracle public key\n * @returns Contract public key\n */\nexport function oracleQueryId(\n  senderId: Encoded.AccountAddress,\n  nonce: number | BigNumber | string,\n  oracleId: Encoded.OracleAddress,\n): Encoded.OracleQueryId {\n  function _int32(val: number | string | BigNumber): Buffer {\n    const nonceBE = toBytes(val, true);\n    return concatBuffers([Buffer.alloc(32 - nonceBE.length), nonceBE]);\n  }\n\n  const b2bHash = hash(Buffer.from([...decode(senderId), ..._int32(nonce), ...decode(oracleId)]));\n  return encode(b2bHash, Encoding.OracleQueryId);\n}\n\nconst AENS_SUFFIX = '.chain';\n\nexport function nameToPunycode(maybeName: string): AensName {\n  const [name, suffix, ...other] = maybeName.split('.');\n  if (other.length !== 0) throw new ArgumentError('aens name', 'including only one dot', maybeName);\n  if (suffix !== AENS_SUFFIX.slice(1)) {\n    throw new ArgumentError('aens name', `suffixed with ${AENS_SUFFIX}`, maybeName);\n  }\n  if (/\\p{Emoji_Presentation}/u.test(name)) {\n    throw new ArgumentError('aens name', 'not containing emoji', maybeName);\n  }\n  if (name[2] === '-' && name[3] === '-') {\n    throw new ArgumentError(\n      'aens name',\n      'without \"-\" char in both the third and fourth positions',\n      maybeName,\n    );\n  }\n  if (name[0] === '-') {\n    throw new ArgumentError('aens name', 'starting with no \"-\" char', maybeName);\n  }\n  if (name.at(-1) === '-') {\n    throw new ArgumentError('aens name', 'ending with no \"-\" char', maybeName);\n  }\n  let punycode;\n  try {\n    const u = new URL(`http://${name}.${suffix}`);\n    if (u.username + u.password + u.port + u.search + u.hash !== '' || u.pathname !== '/') {\n      throw new ArgumentError('aens name', 'valid', maybeName);\n    }\n    punycode = u.host;\n  } catch (error) {\n    if (error instanceof TypeError && error.message.includes('Invalid URL')) {\n      throw new ArgumentError('aens name', 'valid', maybeName);\n    }\n    throw error;\n  }\n  if (!/^[a-z0-9.-]+$/i.test(punycode)) {\n    throw new ArgumentError('aens name', 'without illegal chars', maybeName);\n  }\n  if (punycode.length > 63 + AENS_SUFFIX.length) {\n    throw new ArgumentError('aens name', 'not too long', maybeName);\n  }\n  return punycode as AensName;\n}\n\n// TODO: replace `produce` with `build` the same as others\n/**\n * Encode an AENS name\n * @category AENS\n * @param name - Name to encode\n * @returns `nm_` prefixed encoded AENS name\n */\nexport function produceNameId(name: AensName): Encoded.Name {\n  return encode(hash(nameToPunycode(name)), Encoding.Name);\n}\n\n// TODO: add `build` the same as others\n/**\n * Generate the commitment hash by hashing the salt and\n * name, base 58 encoding the result and prepending 'cm_'\n * @category transaction builder\n * @param name - Name to be registered\n * @param salt - Random number\n * @returns Commitment hash\n */\nexport function commitmentHash(name: AensName, salt: number = genSalt()): Encoded.Commitment {\n  return encode(\n    hash(\n      concatBuffers([\n        Buffer.from(nameToPunycode(name)),\n        Buffer.from(salt.toString(16).padStart(64, '0'), 'hex'),\n      ]),\n    ),\n    Encoding.Commitment,\n  );\n}\n\n/**\n * Utility function to convert bytes to int\n * @category utils\n * @param buffer - Value\n * @returns Buffer Buffer from number(BigEndian)\n * @deprecated use `BigInt('0x' + <buffer>.toString('hex')).toString()` instead\n */\nexport function readInt(buffer: Uint8Array = Buffer.from([])): string {\n  return BigInt('0x' + Buffer.from(buffer).toString('hex')).toString();\n}\n\n/**\n * Ensure that name is valid AENS name, would throw an exception otherwise\n * @category AENS\n * @param maybeName - AENS name\n */\nexport function ensureName(maybeName: string): asserts maybeName is AensName {\n  nameToPunycode(maybeName);\n}\n\n/**\n * Is AENS name valid\n * @category AENS\n * @param maybeName - AENS name\n */\nexport function isName(maybeName: string): maybeName is AensName {\n  try {\n    ensureName(maybeName);\n    return true;\n  } catch (error) {\n    return false;\n  }\n}\n\nconst encodingToPointerKey = [\n  [Encoding.AccountAddress, 'account_pubkey'],\n  [Encoding.OracleAddress, 'oracle_pubkey'],\n  [Encoding.ContractAddress, 'contract_pubkey'],\n  [Encoding.Channel, 'channel'],\n] as const;\n\n/**\n * @category AENS\n * @param identifier - account/oracle/contract address, or channel\n * @returns default AENS pointer key\n */\nexport function getDefaultPointerKey(\n  identifier: Encoded.Generic<(typeof encodingToPointerKey)[number][0]>,\n): (typeof encodingToPointerKey)[number][1] {\n  decode(identifier);\n  const encoding = identifier.substring(0, 2);\n  const result = encodingToPointerKey.find(([e]) => e === encoding)?.[1];\n  if (result != null) return result;\n  throw new ArgumentError(\n    'identifier',\n    `prefixed with one of ${encodingToPointerKey.map(([e]) => `${e}_`).join(', ')}`,\n    identifier,\n  );\n}\n\n/**\n * Get the minimum AENS name fee\n * @category AENS\n * @param name - the AENS name to get the fee for\n * @returns the minimum fee for the AENS name auction\n */\nexport function getMinimumNameFee(name: AensName): BigNumber {\n  const nameLength = nameToPunycode(name).length - AENS_SUFFIX.length;\n  return NAME_BID_RANGES[Math.min(nameLength, NAME_MAX_LENGTH_FEE)];\n}\n\n/**\n * Compute bid fee for AENS auction\n * @category AENS\n * @param name - the AENS name to get the fee for\n * @param options - Options\n * @param options.startFee - Auction start fee\n * @param options.increment - Bid multiplier(In percentage, must be between 0 and 1)\n * @returns Bid fee\n */\nexport function computeBidFee(\n  name: AensName,\n  {\n    startFee,\n    increment = NAME_FEE_BID_INCREMENT,\n  }: { startFee?: number | string | BigNumber; increment?: number } = {},\n): BigNumber {\n  if (!(Number(increment) === increment && increment % 1 !== 0))\n    throw new IllegalBidFeeError(`Increment must be float. Current increment ${increment}`);\n  if (increment < NAME_FEE_BID_INCREMENT)\n    throw new IllegalBidFeeError(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`);\n  // FIXME: increment should be used somehow here\n  return ceil(\n    new BigNumber(startFee ?? getMinimumNameFee(name)).times(\n      new BigNumber(NAME_FEE_BID_INCREMENT).plus(1),\n    ),\n  );\n}\n\n/**\n * Compute approximate auction end height.\n *\n * From Ceres, each time a new (successful!) bid is made for a name the auction is extended for up\n * to 120 key-blocks/generations. I.e. after the bid there is always at least 120 generations to\n * make a higher bid.\n *\n * @category AENS\n * @param name - Name to compute auction end for\n * @param claimHeight - Auction starting height\n * @see {@link https://github.com/aeternity/protocol/blob/cfb19ce/AENS.md#from-ceres-protocol-upgrade}\n * @returns Auction end height\n */\nexport function computeAuctionEndBlock(name: AensName, claimHeight: number): number {\n  const length = nameToPunycode(name).length - AENS_SUFFIX.length;\n  const h =\n    (length <= 4 ? 2400 : null) ?? (length <= 8 ? 960 : null) ?? (length <= 12 ? 480 : null) ?? 0;\n  return h + claimHeight;\n}\n\n/**\n * Is name accept going to auction\n * @category AENS\n */\nexport function isAuctionName(name: AensName): boolean {\n  return nameToPunycode(name).length < 13 + AENS_SUFFIX.length;\n}\n","import { AE_AMOUNT_FORMATS, formatAmount } from './utils/amount-formatter.js';\nimport { isAccountNotFoundError, pause } from './utils/other.js';\nimport { unwrapProxy } from './utils/wrap-proxy.js';\nimport { isName, produceNameId } from './tx/builder/helpers.js';\nimport { AensName, DRY_RUN_ACCOUNT } from './tx/builder/constants.js';\nimport {\n  AensPointerContextError,\n  DryRunError,\n  InvalidAensNameError,\n  TxTimedOutError,\n  TxNotInChainError,\n  InternalError,\n} from './utils/errors.js';\nimport Node from './Node.js';\nimport { DryRunResult, DryRunResults, SignedTx } from './apis/node/index.js';\nimport { decode, encode, Encoded, Encoding } from './utils/encoder.js';\n\nasync function getEventInterval(\n  type: 'key-block' | 'micro-block',\n  {\n    _expectedMineRate,\n    _microBlockCycle,\n    onNode,\n  }: { _expectedMineRate?: number; _microBlockCycle?: number; onNode: Node },\n): Promise<number> {\n  if (_expectedMineRate != null && type === 'key-block') return _expectedMineRate;\n  if (_microBlockCycle != null && type === 'micro-block') return _microBlockCycle;\n\n  const networkId = await onNode.getNetworkId();\n  if (networkId === 'ae_dev') return 0;\n  if (!['ae_mainnet', 'ae_uat'].includes(networkId) && (await onNode._isHyperchain())) return 3000;\n\n  if (type === 'key-block') return 180000;\n  else return 3000;\n}\n\n/**\n * @category chain\n * @param type - Type\n * @param options - Options\n */\nexport async function _getPollInterval(\n  type: Parameters<typeof getEventInterval>[0],\n  options: Parameters<typeof getEventInterval>[1],\n): Promise<number> {\n  return Math.floor((await getEventInterval(type, options)) / 3);\n}\n\nconst heightCache: WeakMap<Node, { time: number; height: number }> = new WeakMap();\n\n/**\n * Obtain current height of the chain\n * @category chain\n * @param options - Options\n * @param options.cached - Get height from the cache. The lag behind the actual height shouldn't\n * be more than 1 block. Use if needed to reduce requests count, and approximate value can be used.\n * For example, for timeout check in transaction status polling.\n * @returns Current chain height\n */\nexport async function getHeight({\n  cached = false,\n  ...options\n}: {\n  onNode: Node;\n  cached?: boolean;\n} & Parameters<typeof _getPollInterval>[1]): Promise<number> {\n  const onNode = unwrapProxy(options.onNode);\n  if (cached) {\n    const cache = heightCache.get(onNode);\n    if (cache != null && cache.time > Date.now() - (await _getPollInterval('key-block', options))) {\n      return cache.height;\n    }\n  }\n  const { height } = await onNode.getCurrentKeyBlockHeight();\n  heightCache.set(onNode, { height, time: Date.now() });\n  return height;\n}\n\n/**\n * Return transaction details if it is mined, fail otherwise.\n * If the transaction has ttl specified then would wait till it leaves the mempool.\n * Otherwise would fail if a specified amount of blocks were mined.\n * @category chain\n * @param th - The hash of transaction to poll\n * @param options - Options\n * @param options.interval - Interval (in ms) at which to poll the chain\n * @param options.blocks - Number of blocks mined after which to fail if transaction ttl is not set\n * @param options.onNode - Node to use\n * @returns The transaction as it was mined\n */\nexport async function poll(\n  th: Encoded.TxHash,\n  {\n    blocks = 5,\n    interval,\n    ...options\n  }: { blocks?: number; interval?: number; onNode: Node } & Parameters<typeof _getPollInterval>[1],\n): ReturnType<Node['getTransactionByHash']> {\n  interval ??= await _getPollInterval('micro-block', options);\n  let max;\n  do {\n    const tx = await options.onNode.getTransactionByHash(th);\n    if (tx.blockHeight !== -1) return tx;\n    if (max == null) {\n      max = tx.tx.ttl !== 0 ? -1 : (await getHeight({ ...options, cached: true })) + blocks;\n    }\n    await pause(interval);\n  } while (max === -1 ? true : (await getHeight({ ...options, cached: true })) < max);\n  throw new TxTimedOutError(blocks, th);\n}\n\n/**\n * Wait for the chain to reach a specific height\n * @category chain\n * @param height - Height to wait for\n * @param options - Options\n * @param options.interval - Interval (in ms) at which to poll the chain\n * @param options.onNode - Node to use\n * @returns Current chain height\n */\nexport async function awaitHeight(\n  height: number,\n  {\n    interval,\n    ...options\n  }: { interval?: number; onNode: Node } & Parameters<typeof _getPollInterval>[1],\n): Promise<number> {\n  interval ??= Math.min(await _getPollInterval('key-block', options), 5000);\n  let currentHeight;\n  do {\n    if (currentHeight != null) await pause(interval);\n    currentHeight = await getHeight(options);\n  } while (currentHeight < height);\n  return currentHeight;\n}\n\n/**\n * Wait for transaction confirmation\n * @category chain\n * @param txHash - Transaction hash\n * @param options - Options\n * @param options.confirm - Number of micro blocks to wait for transaction confirmation\n * @param options.onNode - Node to use\n * @returns Current Height\n */\nexport async function waitForTxConfirm(\n  txHash: Encoded.TxHash,\n  {\n    confirm = 3,\n    onNode,\n    ...options\n  }: { confirm?: number; onNode: Node } & Parameters<typeof awaitHeight>[1],\n): Promise<number> {\n  const { blockHeight } = await onNode.getTransactionByHash(txHash);\n  const height = await awaitHeight(blockHeight + confirm, { onNode, ...options });\n  const { blockHeight: newBlockHeight } = await onNode.getTransactionByHash(txHash);\n  switch (newBlockHeight) {\n    case -1:\n      throw new TxNotInChainError(txHash);\n    case blockHeight:\n      return height;\n    default:\n      return waitForTxConfirm(txHash, { onNode, confirm, ...options });\n  }\n}\n\n/**\n * Get account by account public key\n * @category chain\n * @param address - Account address (public key)\n * @param options - Options\n * @param options.height - Get account on specific block by block height\n * @param options.hash - Get account on specific block by micro block hash or key block hash\n * @param options.onNode - Node to use\n */\nexport async function getAccount(\n  address: Encoded.AccountAddress | Encoded.ContractAddress,\n  {\n    height,\n    hash,\n    onNode,\n  }: { height?: number; hash?: Encoded.KeyBlockHash | Encoded.MicroBlockHash; onNode: Node },\n): ReturnType<Node['getAccountByPubkey']> {\n  if (height != null) return onNode.getAccountByPubkeyAndHeight(address, height);\n  if (hash != null) return onNode.getAccountByPubkeyAndHash(address, hash);\n  return onNode.getAccountByPubkey(address);\n}\n\n/**\n * Request the balance of specified account\n * @category chain\n * @param address - The public account address to obtain the balance for\n * @param options - Options\n * @param options.format\n * @param options.height - The chain height at which to obtain the balance for\n * (default: top of chain)\n * @param options.hash - The block hash on which to obtain the balance for (default: top of chain)\n */\nexport async function getBalance(\n  address: Encoded.AccountAddress | Encoded.ContractAddress | Encoded.OracleAddress,\n  {\n    /**\n     * @deprecated no replacement implemented yet\n     */\n    format = AE_AMOUNT_FORMATS.AETTOS,\n    ...options\n  }: { format?: AE_AMOUNT_FORMATS } & Parameters<typeof getAccount>[1],\n): Promise<string> {\n  const addr = address.startsWith('ok_')\n    ? encode(decode(address), Encoding.AccountAddress)\n    : (address as Encoded.AccountAddress | Encoded.ContractAddress);\n\n  const { balance } = await getAccount(addr, options).catch((error) => {\n    if (!isAccountNotFoundError(error)) throw error;\n    return { balance: 0n };\n  });\n\n  return formatAmount(balance, { targetDenomination: format });\n}\n\n/**\n * Obtain current generation\n * @category chain\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Current Generation\n * @deprecated Use {@link Node.getCurrentGeneration} instead\n */\nexport async function getCurrentGeneration({\n  onNode,\n}: {\n  onNode: Node;\n}): ReturnType<Node['getCurrentGeneration']> {\n  return onNode.getCurrentGeneration();\n}\n\n/**\n * Get generation by hash or height\n * @category chain\n * @param hashOrHeight - Generation hash or height\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Generation\n * @deprecated Use {@link Node.getGenerationByHash} or {@link Node.getGenerationByHeight} instead\n */\nexport async function getGeneration(\n  hashOrHeight: Encoded.KeyBlockHash | number,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getGenerationByHash']> {\n  if (typeof hashOrHeight === 'number') return onNode.getGenerationByHeight(hashOrHeight);\n  return onNode.getGenerationByHash(hashOrHeight);\n}\n\n/**\n * Get micro block transactions\n * @category chain\n * @param hash - Micro block hash\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Transactions\n * @deprecated Use {@link Node.getMicroBlockTransactionsByHash} instead\n */\nexport async function getMicroBlockTransactions(\n  hash: Encoded.MicroBlockHash,\n  { onNode }: { onNode: Node },\n): Promise<SignedTx[]> {\n  return (await onNode.getMicroBlockTransactionsByHash(hash)).transactions;\n}\n\n/**\n * Get key block\n * @category chain\n * @param hashOrHeight - Key block hash or height\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Key Block\n * @deprecated Use {@link Node.getKeyBlockByHeight} or {@link Node.getKeyBlockByHash} instead\n */\nexport async function getKeyBlock(\n  hashOrHeight: Encoded.KeyBlockHash | number,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getKeyBlockByHash']> {\n  if (typeof hashOrHeight === 'number') return onNode.getKeyBlockByHeight(hashOrHeight);\n  return onNode.getKeyBlockByHash(hashOrHeight);\n}\n\n/**\n * Get micro block header\n * @category chain\n * @param hash - Micro block hash\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Micro block header\n * @deprecated Use {@link Node.getMicroBlockHeaderByHash} instead\n */\nexport async function getMicroBlockHeader(\n  hash: Encoded.MicroBlockHash,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getMicroBlockHeaderByHash']> {\n  return onNode.getMicroBlockHeaderByHash(hash);\n}\n\ninterface TxDryRunArguments {\n  tx: Encoded.Transaction;\n  accountAddress: Encoded.AccountAddress;\n  top?: number | Encoded.KeyBlockHash | Encoded.MicroBlockHash;\n  txEvents?: any;\n  resolve: Function;\n  reject: Function;\n}\nconst txDryRunRequests: Map<string, TxDryRunArguments[] & { timeout?: NodeJS.Timeout }> = new Map();\n\nasync function txDryRunHandler(key: string, onNode: Node): Promise<void> {\n  const rs = txDryRunRequests.get(key);\n  txDryRunRequests.delete(key);\n  if (rs == null) throw new InternalError(\"Can't get dry-run request\");\n\n  let dryRunRes;\n  try {\n    const top =\n      typeof rs[0].top === 'number'\n        ? (await onNode.getKeyBlockByHeight(rs[0].top)).hash\n        : rs[0].top;\n    dryRunRes = await onNode.protectedDryRunTxs({\n      top,\n      txEvents: rs[0].txEvents,\n      txs: rs.map((req) => ({ tx: req.tx })),\n      accounts: Array.from(new Set(rs.map((req) => req.accountAddress))).map((pubKey) => ({\n        pubKey,\n        amount: DRY_RUN_ACCOUNT.amount,\n      })),\n    });\n  } catch (error) {\n    rs.forEach(({ reject }) => reject(error));\n    return;\n  }\n\n  const { results, txEvents } = dryRunRes;\n  results.forEach(({ result, reason, ...resultPayload }, idx) => {\n    const { resolve, reject, tx, accountAddress } = rs[idx];\n    if (result === 'ok') resolve({ ...resultPayload, txEvents });\n    else reject(Object.assign(new DryRunError(reason as string), { tx, accountAddress }));\n  });\n}\n\n/**\n * Transaction dry-run\n * @category chain\n * @param tx - transaction to execute\n * @param accountAddress - address that will be used to execute transaction\n * @param options - Options\n * @param options.top - hash of block on which to make dry-run\n * @param options.txEvents - collect and return on-chain tx events that would result from the call\n * @param options.combine - Enables combining of similar requests to a single dry-run call\n * @param options.onNode - Node to use\n */\nexport async function txDryRun(\n  tx: Encoded.Transaction,\n  accountAddress: Encoded.AccountAddress,\n  {\n    top,\n    txEvents,\n    combine,\n    onNode,\n  }: { top?: TxDryRunArguments['top']; txEvents?: boolean; combine?: boolean; onNode: Node },\n): Promise<{ txEvents?: DryRunResults['txEvents'] } & DryRunResult> {\n  const key = combine === true ? [top, txEvents].join() : 'immediate';\n  const requests = txDryRunRequests.get(key) ?? [];\n  txDryRunRequests.set(key, requests);\n  return new Promise((resolve, reject) => {\n    requests.push({\n      tx,\n      accountAddress,\n      top,\n      txEvents,\n      resolve,\n      reject,\n    });\n    if (combine !== true) {\n      void txDryRunHandler(key, onNode);\n      return;\n    }\n    requests.timeout ??= setTimeout(() => {\n      void txDryRunHandler(key, onNode);\n    });\n  });\n}\n\n/**\n * Get contract byte code\n * @category contract\n * @param contractId - Contract address\n * @param options - Options\n * @param options.onNode - Node to use\n * @deprecated Use {@link Node.getContractCode} instead\n */\nexport async function getContractByteCode(\n  contractId: Encoded.ContractAddress,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getContractCode']> {\n  return onNode.getContractCode(contractId);\n}\n\n/**\n * Get contract entry\n * @category contract\n * @param contractId - Contract address\n * @param options - Options\n * @param options.onNode - Node to use\n * @deprecated Use {@link Node.getContract} instead\n */\nexport async function getContract(\n  contractId: Encoded.ContractAddress,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getContract']> {\n  return onNode.getContract(contractId);\n}\n\n/**\n * Get name entry\n * @category AENS\n * @param name - AENS name\n * @param options - Options\n * @param options.onNode - Node to use\n * @deprecated Use {@link Node.getNameEntryByName} or {@link Name.getState} instead\n */\nexport async function getName(\n  name: AensName,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getNameEntryByName']> {\n  return onNode.getNameEntryByName(name);\n}\n\n/**\n * Resolve AENS name and return name hash\n * @category AENS\n * @param nameOrId - AENS name or address\n * @param key - in AENS pointers record\n * @param options - Options\n * @param options.verify - To ensure that name exist and have a corresponding pointer\n * // TODO: avoid that to don't trust to current api gateway\n * @param options.resolveByNode - Enables pointer resolving using node\n * @param options.onNode - Node to use\n * @returns Address or AENS name hash\n */\nexport async function resolveName<Type extends Encoding.AccountAddress | Encoding.ContractAddress>(\n  nameOrId: AensName | Encoded.Generic<Type>,\n  key: string,\n  {\n    verify = true,\n    resolveByNode = false,\n    onNode,\n  }: { verify?: boolean; resolveByNode?: boolean; onNode: Node },\n): Promise<Encoded.Generic<Type | Encoding.Name>> {\n  if (isName(nameOrId)) {\n    if (verify || resolveByNode) {\n      const name = await onNode.getNameEntryByName(nameOrId);\n      const pointer = name.pointers.find((p) => p.key === key);\n      if (pointer == null) throw new AensPointerContextError(nameOrId, key);\n      if (resolveByNode) return pointer.id as Encoded.Generic<Type>;\n    }\n    return produceNameId(nameOrId);\n  }\n  try {\n    decode(nameOrId);\n    return nameOrId;\n  } catch (error) {\n    throw new InvalidAensNameError(`Invalid name or address: ${nameOrId}`);\n  }\n}\n","import { ConsensusProtocolVersion, VmVersion, AbiVersion } from '../constants.js';\nimport Node from '../../../Node.js';\n\n/*\n * First abi/vm by default\n * @see {@link https://github.com/aeternity/protocol/blob/71cf111/contracts/contract_vms.md#virtual-machines-on-the-æternity-blockchain}\n */\nexport const ProtocolToVmAbi = {\n  [ConsensusProtocolVersion.Ceres]: {\n    'contract-create': {\n      vmVersion: [VmVersion.Fate3],\n      abiVersion: [AbiVersion.Fate],\n    },\n    'contract-call': {\n      vmVersion: [],\n      abiVersion: [AbiVersion.Fate],\n    },\n    'oracle-call': {\n      vmVersion: [],\n      abiVersion: [AbiVersion.NoAbi, AbiVersion.Fate],\n    },\n  },\n} as const;\n\nexport interface CtVersion {\n  vmVersion: VmVersion;\n  abiVersion: AbiVersion;\n}\n\nexport function getProtocolDetails(\n  protocolVersion: ConsensusProtocolVersion,\n  type: 'contract-create' | 'contract-call' | 'oracle-call',\n): CtVersion {\n  const protocol = ProtocolToVmAbi[protocolVersion][type];\n  return {\n    vmVersion: protocol.vmVersion[0] ?? VmVersion.Fate2,\n    abiVersion: protocol.abiVersion[0],\n  };\n}\n\nexport default {\n  serialize(\n    value: CtVersion | undefined,\n    params: {},\n    {\n      consensusProtocolVersion = ConsensusProtocolVersion.Ceres,\n    }: { consensusProtocolVersion?: ConsensusProtocolVersion },\n  ): Buffer {\n    value ??= getProtocolDetails(consensusProtocolVersion, 'contract-create');\n\n    return Buffer.from([value.vmVersion, 0, value.abiVersion]);\n  },\n\n  async prepare(\n    value: CtVersion | undefined,\n    params: {},\n    // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n    options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n  ): Promise<CtVersion | undefined> {\n    if (value != null) return value;\n    if (options.consensusProtocolVersion != null) return undefined;\n    if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n    if (options.onNode != null) {\n      return getProtocolDetails(\n        (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n        'contract-create',\n      );\n    }\n    return undefined;\n  },\n\n  deserialize(buffer: Buffer): CtVersion {\n    const [vm, , abi] = buffer;\n    return { vmVersion: +vm, abiVersion: +abi };\n  },\n};\n","import { Tag, ConsensusProtocolVersion, AbiVersion } from '../constants.js';\nimport { getProtocolDetails } from './ct-version.js';\nimport Node from '../../../Node.js';\n\nexport default {\n  _getProtocolDetails(c: ConsensusProtocolVersion, tag: Tag): AbiVersion {\n    const kind =\n      Tag.ContractCallTx === tag || Tag.GaMetaTx === tag ? 'contract-call' : 'oracle-call';\n    return getProtocolDetails(c, kind).abiVersion;\n  },\n\n  serialize(\n    value: AbiVersion | undefined,\n    { tag }: { tag: Tag },\n    {\n      consensusProtocolVersion = ConsensusProtocolVersion.Ceres,\n    }: { consensusProtocolVersion?: ConsensusProtocolVersion },\n  ): Buffer {\n    const result = value ?? this._getProtocolDetails(consensusProtocolVersion, tag);\n\n    return Buffer.from([result]);\n  },\n\n  async prepare(\n    value: AbiVersion | undefined,\n    { tag }: { tag: Tag },\n    // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n    options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n  ): Promise<AbiVersion | undefined> {\n    if (value != null) return value;\n    if (options.consensusProtocolVersion != null) return undefined;\n    if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n    if (options.onNode != null) {\n      return this._getProtocolDetails(\n        (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n        tag,\n      );\n    }\n    return undefined;\n  },\n\n  deserialize(buffer: Buffer): AbiVersion {\n    return buffer[0];\n  },\n};\n","import { ArgumentError, PrefixNotFoundError, TagNotFoundError } from '../../../utils/errors.js';\nimport { toBytes } from '../../../utils/bytes.js';\nimport { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { isItemOfArray } from '../../../utils/other.js';\n\n/**\n * Map of prefix to ID tag constant\n * @see {@link https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_id.erl#L97-L102}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L163-L168}\n */\nexport const idTagToEncoding = [\n  Encoding.AccountAddress,\n  Encoding.Name,\n  Encoding.Commitment,\n  Encoding.OracleAddress,\n  Encoding.ContractAddress,\n  Encoding.Channel,\n] as const;\n\nexport type AddressEncodings = (typeof idTagToEncoding)[number];\n\nexport default function genAddressField<Encoding extends AddressEncodings>(\n  ...encodings: Encoding[]\n): {\n  serialize: (value: Encoded.Generic<Encoding>) => Buffer;\n  deserialize: (value: Buffer) => Encoded.Generic<Encoding>;\n} {\n  return {\n    /**\n     * Utility function to create and _id type\n     * @param hashId - Encoded hash\n     * @returns Buffer Buffer with ID tag and decoded HASh\n     */\n    serialize(hashId) {\n      const enc = hashId.slice(0, 2);\n      if (!isItemOfArray(enc, idTagToEncoding)) throw new TagNotFoundError(enc);\n      if (!isItemOfArray(enc, encodings)) {\n        throw new ArgumentError('Address encoding', encodings.join(', '), enc);\n      }\n      const idTag = idTagToEncoding.indexOf(enc) + 1;\n      return Buffer.from([...toBytes(idTag), ...decode(hashId)]);\n    },\n\n    /**\n     * Utility function to read and _id type\n     * @param buf - Data\n     * @returns Encoded hash string with prefix\n     */\n    deserialize(buf) {\n      const idTag = Buffer.from(buf).readUIntBE(0, 1);\n      const enc = idTagToEncoding[idTag - 1];\n      if (enc == null) throw new PrefixNotFoundError(idTag);\n      if (!isItemOfArray(enc, encodings)) {\n        throw new ArgumentError('Address encoding', encodings.join(', '), enc);\n      }\n      return encode(buf.subarray(1), enc) as Encoded.Generic<Encoding>;\n    },\n  };\n}\n","export default function genArrayField<Input, Output, Binary>(itemHandler: {\n  serialize: (value: Input, params: unknown) => Binary;\n  deserialize: (value: Binary, params: unknown) => Output;\n}): {\n  serialize: (value: readonly Input[], params: unknown) => Binary[];\n  deserialize: (value: Binary[], params: unknown) => Output[];\n} {\n  return {\n    serialize(items, params) {\n      return items.map((item) => itemHandler.serialize(item, params));\n    },\n\n    deserialize(buffers, params) {\n      return buffers.map((buffer) => itemHandler.deserialize(buffer, params));\n    },\n  };\n}\n","import { readInt } from '../helpers.js';\nimport { Int } from '../constants.js';\nimport { ArgumentError } from '../../../utils/errors.js';\nimport { toBytes } from '../../../utils/bytes.js';\n\nexport default {\n  serialize(value: Int): Buffer {\n    if (Number(value) < 0) throw new ArgumentError('value', 'greater or equal to 0', value);\n    return toBytes(value, true);\n  },\n\n  deserialize(value: Buffer): string {\n    return readInt(value);\n  },\n};\n","import uInt from './u-int.js';\nimport { Int } from '../constants.js';\nimport { AE_AMOUNT_FORMATS, formatAmount } from '../../../utils/amount-formatter.js';\n\nexport default {\n  ...uInt,\n\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  serializeAettos(value: string | undefined, params: {}, options: {}): string {\n    return value ?? '0';\n  },\n\n  serialize(\n    value: Int | undefined,\n    params: {},\n    { denomination = AE_AMOUNT_FORMATS.AETTOS, ...options }: { denomination?: AE_AMOUNT_FORMATS },\n  ): Buffer {\n    return uInt.serialize(\n      this.serializeAettos(\n        value != null ? formatAmount(value, { denomination }) : value,\n        params,\n        options,\n      ),\n    );\n  },\n};\n","import { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { ArgumentError } from '../../../utils/errors.js';\n\nexport default function genEncodedField<E extends Encoding, Optional extends boolean = false>(\n  encoding: E,\n  optional?: Optional,\n): {\n  serialize: Optional extends true\n    ? (value?: Encoded.Generic<E>) => Buffer\n    : (value: Encoded.Generic<E>) => Buffer;\n  deserialize: (value: Buffer) => Encoded.Generic<E>;\n} {\n  return {\n    serialize(encodedData?: Encoded.Generic<E>) {\n      if (encodedData == null) {\n        if (optional === true) return Buffer.from([]);\n        throw new ArgumentError('Encoded data', 'provided', encodedData);\n      }\n      return decode(encodedData);\n    },\n\n    deserialize(buffer) {\n      return encode(buffer, encoding);\n    },\n  };\n}\n","import { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { EntryTag } from '../entry/constants.js';\nimport type { unpackEntry as unpackEntryType, packEntry as packEntryType } from '../entry/index.js';\n\nexport default function genEntryField<T extends EntryTag = EntryTag>(\n  tag?: T,\n): {\n  serialize: (\n    // TODO: replace with `TxParams & { tag: T }`,\n    //  but fix TS2502 value is referenced directly or indirectly in its own type annotation\n    value: any,\n    options: { packEntry: typeof packEntryType },\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n    options: { unpackEntry: typeof unpackEntryType },\n    // TODO: replace with `TxUnpacked & { tag: T }`,\n    //  TS2577 Return type annotation circularly references itself\n  ) => any;\n} {\n  return {\n    serialize(txParams, { packEntry }) {\n      if (ArrayBuffer.isView(txParams)) return Buffer.from(txParams as any);\n      if (typeof txParams === 'string' && txParams.startsWith('tx_')) {\n        return decode(txParams as Encoded.Transaction);\n      }\n      return decode(packEntry({ ...txParams, ...(tag != null && { tag }) }));\n    },\n\n    deserialize(buf, { unpackEntry }) {\n      return unpackEntry(encode(buf, Encoding.Bytearray), tag);\n    },\n  };\n}\n","import { ArgumentError } from '../../../utils/errors.js';\nimport { isItemOfArray } from '../../../utils/other.js';\n\nexport default function genEnumerationField<Enum extends { [key: string]: number | string }>(\n  enm: Enum,\n): {\n  serialize: (value: Enum[keyof Enum]) => Buffer;\n  deserialize: (value: Buffer) => Enum[keyof Enum];\n} {\n  const values = Object.values(enm).filter((v) => typeof v === 'number');\n  return {\n    serialize(value) {\n      if (typeof value !== 'number') throw new ArgumentError('value', 'to be a number', value);\n      if (value > 0xff) throw new ArgumentError('value', 'to be less than 256', value);\n      if (!isItemOfArray(value, values)) {\n        throw new ArgumentError('value', 'to be a value of Enum', value);\n      }\n      return Buffer.from([value]);\n    },\n\n    deserialize(buffer) {\n      if (buffer.length !== 1) {\n        throw new ArgumentError('buffer', 'to have single element', buffer.length);\n      }\n      const value = buffer[0];\n      if (!isItemOfArray(value, values)) {\n        throw new ArgumentError('value', 'to be a value of Enum', value);\n      }\n      return value as Enum[keyof Enum];\n    },\n  };\n}\n","import BigNumber from 'bignumber.js';\nimport coinAmount from './coin-amount.js';\nimport { ArgumentError, IllegalArgumentError } from '../../../utils/errors.js';\nimport { Int, MIN_GAS_PRICE } from '../constants.js';\nimport Node from '../../../Node.js';\nimport { AE_AMOUNT_FORMATS, formatAmount } from '../../../utils/amount-formatter.js';\n\nconst gasPriceCache: WeakMap<Node, { time: number; gasPrice: bigint }> = new WeakMap();\n\nexport async function getCachedIncreasedGasPrice(node: Node): Promise<bigint> {\n  const cache = gasPriceCache.get(node);\n  if (cache != null && cache.time > Date.now() - 20 * 1000) {\n    return cache.gasPrice;\n  }\n\n  const { minGasPrice, utilization } = (await node.getRecentGasPrices())[0];\n  let gasPrice =\n    utilization < 70\n      ? 0n\n      : BigInt(new BigNumber(minGasPrice.toString()).times(1.01).integerValue().toFixed());\n\n  const maxSafeGasPrice = BigInt(MIN_GAS_PRICE) * 100000n; // max microblock fee is 600ae or 35usd\n  if (gasPrice > maxSafeGasPrice) {\n    console.warn(\n      `Estimated gas price ${gasPrice} exceeds the maximum safe value for unknown reason.` +\n        ` It will be limited to ${maxSafeGasPrice}.` +\n        ' To overcome this restriction provide `gasPrice`/`fee` in options.',\n    );\n    gasPrice = maxSafeGasPrice;\n  }\n\n  gasPriceCache.set(node, { gasPrice, time: Date.now() });\n  return gasPrice;\n}\n\n// TODO: use withFormatting after using a single type for coins representation\nexport default {\n  ...coinAmount,\n\n  async prepare(\n    value: Int | undefined,\n    params: {},\n    {\n      onNode,\n      denomination,\n    }: {\n      onNode?: Node;\n      /**\n       * @deprecated no replacement implemented yet\n       */\n      denomination?: AE_AMOUNT_FORMATS;\n    },\n  ): Promise<Int | undefined> {\n    if (value != null) return value;\n    if (onNode == null) {\n      throw new ArgumentError('onNode', 'provided (or provide `gasPrice` instead)', onNode);\n    }\n    const gasPrice = await getCachedIncreasedGasPrice(onNode);\n    if (gasPrice === 0n) return undefined;\n    return formatAmount(gasPrice, { targetDenomination: denomination });\n  },\n\n  serializeAettos(value: string | undefined = MIN_GAS_PRICE.toString()): string {\n    if (+value < MIN_GAS_PRICE) {\n      throw new IllegalArgumentError(\n        `Gas price ${value.toString()} must be bigger than ${MIN_GAS_PRICE}`,\n      );\n    }\n    return value;\n  },\n};\n","import BigNumber from 'bignumber.js';\nimport { ArgumentError, IllegalArgumentError } from '../../../utils/errors.js';\nimport { Int, MIN_GAS_PRICE, Tag } from '../constants.js';\nimport uInt from './u-int.js';\nimport coinAmount from './coin-amount.js';\nimport { getCachedIncreasedGasPrice } from './gas-price.js';\nimport { isKeyOfObject } from '../../../utils/other.js';\nimport { decode, Encoded } from '../../../utils/encoder.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\nimport Node from '../../../Node.js';\n\nconst BASE_GAS = 15000;\nconst GAS_PER_BYTE = 20;\nconst KEY_BLOCK_INTERVAL = 3;\n\n/**\n * Calculate the base gas\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @returns The base gas\n * @example\n * ```js\n * TX_BASE_GAS(Tag.ChannelForceProgressTx) => 30 * 15000\n * ```\n */\nconst TX_BASE_GAS = (txType: Tag): number => {\n  const feeFactors = {\n    [Tag.ChannelForceProgressTx]: 30,\n    [Tag.ChannelOffChainTx]: 0,\n    [Tag.ContractCreateTx]: 5,\n    [Tag.ContractCallTx]: 12,\n    [Tag.GaAttachTx]: 5,\n    [Tag.GaMetaTx]: 5,\n    [Tag.PayingForTx]: 1 / 5,\n  } as const;\n  const factor = feeFactors[txType as keyof typeof feeFactors] ?? 1;\n  return factor * BASE_GAS;\n};\n\n/**\n * Calculate gas for other types of transactions\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @param txSize - The transaction size\n * @returns parameters - The transaction parameters\n * @returns parameters.relativeTtl - The relative ttl\n * @returns parameters.innerTxSize - The size of the inner transaction\n * @returns The other gas\n * @example\n * ```js\n * TX_OTHER_GAS(Tag.OracleRespondTx, 10, { relativeTtl: 12, innerTxSize: 0 })\n *  => 10 * 20 + Math.ceil(32000 * 12 / Math.floor(60 * 24 * 365 / 3))\n * ```\n */\nconst TX_OTHER_GAS = (\n  txType: Tag,\n  txSize: number,\n  { relativeTtl, innerTxSize }: { relativeTtl: number; innerTxSize: number },\n): number => {\n  switch (txType) {\n    case Tag.OracleRegisterTx:\n    case Tag.OracleExtendTx:\n    case Tag.OracleQueryTx:\n    case Tag.OracleRespondTx:\n      return (\n        txSize * GAS_PER_BYTE +\n        Math.ceil((32000 * relativeTtl) / Math.floor((60 * 24 * 365) / KEY_BLOCK_INTERVAL))\n      );\n    case Tag.GaMetaTx:\n    case Tag.PayingForTx:\n      return (txSize - innerTxSize) * GAS_PER_BYTE;\n    default:\n      return txSize * GAS_PER_BYTE;\n  }\n};\n\nfunction getOracleRelativeTtl(params: any): number {\n  const ttlKeys = {\n    [Tag.OracleRegisterTx]: 'oracleTtlValue',\n    [Tag.OracleExtendTx]: 'oracleTtlValue',\n    [Tag.OracleQueryTx]: 'queryTtlValue',\n    [Tag.OracleRespondTx]: 'responseTtlValue',\n  } as const;\n\n  const { tag } = params;\n  if (!isKeyOfObject(tag, ttlKeys)) return 1;\n  return params[ttlKeys[tag]];\n}\n\n/**\n * Calculate gas based on tx type and params\n */\nexport function buildGas(\n  builtTx: Encoded.Transaction,\n  unpackTx: typeof unpackTxType,\n  buildTx: typeof buildTxType,\n): number {\n  const { length } = decode(builtTx);\n  const txObject = unpackTx(builtTx);\n\n  let innerTxSize = 0;\n  if (txObject.tag === Tag.GaMetaTx || txObject.tag === Tag.PayingForTx) {\n    innerTxSize = decode(buildTx(txObject.tx.encodedTx)).length;\n  }\n\n  return (\n    TX_BASE_GAS(txObject.tag) +\n    TX_OTHER_GAS(txObject.tag, length, {\n      relativeTtl: getOracleRelativeTtl(txObject),\n      innerTxSize,\n    })\n  );\n}\n\n/**\n * Calculate min fee\n * @category transaction builder\n * @param rebuildTx - Callback to get built transaction with specific fee\n */\nfunction calculateMinFee(\n  rebuildTx: (value: BigNumber) => Encoded.Transaction,\n  unpackTx: typeof unpackTxType,\n  buildTx: typeof buildTxType,\n): BigNumber {\n  let fee = new BigNumber(0);\n  let previousFee;\n  do {\n    previousFee = fee;\n    fee = new BigNumber(MIN_GAS_PRICE).times(buildGas(rebuildTx(fee), unpackTx, buildTx));\n  } while (!fee.eq(previousFee));\n  return fee;\n}\n\n// TODO: Get rid of this workaround. Transaction builder can't accept/return gas price instead of\n// fee because it may get a decimal gas price. So, it should accept the optional `gasPrice` even\n// if it is not a contract-related transaction. And use this `gasPrice` to calculate `fee`.\nconst gasPricePrefix = '_gas-price:';\n\nexport interface SerializeAettosParams {\n  rebuildTx: (params: any) => Encoded.Transaction;\n  unpackTx: typeof unpackTxType;\n  buildTx: typeof buildTxType;\n  _computingMinFee?: BigNumber;\n}\n\nexport default {\n  ...coinAmount,\n\n  async prepare(\n    value: Int | undefined,\n    params: {},\n    { onNode }: { onNode?: Node },\n  ): Promise<Int | undefined> {\n    if (value != null) return value;\n    if (onNode == null) {\n      throw new ArgumentError('onNode', 'provided (or provide `fee` instead)', onNode);\n    }\n    const gasPrice = await getCachedIncreasedGasPrice(onNode);\n    if (gasPrice === 0n) return undefined;\n    return gasPricePrefix + gasPrice;\n  },\n\n  serializeAettos(\n    _value: string | undefined,\n    { rebuildTx, unpackTx, buildTx, _computingMinFee }: SerializeAettosParams,\n    { _canIncreaseFee }: { _canIncreaseFee?: boolean },\n  ): string {\n    if (_computingMinFee != null) return _computingMinFee.toFixed();\n    const minFee = calculateMinFee(\n      (fee) => rebuildTx({ _computingMinFee: fee }),\n      unpackTx,\n      buildTx,\n    );\n    const value =\n      _value?.startsWith(gasPricePrefix) === true\n        ? minFee.dividedBy(MIN_GAS_PRICE).times(_value.replace(gasPricePrefix, ''))\n        : new BigNumber(_value ?? minFee);\n    if (minFee.gt(value)) {\n      if (_canIncreaseFee === true) return minFee.toFixed();\n      throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger than ${minFee}`);\n    }\n    return value.toFixed();\n  },\n\n  serialize(\n    value: Parameters<typeof coinAmount.serialize>[0],\n    params: Parameters<typeof coinAmount.serialize>[1] & SerializeAettosParams,\n    options: { _canIncreaseFee?: boolean } & Parameters<typeof coinAmount.serialize>[2],\n  ): Buffer {\n    if (typeof value === 'string' && value.startsWith(gasPricePrefix)) {\n      return uInt.serialize(this.serializeAettos(value, params, options));\n    }\n    return coinAmount.serialize.call(this, value, params, options);\n  },\n};\n","import uInt from './u-int.js';\n\nexport default {\n  serialize(value: number): Buffer {\n    return uInt.serialize(value);\n  },\n\n  deserialize(value: Buffer): number {\n    return +uInt.deserialize(value);\n  },\n};\n","import { IllegalArgumentError } from '../../../utils/errors.js';\nimport { Tag, MAX_AUTH_FUN_GAS } from '../constants.js';\nimport shortUInt from './short-u-int.js';\nimport { buildGas } from './fee.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\n\nfunction calculateGasLimitMax(\n  gasMax: number,\n  rebuildTx: (value: number) => any,\n  unpackTx: typeof unpackTxType,\n  buildTx: typeof buildTxType,\n): number {\n  return gasMax - +buildGas(rebuildTx(gasMax), unpackTx, buildTx);\n}\n\nexport default {\n  ...shortUInt,\n\n  serialize(\n    _value: number | undefined,\n    {\n      tag,\n      rebuildTx,\n      unpackTx,\n      buildTx,\n      _computingGasLimit,\n    }: {\n      tag: Tag;\n      rebuildTx: (params: any) => any;\n      unpackTx: typeof unpackTxType;\n      buildTx: typeof buildTxType;\n      _computingGasLimit?: number;\n    },\n    { gasMax = 6e6 }: { gasMax?: number },\n  ): Buffer {\n    if (_computingGasLimit != null) return shortUInt.serialize(_computingGasLimit);\n\n    const gasLimitMax =\n      tag === Tag.GaMetaTx\n        ? MAX_AUTH_FUN_GAS\n        : calculateGasLimitMax(\n            gasMax,\n            (gasLimit) => rebuildTx({ _computingGasLimit: gasLimit, _canIncreaseFee: true }),\n            unpackTx,\n            buildTx,\n          );\n    const value = _value ?? gasLimitMax;\n    if (value > gasLimitMax) {\n      throw new IllegalArgumentError(`Gas limit ${value} must be less or equal to ${gasLimitMax}`);\n    }\n    return shortUInt.serialize(value);\n  },\n};\n","export default {\n  serialize(value: string): Buffer {\n    return Buffer.from(value);\n  },\n\n  deserialize(value: Buffer): string {\n    return value.toString();\n  },\n};\n","import field from './field.js';\nimport { AensName } from '../constants.js';\n\nexport default {\n  /**\n   * @param value - AENS name\n   */\n  serialize(value: AensName): Buffer {\n    return field.serialize(value);\n  },\n\n  /**\n   * @param value - AENS name\n   */\n  deserialize(value: Buffer): AensName {\n    return field.deserialize(value) as AensName;\n  },\n};\n","import BigNumber from 'bignumber.js';\nimport { getMinimumNameFee } from '../helpers.js';\nimport { InsufficientNameFeeError } from '../../../utils/errors.js';\nimport coinAmount from './coin-amount.js';\nimport { AensName, Int } from '../constants.js';\n\nexport default {\n  ...coinAmount,\n\n  serializeAettos(_value: string | undefined, txFields: { name: AensName }): string {\n    const minNameFee = getMinimumNameFee(txFields.name);\n    const value = new BigNumber(_value ?? minNameFee);\n    if (minNameFee.gt(value)) throw new InsufficientNameFeeError(value, minNameFee);\n    return value.toFixed();\n  },\n\n  /**\n   * @param value - AENS name fee\n   * @param txFields - Transaction fields\n   * @param txFields.name - AENS Name in transaction\n   */\n  serialize(\n    value: Int | undefined,\n    txFields: { name: AensName } & Parameters<(typeof coinAmount)['serialize']>[1],\n    parameters: Parameters<(typeof coinAmount)['serialize']>[2],\n  ): Buffer {\n    return coinAmount.serialize.call(this, value, txFields, parameters);\n  },\n};\n","import { AensName } from '../constants.js';\nimport { produceNameId, isName } from '../helpers.js';\nimport address from './address.js';\nimport { Encoded, Encoding } from '../../../utils/encoder.js';\n\nconst addressName = address(Encoding.Name);\n\nexport default {\n  ...addressName,\n\n  /**\n   * @param value - AENS name ID\n   */\n  serialize(value: AensName | Encoded.Name): Buffer {\n    return addressName.serialize(isName(value) ? produceNameId(value) : value);\n  },\n};\n","import { isAccountNotFoundError } from '../../../utils/other.js';\nimport shortUInt from './short-u-int.js';\nimport Node from '../../../Node.js';\nimport { ArgumentError } from '../../../utils/errors.js';\nimport { Enum1 as NextNonceStrategy } from '../../../apis/node/index.js';\nimport { Tag } from '../constants.js';\n\nexport default function genNonceField<SenderKey extends string>(\n  senderKey: SenderKey,\n): {\n  serialize: (value: number, params: { tag: Tag }) => Buffer;\n  // TODO: (value: number) => Promise<number> | (value: undefined, ...) => Promise<number>\n  prepare: (\n    value: number | undefined,\n    params: {},\n    // TODO: replace `string` with AddressEncodings\n    options: { [key in SenderKey]: string } & {\n      strategy?: NextNonceStrategy;\n      onNode?: Node;\n      _isInternalBuild?: boolean;\n    },\n  ) => Promise<number>;\n  deserialize: (value: Buffer) => number;\n  senderKey: string;\n} {\n  return {\n    ...shortUInt,\n\n    serialize(value: number, { tag }): Buffer {\n      if (Tag.GaAttachTx === tag && value !== 1) {\n        throw new ArgumentError('nonce', 'equal 1 if GaAttachTx', value);\n      }\n      return shortUInt.serialize(value);\n    },\n\n    async prepare(value, params, options) {\n      if (value != null) return value;\n      // TODO: uncomment the below line\n      // if (options._isInternalBuild === true) return 0;\n      const { onNode, strategy } = options;\n      const senderId = options[senderKey];\n      const requirement = 'provided (or provide `nonce` instead)';\n      if (onNode == null) throw new ArgumentError('onNode', requirement, onNode);\n      if (senderId == null) throw new ArgumentError('senderId', requirement, senderId);\n      return (\n        await onNode\n          .getAccountNextNonce(senderId.replace(/^ok_/, 'ak_'), { strategy })\n          .catch((error) => {\n            if (!isAccountNotFoundError(error)) throw error;\n            return { nextNonce: 1 };\n          })\n      ).nextNonce;\n    },\n\n    senderKey,\n  };\n}\n","import { NamePointer as NamePointerString } from '../../../apis/node/index.js';\nimport { toBytes } from '../../../utils/bytes.js';\nimport { Encoded, Encoding, decode, encode } from '../../../utils/encoder.js';\nimport { isEncoded } from '../../../utils/crypto.js';\nimport { IllegalArgumentError, DecodeError, ArgumentError } from '../../../utils/errors.js';\nimport address, { AddressEncodings, idTagToEncoding } from './address.js';\n\nconst ID_TAG = Buffer.from([1]);\nconst DATA_TAG = Buffer.from([2]);\nconst DATA_LENGTH_MAX = 1024;\nconst addressAny = address(...idTagToEncoding);\n\n// TODO: remove after fixing node types\ntype NamePointer = NamePointerString & {\n  id: Encoded.Generic<AddressEncodings>;\n};\ntype NamePointerRaw = NamePointerString & {\n  id: Encoded.Generic<AddressEncodings | Encoding.Bytearray>;\n};\n\nexport default <AllowRaw extends boolean>(\n  allowRaw: AllowRaw,\n): {\n  serialize: (pointers: Array<AllowRaw extends true ? NamePointerRaw : NamePointer>) => Buffer[][];\n  deserialize: (\n    pointers: Array<[key: Buffer, id: Buffer]>,\n  ) => Array<AllowRaw extends true ? NamePointerRaw : NamePointer>;\n} => ({\n  /**\n   * Helper function to build pointers for name update TX\n   * @param pointers - Array of pointers\n   * `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`\n   * @returns Serialized pointers array\n   */\n  serialize(pointers) {\n    if (pointers.length > 32) {\n      throw new IllegalArgumentError(\n        `Expected 32 pointers or less, got ${pointers.length} instead`,\n      );\n    }\n    return pointers.map(({ key, id }) => {\n      let payload;\n      if (isEncoded(id, ...idTagToEncoding)) {\n        payload = [...(allowRaw ? [ID_TAG] : []), addressAny.serialize(id)];\n      }\n      if (isEncoded(id, Encoding.Bytearray)) {\n        const data = decode(id);\n        if (data.length > DATA_LENGTH_MAX) {\n          throw new ArgumentError(\n            'Raw pointer',\n            `shorter than ${DATA_LENGTH_MAX + 1} bytes`,\n            `${data.length} bytes`,\n          );\n        }\n        payload = [DATA_TAG, data];\n      }\n      if (payload == null) throw new DecodeError(`Unknown AENS pointer value: ${id}`);\n      return [toBytes(key), Buffer.concat(payload)];\n    });\n  },\n\n  /**\n   * Helper function to read pointers from name update TX\n   * @param pointers - Array of pointers\n   * @returns Deserialize pointer array\n   */\n  deserialize(pointers) {\n    return pointers.map(([bKey, bId]) => {\n      if (!allowRaw) return { key: bKey.toString(), id: addressAny.deserialize(bId) };\n      const tag = bId.subarray(0, 1);\n      const payload = bId.subarray(1);\n      let id;\n      if (tag.equals(ID_TAG)) id = addressAny.deserialize(payload);\n      // TS can't figure out the real type depending on allowRaw\n      if (tag.equals(DATA_TAG)) id = encode(payload, Encoding.Bytearray) as Encoded.AccountAddress;\n      if (id == null) throw new DecodeError(`Unknown AENS pointer tag: ${tag}`);\n      return { key: bKey.toString(), id };\n    });\n  },\n});\n","import coinAmount from './coin-amount.js';\nimport { Int } from '../constants.js';\nimport Node from '../../../Node.js';\nimport { Encoded } from '../../../utils/encoder.js';\nimport { ArgumentError } from '../../../utils/errors.js';\n\n/**\n * Oracle query fee\n */\nexport default {\n  ...coinAmount,\n\n  async prepare(\n    value: Int | undefined,\n    params: {},\n    options: { oracleId?: Encoded.OracleAddress; onNode?: Node },\n  ) {\n    if (value != null) return value;\n    const { onNode, oracleId } = options;\n    const requirement = 'provided (or provide `queryFee` instead)';\n    if (onNode == null) throw new ArgumentError('onNode', requirement, onNode);\n    if (oracleId == null) throw new ArgumentError('oracleId', requirement, oracleId);\n    return (await onNode.getOracleByPubkey(oracleId)).queryFee.toString();\n  },\n};\n","export default {\n  serialize(buffer: Uint8Array): Buffer {\n    return Buffer.from(buffer);\n  },\n\n  deserialize(buffer: Buffer): Buffer {\n    return buffer;\n  },\n};\n","import { ArgumentError } from '../../../utils/errors.js';\nimport shortUInt from './short-u-int.js';\n\nexport default function genShortUIntConstField<\n  Value extends number,\n  Optional extends boolean = false,\n>(\n  constValue: Value,\n  optional?: Optional,\n): {\n  serialize: Optional extends true ? (value?: Value) => Buffer : (value: Value) => Buffer;\n  deserialize: (value: Buffer) => Value;\n  constValue: Value;\n  constValueOptional: boolean;\n} {\n  return {\n    serialize(value?: Value) {\n      if ((optional !== true || value != null) && value !== constValue) {\n        throw new ArgumentError('ShortUIntConst', constValue, value);\n      }\n      return shortUInt.serialize(constValue);\n    },\n\n    deserialize(buf) {\n      const value = shortUInt.deserialize(buf);\n      if (value !== constValue) throw new ArgumentError('ShortUIntConst', constValue, value);\n      return constValue;\n    },\n\n    constValue,\n\n    constValueOptional: optional === true,\n  };\n}\n","import { toBytes } from '../../../utils/bytes.js';\n\nexport default {\n  serialize(string: string): Buffer {\n    return toBytes(string);\n  },\n\n  deserialize(buffer: Buffer): string {\n    return buffer.toString();\n  },\n};\n","import { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { Tag } from '../constants.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\n\nexport default function genTransactionField<T extends Tag = Tag>(\n  tag?: T,\n): {\n  serialize: (\n    // TODO: replace with `TxParams & { tag: T }`,\n    //  but fix TS2502 value is referenced directly or indirectly in its own type annotation\n    value: any,\n    options: { buildTx: typeof buildTxType },\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n    options: { unpackTx: typeof unpackTxType },\n    // TODO: replace with `TxUnpacked & { tag: T }`,\n    //  TS2577 Return type annotation circularly references itself\n  ) => any;\n} {\n  return {\n    serialize(txParams, { buildTx }) {\n      if (ArrayBuffer.isView(txParams)) return Buffer.from(txParams as any);\n      if (typeof txParams === 'string' && txParams.startsWith('tx_')) {\n        return decode(txParams as Encoded.Transaction);\n      }\n      return decode(buildTx({ ...txParams, ...(tag != null && { tag }) }));\n    },\n\n    deserialize(buf, { unpackTx }) {\n      return unpackTx(encode(buf, Encoding.Transaction), tag);\n    },\n  };\n}\n","import shortUInt from './short-u-int.js';\nimport Node from '../../../Node.js';\nimport { ArgumentError } from '../../../utils/errors.js';\nimport { _getPollInterval, getHeight } from '../../../chain.js';\n\n/**\n * Time to leave\n */\nexport default {\n  ...shortUInt,\n\n  serialize(value: number | undefined): Buffer {\n    return shortUInt.serialize(value ?? 0);\n  },\n\n  async prepare(\n    value: number | undefined,\n    params: {},\n    // TODO: { absoluteTtl: true } | { absoluteTtl: false, onNode: Node }\n    {\n      onNode,\n      absoluteTtl,\n      _isInternalBuild,\n      ...options\n    }: {\n      onNode?: Node;\n      absoluteTtl?: boolean;\n      _isInternalBuild?: boolean;\n    } & Omit<Parameters<typeof _getPollInterval>[1], 'onNode'>,\n  ) {\n    if (absoluteTtl !== true && value !== 0 && (value != null || _isInternalBuild === true)) {\n      if (onNode == null) throw new ArgumentError('onNode', 'provided', onNode);\n      value = (value ?? 3) + (await getHeight({ ...options, onNode, cached: true }));\n    }\n    return value;\n  },\n};\n","export default function withDefault<Input, Output, Binary>(\n  defaultValue: Input,\n  field: {\n    serialize: (value: Input, params: unknown) => Binary;\n    deserialize: (value: Binary, params: unknown) => Output;\n  },\n): {\n  serialize: (value: Input | undefined, params: unknown) => Binary;\n  deserialize: (value: Binary, params: unknown) => Output;\n} {\n  return {\n    ...field,\n\n    serialize(value, params) {\n      return field.serialize(value ?? defaultValue, params);\n    },\n  };\n}\n","export default function withFormatting<Input, Output, Binary, Params, Options>(\n  format: (v: Input | undefined) => Input,\n  field: {\n    serialize: (value: Input, params: Params, options: Options) => Binary;\n    deserialize: (value: Binary) => Output;\n  },\n): {\n  serialize: (value: Input | undefined, params: Params, options: Options) => Binary;\n  deserialize: (value: Binary) => Output;\n} {\n  return {\n    ...field,\n\n    serialize(value, params, options) {\n      return field.serialize(format(value), params, options);\n    },\n  };\n}\n","/**\n * @category contract\n */\nexport enum CallReturnType {\n  Ok = 0,\n  Error = 1,\n  Revert = 2,\n}\n\n/**\n * @category entry builder\n */\nexport enum EntryTag {\n  Account = 10,\n  Oracle = 20,\n  // OracleQuery = 21,\n  Name = 30,\n  // NameCommitment = 31,\n  // NameAuction = 37,\n  Contract = 40,\n  ContractCall = 41,\n  ChannelOffChainUpdateTransfer = 570,\n  ChannelOffChainUpdateDeposit = 571,\n  ChannelOffChainUpdateWithdraw = 572,\n  ChannelOffChainUpdateCreateContract = 573,\n  ChannelOffChainUpdateCallContract = 574,\n  // ChannelOffChainUpdateMeta = 576,\n  Channel = 58,\n  TreesPoi = 60,\n  // TreesDb = 61,\n  StateTrees = 62,\n  Mtree = 63,\n  MtreeValue = 64,\n  ContractsMtree = 621,\n  CallsMtree = 622,\n  ChannelsMtree = 623,\n  NameserviceMtree = 624,\n  OraclesMtree = 625,\n  AccountsMtree = 626,\n  // CompilerSophia = 70,\n  GaMetaTxAuthData = 810,\n}\n","/**\n * Transaction Schema for TxBuilder\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport { Tag } from './constants.js';\nimport SchemaTypes from './SchemaTypes.js';\nimport abiVersion from './field-types/abi-version.js';\nimport address, { idTagToEncoding } from './field-types/address.js';\nimport array from './field-types/array.js';\nimport coinAmount from './field-types/coin-amount.js';\nimport ctVersion from './field-types/ct-version.js';\nimport encoded from './field-types/encoded.js';\nimport entry from './field-types/entry.js';\nimport enumeration from './field-types/enumeration.js';\nimport fee from './field-types/fee.js';\nimport gasLimit from './field-types/gas-limit.js';\nimport gasPrice from './field-types/gas-price.js';\nimport name from './field-types/name.js';\nimport nameFee from './field-types/name-fee.js';\nimport nameId from './field-types/name-id.js';\nimport nonce from './field-types/nonce.js';\nimport pointers from './field-types/pointers.js';\nimport queryFee from './field-types/query-fee.js';\nimport raw from './field-types/raw.js';\nimport shortUInt from './field-types/short-u-int.js';\nimport shortUIntConst from './field-types/short-u-int-const.js';\nimport string from './field-types/string.js';\nimport transaction from './field-types/transaction.js';\nimport ttl from './field-types/ttl.js';\nimport uInt from './field-types/u-int.js';\nimport withDefault from './field-types/with-default.js';\nimport withFormatting from './field-types/with-formatting.js';\nimport { Encoded, Encoding } from '../../utils/encoder.js';\nimport { ArgumentError } from '../../utils/errors.js';\nimport { EntryTag } from './entry/constants.js';\nimport { EntParams, EntUnpacked } from './entry/schema.generated.js';\n\n/**\n * @category oracle\n */\nexport enum ORACLE_TTL_TYPES {\n  delta = 0,\n  block = 1,\n}\n\n// TODO: figure out how to omit overriding types of recursive fields\ninterface TransactionAny {\n  serialize: (value: TxParams | Uint8Array | Encoded.Transaction) => Buffer;\n  deserialize: (value: Buffer) => TxUnpacked;\n  recursiveType: true;\n}\n\nconst transactionAny = transaction() as unknown as TransactionAny;\n\ninterface TransactionSignedTx {\n  serialize: (\n    value: (TxParams & { tag: Tag.SignedTx }) | Uint8Array | Encoded.Transaction,\n  ) => Buffer;\n  deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.SignedTx };\n  recursiveType: true;\n}\n\nconst transactionSignedTx = transaction(Tag.SignedTx) as unknown as TransactionSignedTx;\n\ninterface EntryTreesPoi {\n  serialize: (\n    value: (EntParams & { tag: EntryTag.TreesPoi }) | Uint8Array | Encoded.Transaction,\n  ) => Buffer;\n  deserialize: (value: Buffer) => EntUnpacked & { tag: EntryTag.TreesPoi };\n  recursiveType: true;\n}\n\nconst entryTreesPoi = entry(EntryTag.TreesPoi) as unknown as EntryTreesPoi;\n\nconst clientTtl = withDefault(60 * 60, shortUInt);\n// https://github.com/aeternity/protocol/blob/fd17982/AENS.md#update\n/**\n * Name ttl represented in number of blocks (Max value is 50000 blocks)\n */\nconst nameTtl = withFormatting((value) => {\n  const NAME_TTL = 180000;\n  value ??= NAME_TTL;\n  if (value >= 1 && value <= NAME_TTL) return value;\n  throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, value);\n}, shortUInt);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}\n */\nexport const txSchema = [\n  {\n    tag: shortUIntConst(Tag.SignedTx),\n    version: shortUIntConst(1, true),\n    signatures: array(raw), // TODO: use sg_ (Encoding.Signature) instead\n    encodedTx: transactionAny,\n  },\n  {\n    tag: shortUIntConst(Tag.SpendTx),\n    version: shortUIntConst(1, true),\n    senderId: address(Encoding.AccountAddress),\n    // TODO: accept also an AENS name\n    recipientId: address(Encoding.AccountAddress, Encoding.ContractAddress, Encoding.Name),\n    amount: coinAmount,\n    fee,\n    ttl,\n    nonce: nonce('senderId'),\n    payload: encoded(Encoding.Bytearray, true),\n  },\n  {\n    tag: shortUIntConst(Tag.NamePreclaimTx),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    commitmentId: address(Encoding.Commitment),\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.NameClaimTx),\n    version: shortUIntConst(2, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    name,\n    nameSalt: withDefault(0, uInt),\n    nameFee,\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.NameUpdateTx),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    nameId,\n    nameTtl,\n    pointers: pointers(false),\n    clientTtl,\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.NameUpdateTx),\n    version: shortUIntConst(2),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    nameId,\n    nameTtl,\n    pointers: pointers(true),\n    clientTtl,\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.NameTransferTx),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    nameId,\n    // TODO: accept also an AENS name\n    recipientId: address(Encoding.AccountAddress, Encoding.Name),\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.NameRevokeTx),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    nameId,\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.ContractCreateTx),\n    version: shortUIntConst(1, true),\n    ownerId: address(Encoding.AccountAddress),\n    nonce: nonce('ownerId'),\n    code: encoded(Encoding.ContractBytearray),\n    ctVersion,\n    fee,\n    ttl,\n    deposit: withFormatting((value = 0) => {\n      if (+value === 0) return value;\n      throw new ArgumentError('deposit', 'equal 0 (because is not refundable)', value);\n    }, coinAmount),\n    amount: coinAmount,\n    gasLimit,\n    gasPrice,\n    callData: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(Tag.ContractCallTx),\n    version: shortUIntConst(1, true),\n    callerId: address(Encoding.AccountAddress),\n    nonce: nonce('callerId'),\n    // TODO: accept also an AENS name\n    contractId: address(Encoding.ContractAddress, Encoding.Name),\n    abiVersion,\n    fee,\n    ttl,\n    amount: coinAmount,\n    gasLimit,\n    gasPrice,\n    callData: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(Tag.OracleRegisterTx),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    queryFormat: string,\n    responseFormat: string,\n    queryFee: coinAmount,\n    oracleTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n    oracleTtlValue: withDefault(500, shortUInt),\n    fee,\n    ttl,\n    abiVersion,\n  },\n  {\n    tag: shortUIntConst(Tag.OracleExtendTx),\n    version: shortUIntConst(1, true),\n    // TODO: accept also an AENS name\n    oracleId: address(Encoding.OracleAddress, Encoding.Name),\n    nonce: nonce('oracleId'),\n    oracleTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n    oracleTtlValue: withDefault(500, shortUInt),\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.OracleQueryTx),\n    version: shortUIntConst(1, true),\n    senderId: address(Encoding.AccountAddress),\n    nonce: nonce('senderId'),\n    // TODO: accept also an AENS name\n    oracleId: address(Encoding.OracleAddress, Encoding.Name),\n    query: string,\n    queryFee,\n    queryTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n    queryTtlValue: withDefault(10, shortUInt),\n    responseTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n    responseTtlValue: withDefault(10, shortUInt),\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.OracleRespondTx),\n    version: shortUIntConst(1, true),\n    oracleId: address(Encoding.OracleAddress),\n    nonce: nonce('oracleId'),\n    queryId: encoded(Encoding.OracleQueryId),\n    response: string,\n    responseTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n    responseTtlValue: withDefault(10, shortUInt),\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelCreateTx),\n    version: shortUIntConst(2, true),\n    initiator: address(Encoding.AccountAddress),\n    initiatorAmount: uInt,\n    responder: address(Encoding.AccountAddress),\n    responderAmount: uInt,\n    channelReserve: uInt,\n    lockPeriod: uInt,\n    ttl,\n    fee,\n    initiatorDelegateIds: array(address(...idTagToEncoding)),\n    responderDelegateIds: array(address(...idTagToEncoding)),\n    stateHash: encoded(Encoding.State),\n    nonce: nonce('initiator'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelCloseMutualTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    initiatorAmountFinal: uInt,\n    responderAmountFinal: uInt,\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelCloseSoloTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    payload: encoded(Encoding.Transaction),\n    poi: entryTreesPoi,\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelSlashTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    payload: encoded(Encoding.Transaction),\n    poi: entryTreesPoi,\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelDepositTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    amount: uInt,\n    ttl,\n    fee,\n    stateHash: encoded(Encoding.State),\n    round: shortUInt,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelWithdrawTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    toId: address(Encoding.AccountAddress),\n    amount: uInt,\n    ttl,\n    fee,\n    stateHash: encoded(Encoding.State),\n    round: shortUInt,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelSettleTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    initiatorAmountFinal: uInt,\n    responderAmountFinal: uInt,\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelForceProgressTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    payload: encoded(Encoding.Transaction),\n    round: shortUInt,\n    update: encoded(Encoding.ContractBytearray),\n    stateHash: encoded(Encoding.State),\n    offChainTrees: encoded(Encoding.StateTrees),\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelOffChainTx),\n    version: shortUIntConst(2, true),\n    channelId: address(Encoding.Channel),\n    round: shortUInt,\n    stateHash: encoded(Encoding.State),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelSnapshotSoloTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    payload: encoded(Encoding.Transaction),\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.GaAttachTx),\n    version: shortUIntConst(1, true),\n    ownerId: address(Encoding.AccountAddress),\n    nonce: nonce('ownerId'),\n    code: encoded(Encoding.ContractBytearray),\n    authFun: raw,\n    ctVersion,\n    fee,\n    ttl,\n    gasLimit,\n    gasPrice,\n    callData: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(Tag.GaMetaTx),\n    version: shortUIntConst(2, true),\n    gaId: address(Encoding.AccountAddress),\n    authData: encoded(Encoding.ContractBytearray),\n    abiVersion,\n    fee,\n    gasLimit,\n    gasPrice,\n    tx: transactionSignedTx,\n  },\n  {\n    tag: shortUIntConst(Tag.PayingForTx),\n    version: shortUIntConst(1, true),\n    payerId: address(Encoding.AccountAddress),\n    nonce: nonce('payerId'),\n    fee,\n    tx: transactionSignedTx,\n  },\n] as const;\n\ntype TxSchema = SchemaTypes<typeof txSchema>;\nexport type TxParams = TxSchema['TxParams'];\nexport type TxParamsAsync = TxSchema['TxParamsAsync'];\nexport type TxUnpacked = TxSchema['TxUnpacked'];\n","import { decode as rlpDecode, encode as rlpEncode } from 'rlp';\nimport { Field, BinaryData } from './field-types/interface.js';\nimport {\n  ArgumentError,\n  DecodeError,\n  SchemaNotFoundError,\n  InternalError,\n} from '../../utils/errors.js';\nimport { Encoding, Encoded, encode, decode } from '../../utils/encoder.js';\n\ntype Schemas = ReadonlyArray<{\n  tag: { constValue: number } & Field;\n  version: { constValue: number; constValueOptional: boolean } & Field;\n}>;\n\nexport function getSchema(\n  schemas: Schemas,\n  Tag: { [key: number]: string },\n  tag: number,\n  version: number | undefined,\n): Array<[string, Field]> {\n  const subSchemas = schemas.filter((s) => s.tag.constValue === tag);\n  if (subSchemas.length === 0) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, 0);\n  if (version == null) {\n    const defaultSchema = subSchemas.find((schema) => schema.version.constValueOptional);\n    if (defaultSchema == null)\n      throw new InternalError(`Can't find default schema of ${Tag[tag]} (${tag})`);\n    version = defaultSchema.version.constValue;\n  }\n  const schema = subSchemas.find((s) => s.version.constValue === version);\n  if (schema == null) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, version);\n  return Object.entries(schema);\n}\n\nexport function packRecord<E extends Encoding>(\n  schemas: Schemas,\n  Tag: { [key: number]: string },\n  params: {\n    tag: number;\n    version?: number;\n    [k: string]: unknown;\n  },\n  extraParams: { [k: string]: unknown },\n  encoding: E,\n): Encoded.Generic<E> {\n  const schema = getSchema(schemas, Tag, params.tag, params.version);\n  const binary = schema.map(([key, field]) =>\n    field.serialize(params[key], { ...params, ...extraParams }, params),\n  );\n  return encode(rlpEncode(binary), encoding);\n}\n\nexport function unpackRecord(\n  schemas: Schemas,\n  Tag: { [key: number]: string },\n  encodedRecord: Encoded.Any,\n  expectedTag: number | undefined,\n  extraParams: { [k: string]: unknown },\n): unknown {\n  const binary = rlpDecode(decode(encodedRecord));\n  if (!ArrayBuffer.isView(binary[0]) || !ArrayBuffer.isView(binary[1])) {\n    throw new DecodeError(\"Can't parse tag or version in provided RLP\");\n  }\n  const tag = Buffer.from(binary[0]).readUintBE(0, binary[0].length);\n  const version = Buffer.from(binary[1]).readUintBE(0, binary[1].length);\n  const schema = getSchema(schemas, Tag, tag, version);\n  if (expectedTag != null && expectedTag !== tag) {\n    throw new DecodeError(`Expected ${Tag[expectedTag]} tag, got ${Tag[tag]} instead`);\n  }\n  if (binary.length !== schema.length) {\n    throw new ArgumentError('RLP length', schema.length, binary.length);\n  }\n  return Object.fromEntries(\n    schema.map(([name, field], index) => [\n      name,\n      field.deserialize(binary[index] as BinaryData, extraParams),\n    ]),\n  );\n}\n","export default {\n  serialize(value: boolean): Buffer {\n    return Buffer.from([value ? 1 : 0]);\n  },\n\n  deserialize(buffer: Buffer): boolean {\n    return buffer[0] === 1;\n  },\n};\n","import { EntryTag } from '../entry/constants.js';\nimport { encode, Encoding, Encoded, decode } from '../../../utils/encoder.js';\nimport type { unpackEntry as unpackEntryType, packEntry as packEntryType } from '../entry/index.js';\n\nexport default function genMapField<E extends Encoding, T extends EntryTag>(\n  encoding: E,\n  tag: T,\n): {\n  serialize: (\n    // TODO: replace with `TxParams & { tag: T }`,\n    //  but fix TS2502 value is referenced directly or indirectly in its own type annotation\n    value: Record<Encoded.Generic<E>, any>,\n    options: { packEntry: typeof packEntryType },\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n    options: { unpackEntry: typeof unpackEntryType },\n    // TODO: replace with `TxUnpacked & { tag: T }`,\n    //  TS2577 Return type annotation circularly references itself\n  ) => Record<Encoded.Generic<E>, any>;\n  recursiveType: true;\n} {\n  return {\n    serialize(object, { packEntry }) {\n      return decode(\n        packEntry({\n          tag: EntryTag.Mtree,\n          values: Object.entries(object).map(\n            ([key, value]) =>\n              ({\n                tag: EntryTag.MtreeValue,\n                key: decode(key as Encoded.Generic<E>),\n                value: decode(packEntry({ ...(value as any), tag })),\n              }) as const,\n          ),\n        }),\n      );\n    },\n\n    deserialize(buffer, { unpackEntry }) {\n      const { values } = unpackEntry(encode(buffer, Encoding.Bytearray), EntryTag.Mtree);\n      return Object.fromEntries(\n        values\n          // TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066\n          .filter(({ key }) => encoding !== Encoding.ContractAddress || key.length === 32)\n          .map(({ key, value }) => [\n            encode(key, encoding),\n            unpackEntry(encode(value, Encoding.Bytearray), tag),\n          ]),\n      ) as Record<Encoded.Generic<E>, any>;\n    },\n\n    recursiveType: true,\n  };\n}\n","import { encode as rlpEncode, Input } from 'rlp';\nimport { EntryTag } from '../entry/constants.js';\nimport { hash } from '../../../utils/crypto.js';\nimport {\n  MerkleTreeHashMismatchError,\n  MissingNodeInTreeError,\n  UnknownPathNibbleError,\n  UnexpectedTsError,\n  UnknownNodeLengthError,\n  InternalError,\n} from '../../../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport type { unpackEntry } from '../entry/index.js';\nimport type { EntUnpacked } from '../entry/schema.generated.js';\n\nenum NodeType {\n  Branch,\n  Extension,\n  Leaf,\n}\n\ntype MPTreeBinary = [Buffer, Array<[Buffer, Buffer[]]>];\n\nclass MPTree<E extends Encoding, T extends EntryTag> {\n  readonly #rootHash: string;\n\n  #isComplete = true;\n\n  get isComplete(): boolean {\n    return this.#isComplete;\n  }\n\n  readonly #nodes: { [key: string]: Buffer[] };\n\n  readonly #encoding: E;\n\n  readonly #tag: T;\n\n  readonly #unpackEntry: typeof unpackEntry;\n\n  static #nodeHash(node: Input): string {\n    return Buffer.from(hash(rlpEncode(node))).toString('hex');\n  }\n\n  /**\n   * Deserialize Merkle Patricia Tree\n   * @param binary - Binary\n   * @param tag - Tag to use to decode value\n   * @param unpEnt - Implementation of unpackEntry use to decode values\n   * @returns Merkle Patricia Tree\n   */\n  constructor(binary: MPTreeBinary, encoding: E, tag: T, unpEnt: typeof unpackEntry) {\n    this.#encoding = encoding;\n    this.#tag = tag;\n    this.#unpackEntry = unpEnt;\n    this.#rootHash = binary[0].toString('hex');\n    this.#nodes = Object.fromEntries(binary[1].map((node) => [node[0].toString('hex'), node[1]]));\n\n    if (this.#nodes[this.#rootHash] == null) {\n      if (Object.keys(this.#nodes).length !== 0) {\n        throw new MissingNodeInTreeError(\"Can't find a node by root hash\");\n      }\n      this.#isComplete = false;\n      return;\n    }\n    Object.entries(this.#nodes).forEach(([key, node]) => {\n      if (MPTree.#nodeHash(node) !== key) throw new MerkleTreeHashMismatchError();\n      const { type } = MPTree.#parseNode(node);\n      switch (type) {\n        case NodeType.Branch:\n          node\n            .slice(0, 16)\n            .filter((n) => n.length)\n            .forEach((n) => {\n              // TODO: enable after resolving https://github.com/aeternity/aeternity/issues/4066\n              // if (n.length !== 32) {\n              //   throw new ArgumentError('MPTree branch item length', 32, n.length);\n              // }\n              if (this.#nodes[n.toString('hex')] == null) this.#isComplete = false;\n            });\n          break;\n        case NodeType.Extension:\n          if (this.#nodes[node[1].toString('hex')] == null) {\n            throw new MissingNodeInTreeError(\"Can't find a node by hash in extension node\");\n          }\n          break;\n        case NodeType.Leaf:\n          break;\n        default:\n          throw new InternalError(`Unknown MPTree node type: ${type}`);\n      }\n    });\n  }\n\n  isEqual(tree: MPTree<E, T>): boolean {\n    return this.#rootHash === tree.#rootHash;\n  }\n\n  static #parseNode(node: Buffer[]): { type: NodeType; value?: Buffer; path?: string } {\n    switch (node.length) {\n      case 17:\n        return {\n          type: NodeType.Branch,\n          ...(node[16].length !== 0 && { value: node[16] }),\n        };\n      case 2: {\n        const nibble = node[0][0] >> 4; // eslint-disable-line no-bitwise\n        if (nibble > 3) throw new UnknownPathNibbleError(nibble);\n        const type = nibble <= 1 ? NodeType.Extension : NodeType.Leaf;\n        const slice = [0, 2].includes(nibble) ? 2 : 1;\n        return {\n          type,\n          ...(type === NodeType.Leaf && { value: node[1] }),\n          path: node[0].toString('hex').slice(slice),\n        };\n      }\n      default:\n        throw new UnknownNodeLengthError(node.length);\n    }\n  }\n\n  /**\n   * Serialize Merkle Patricia Tree\n   * @returns Binary\n   */\n  serialize(): MPTreeBinary {\n    return [\n      Buffer.from(this.#rootHash, 'hex'),\n      Object.entries(this.#nodes).map(([mptHash, value]) => [Buffer.from(mptHash, 'hex'), value]),\n    ];\n  }\n\n  /**\n   * Retrieve value from Merkle Patricia Tree\n   * @param _key - The key of the element to retrieve\n   * @returns Value associated to the specified key\n   */\n  #getRaw(_key: string): Buffer | undefined {\n    let searchFrom = this.#rootHash;\n    let key = _key;\n    while (true) {\n      // eslint-disable-line no-constant-condition\n      const node = this.#nodes[searchFrom];\n      if (node == null) {\n        if (!this.isComplete) return undefined;\n        throw new InternalError(\"Can't find node in complete tree\");\n      }\n      const { type, value, path } = MPTree.#parseNode(node);\n      switch (type) {\n        case NodeType.Branch:\n          if (key.length === 0) return value;\n          searchFrom = node[+`0x${key[0]}`].toString('hex');\n          key = key.substring(1);\n          break;\n        case NodeType.Extension:\n          if (key.substring(0, path?.length) !== path) return undefined;\n          searchFrom = node[1].toString('hex');\n          key = key.substring(path.length);\n          break;\n        case NodeType.Leaf:\n          if (path !== key) return undefined;\n          return value;\n        default:\n          throw new InternalError(`Unknown MPTree node type: ${type}`);\n      }\n    }\n  }\n\n  /**\n   * Retrieve value from Merkle Patricia Tree\n   * @param key - The key of the element to retrieve\n   * @returns Value associated to the specified key\n   */\n  get(key: Encoded.Generic<E>): (EntUnpacked & { tag: T }) | undefined {\n    const d = this.#getRaw(decode(key).toString('hex'));\n    if (d == null) return d;\n    return this.#unpackEntry(encode(d, Encoding.Bytearray), this.#tag);\n  }\n\n  #entriesRaw(): Array<[string, Buffer]> {\n    const entries: Array<[string, Buffer]> = [];\n    const rec = (searchFrom: string, key: string): void => {\n      const node = this.#nodes[searchFrom];\n      if (node == null) {\n        if (!this.isComplete) return;\n        throw new InternalError(\"Can't find node in complete tree\");\n      }\n      const { type, value, path } = MPTree.#parseNode(node);\n      switch (type) {\n        case NodeType.Branch:\n          node\n            .slice(0, 16)\n            .map((t, idx): [typeof t, number] => [t, idx])\n            .filter(([t]) => t.length)\n            .forEach(([t, idx]) => rec(t.toString('hex'), key + idx.toString(16)));\n          if (value != null) entries.push([key, value]);\n          break;\n        case NodeType.Extension:\n          rec(node[1].toString('hex'), key + path);\n          break;\n        case NodeType.Leaf:\n          if (value == null) throw new UnexpectedTsError();\n          entries.push([key + path, value]);\n          break;\n        default:\n          throw new InternalError(`Unknown MPTree node type: ${type}`);\n      }\n    };\n    rec(this.#rootHash, '');\n    return entries;\n  }\n\n  toObject(): Record<Encoded.Generic<E>, EntUnpacked & { tag: T }> {\n    return Object.fromEntries(\n      this.#entriesRaw()\n        // TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066\n        .filter(([k]) => this.#encoding !== Encoding.ContractAddress || k.length !== 66)\n        .map(([k, v]) => [\n          encode(Buffer.from(k, 'hex'), this.#encoding),\n          this.#unpackEntry(encode(v, Encoding.Bytearray), this.#tag),\n        ]),\n    ) as Record<Encoded.Generic<E>, EntUnpacked & { tag: T }>;\n  }\n}\n\nexport default function genMPTreeField<E extends Encoding, T extends EntryTag>(\n  encoding: E,\n  tag: T,\n): {\n  serialize: (value: MPTree<E, T>) => MPTreeBinary;\n  deserialize: (value: MPTreeBinary, o: { unpackEntry: typeof unpackEntry }) => MPTree<E, T>;\n} {\n  return {\n    serialize(value) {\n      return value.serialize();\n    },\n\n    deserialize(value, { unpackEntry }) {\n      return new MPTree(value, encoding, tag, unpackEntry);\n    },\n  };\n}\n","import { EntryTag } from '../entry/constants.js';\nimport { encode, Encoding, decode } from '../../../utils/encoder.js';\nimport type { unpackEntry as unpackEntryType, packEntry as packEntryType } from '../entry/index.js';\n\ntype TagWrapping =\n  | EntryTag.AccountsMtree\n  | EntryTag.CallsMtree\n  | EntryTag.ChannelsMtree\n  | EntryTag.ContractsMtree\n  | EntryTag.NameserviceMtree\n  | EntryTag.OraclesMtree;\n\nexport default function genWrappedField<T extends TagWrapping>(\n  tag: T,\n): {\n  serialize: (\n    // TODO: replace with `(EntParams & { tag: T })['payload']`,\n    //  but fix TS2502 value is referenced directly or indirectly in its own type annotation\n    value: any,\n    options: { packEntry: typeof packEntryType },\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n    options: { unpackEntry: typeof unpackEntryType },\n    // TODO: replace with `(EntUnpacked & { tag: T })['payload']`,\n    //  TS2577 Return type annotation circularly references itself\n  ) => any;\n  recursiveType: true;\n} {\n  return {\n    serialize(payload, { packEntry }) {\n      return decode(packEntry({ tag, payload }));\n    },\n\n    deserialize(buffer, { unpackEntry }) {\n      return unpackEntry<TagWrapping>(encode(buffer, Encoding.Bytearray), tag).payload;\n    },\n\n    recursiveType: true,\n  };\n}\n","import SchemaTypes from '../SchemaTypes.js';\nimport abiVersion from '../field-types/abi-version.js';\nimport address, { idTagToEncoding } from '../field-types/address.js';\nimport array from '../field-types/array.js';\nimport boolean from '../field-types/boolean.js';\nimport coinAmount from '../field-types/coin-amount.js';\nimport ctVersion from '../field-types/ct-version.js';\nimport encoded from '../field-types/encoded.js';\nimport entry from '../field-types/entry.js';\nimport enumeration from '../field-types/enumeration.js';\nimport gasLimit from '../field-types/gas-limit.js';\nimport gasPrice from '../field-types/gas-price.js';\nimport map from '../field-types/map.js';\nimport mptree from '../field-types/mptree.js';\nimport pointers from '../field-types/pointers.js';\nimport raw from '../field-types/raw.js';\nimport shortUInt from '../field-types/short-u-int.js';\nimport shortUIntConst from '../field-types/short-u-int-const.js';\nimport string from '../field-types/string.js';\nimport uInt from '../field-types/u-int.js';\nimport wrapped from '../field-types/wrapped.js';\nimport { Encoded, Encoding } from '../../../utils/encoder.js';\nimport { EntryTag, CallReturnType } from './constants.js';\n\ninterface EntryMtreeValueArray {\n  serialize: (\n    value: Array<(EntParams & { tag: EntryTag.MtreeValue }) | Uint8Array | Encoded.Transaction>,\n  ) => Buffer[];\n  deserialize: (value: Buffer[]) => Array<EntUnpacked & { tag: EntryTag.MtreeValue }>;\n  recursiveType: true;\n}\n\nconst entryMtreeValueArray = array(entry(EntryTag.MtreeValue)) as unknown as EntryMtreeValueArray;\n\ninterface MapContracts {\n  serialize: (\n    value: Record<Encoded.ContractAddress, EntParams & { tag: EntryTag.Contract }>,\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n  ) => Record<Encoded.ContractAddress, EntUnpacked & { tag: EntryTag.Contract }>;\n  recursiveType: true;\n}\n\nconst mapContracts = map(Encoding.ContractAddress, EntryTag.Contract) as unknown as MapContracts;\n\ninterface MapAccounts {\n  serialize: (\n    value: Record<Encoded.AccountAddress, EntParams & { tag: EntryTag.Account }>,\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n  ) => Record<Encoded.AccountAddress, EntUnpacked & { tag: EntryTag.Account }>;\n  recursiveType: true;\n}\n\nconst mapAccounts = map(Encoding.AccountAddress, EntryTag.Account) as unknown as MapAccounts;\n\ninterface MapCalls {\n  serialize: (\n    value: Record<Encoded.Bytearray, EntParams & { tag: EntryTag.ContractCall }>,\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n  ) => Record<Encoded.Bytearray, EntUnpacked & { tag: EntryTag.ContractCall }>;\n  recursiveType: true;\n}\n\nconst mapCalls = map(Encoding.Bytearray, EntryTag.ContractCall) as unknown as MapCalls;\n\ninterface MapChannels {\n  serialize: (value: Record<Encoded.Channel, EntParams & { tag: EntryTag.Channel }>) => Buffer;\n  deserialize: (value: Buffer) => Record<Encoded.Channel, EntUnpacked & { tag: EntryTag.Channel }>;\n  recursiveType: true;\n}\n\nconst mapChannels = map(Encoding.Channel, EntryTag.Channel) as unknown as MapChannels;\n\ninterface MapNames {\n  serialize: (value: Record<Encoded.Name, EntParams & { tag: EntryTag.Name }>) => Buffer;\n  deserialize: (value: Buffer) => Record<Encoded.Name, EntUnpacked & { tag: EntryTag.Name }>;\n  recursiveType: true;\n}\n\nconst mapNames = map(Encoding.Name, EntryTag.Name) as unknown as MapNames;\n\ninterface MapOracles {\n  serialize: (value: Record<Encoded.OracleAddress, EntParams & { tag: EntryTag.Oracle }>) => Buffer;\n  deserialize: (\n    value: Buffer,\n  ) => Record<Encoded.OracleAddress, EntUnpacked & { tag: EntryTag.Oracle }>;\n  recursiveType: true;\n}\n\nconst mapOracles = map(Encoding.OracleAddress, EntryTag.Oracle) as unknown as MapOracles;\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/8a9d1d1206174627f6aaef86159dc9c643080653/contracts/fate.md#from-ceres-serialized-signature-data}\n */\nexport const schemas = [\n  {\n    tag: shortUIntConst(EntryTag.Account),\n    version: shortUIntConst(1),\n    nonce: shortUInt,\n    balance: uInt,\n  },\n  {\n    tag: shortUIntConst(EntryTag.Account),\n    version: shortUIntConst(2, true),\n    flags: uInt,\n    nonce: shortUInt,\n    balance: uInt,\n    gaContract: address(Encoding.ContractAddress, Encoding.Name),\n    gaAuthFun: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(EntryTag.Name),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nameTtl: shortUInt,\n    status: raw,\n    /**\n     * a suggestion as to how long any clients should cache this information\n     */\n    clientTtl: shortUInt,\n    pointers,\n  },\n  {\n    tag: shortUIntConst(EntryTag.Contract),\n    version: shortUIntConst(1, true),\n    owner: address(Encoding.AccountAddress),\n    ctVersion,\n    code: encoded(Encoding.ContractBytearray),\n    log: encoded(Encoding.ContractBytearray),\n    active: boolean,\n    referers: array(address(Encoding.AccountAddress)),\n    deposit: coinAmount,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ContractCall),\n    version: shortUIntConst(2, true),\n    callerId: address(Encoding.AccountAddress),\n    callerNonce: shortUInt,\n    height: shortUInt,\n    contractId: address(Encoding.ContractAddress),\n    // TODO: rename after resolving https://github.com/aeternity/protocol/issues/506\n    gasPrice: uInt,\n    gasUsed: shortUInt,\n    returnValue: encoded(Encoding.ContractBytearray),\n    returnType: enumeration(CallReturnType),\n    // TODO: add serialization for\n    //  <log> :: [ { <address> :: id, [ <topics> :: binary() }, <data> :: binary() } ]\n    log: array(raw),\n  },\n  {\n    tag: shortUIntConst(EntryTag.Oracle),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    queryFormat: string,\n    responseFormat: string,\n    queryFee: coinAmount,\n    oracleTtlValue: shortUInt,\n    abiVersion,\n  },\n  {\n    tag: shortUIntConst(EntryTag.Channel),\n    version: shortUIntConst(3, true),\n    initiator: address(Encoding.AccountAddress),\n    responder: address(Encoding.AccountAddress),\n    channelAmount: uInt,\n    initiatorAmount: uInt,\n    responderAmount: uInt,\n    channelReserve: uInt,\n    initiatorDelegateIds: array(address(...idTagToEncoding)),\n    responderDelegateIds: array(address(...idTagToEncoding)),\n    stateHash: encoded(Encoding.State),\n    round: shortUInt,\n    soloRound: uInt,\n    lockPeriod: uInt,\n    lockedUntil: uInt,\n    initiatorAuth: encoded(Encoding.ContractBytearray),\n    responderAuth: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelOffChainUpdateTransfer),\n    version: shortUIntConst(1, true),\n    from: address(Encoding.AccountAddress),\n    to: address(Encoding.AccountAddress),\n    amount: uInt,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelOffChainUpdateDeposit),\n    version: shortUIntConst(1, true),\n    from: address(Encoding.AccountAddress),\n    amount: uInt,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelOffChainUpdateWithdraw),\n    version: shortUIntConst(1, true),\n    from: address(Encoding.AccountAddress),\n    amount: uInt,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelOffChainUpdateCreateContract),\n    version: shortUIntConst(1, true),\n    owner: address(Encoding.AccountAddress),\n    ctVersion,\n    code: encoded(Encoding.ContractBytearray),\n    deposit: uInt,\n    callData: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelOffChainUpdateCallContract),\n    version: shortUIntConst(1, true),\n    caller: address(Encoding.AccountAddress),\n    contract: address(Encoding.ContractAddress),\n    abiVersion,\n    amount: uInt,\n    callData: encoded(Encoding.ContractBytearray),\n    callStack: raw,\n    gasPrice,\n    gasLimit,\n  },\n  {\n    tag: shortUIntConst(EntryTag.TreesPoi),\n    version: shortUIntConst(1, true),\n    // TODO: inline an extra wrapping array after resolving https://github.com/aeternity/protocol/issues/505\n    accounts: array(mptree(Encoding.AccountAddress, EntryTag.Account)),\n    calls: array(mptree(Encoding.Bytearray, EntryTag.ContractCall)),\n    channels: array(mptree(Encoding.Channel, EntryTag.Channel)),\n    contracts: array(mptree(Encoding.ContractAddress, EntryTag.Contract)),\n    ns: array(mptree(Encoding.Name, EntryTag.Name)),\n    oracles: array(mptree(Encoding.OracleAddress, EntryTag.Oracle)),\n  },\n  {\n    tag: shortUIntConst(EntryTag.StateTrees),\n    version: shortUIntConst(0, true),\n    contracts: wrapped(EntryTag.ContractsMtree) as unknown as MapContracts,\n    calls: wrapped(EntryTag.CallsMtree) as unknown as MapCalls,\n    channels: wrapped(EntryTag.ChannelsMtree) as unknown as MapChannels,\n    ns: wrapped(EntryTag.NameserviceMtree) as unknown as MapNames,\n    oracles: wrapped(EntryTag.OraclesMtree) as unknown as MapOracles,\n    accounts: wrapped(EntryTag.AccountsMtree) as unknown as MapAccounts,\n  },\n  {\n    tag: shortUIntConst(EntryTag.Mtree),\n    version: shortUIntConst(1, true),\n    values: entryMtreeValueArray,\n  },\n  {\n    tag: shortUIntConst(EntryTag.MtreeValue),\n    version: shortUIntConst(1, true),\n    key: raw,\n    value: raw,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ContractsMtree),\n    version: shortUIntConst(1, true),\n    payload: mapContracts,\n  },\n  {\n    tag: shortUIntConst(EntryTag.CallsMtree),\n    version: shortUIntConst(1, true),\n    payload: mapCalls,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelsMtree),\n    version: shortUIntConst(1, true),\n    payload: mapChannels,\n  },\n  {\n    tag: shortUIntConst(EntryTag.NameserviceMtree),\n    version: shortUIntConst(1, true),\n    payload: mapNames,\n  },\n  {\n    tag: shortUIntConst(EntryTag.OraclesMtree),\n    version: shortUIntConst(1, true),\n    payload: mapOracles,\n  },\n  {\n    tag: shortUIntConst(EntryTag.AccountsMtree),\n    version: shortUIntConst(1, true),\n    payload: mapAccounts,\n  },\n  {\n    tag: shortUIntConst(EntryTag.GaMetaTxAuthData),\n    version: shortUIntConst(1, true),\n    fee: coinAmount,\n    gasPrice,\n    txHash: encoded(Encoding.TxHash),\n  },\n] as const;\n\ntype Schemas = SchemaTypes<typeof schemas>;\nexport type EntParams = Schemas['TxParams'];\nexport type EntUnpacked = Schemas['TxUnpacked'];\n","import { Encoded, Encoding } from '../../../utils/encoder.js';\nimport { packRecord, unpackRecord } from '../common.js';\nimport { schemas } from './schema.js';\nimport { EntryTag } from './constants.js';\nimport { EntParams, EntUnpacked } from './schema.generated.js';\n\nconst encodingTag = [\n  [EntryTag.CallsMtree, Encoding.CallStateTree],\n  [EntryTag.StateTrees, Encoding.StateTrees],\n  [EntryTag.TreesPoi, Encoding.Poi],\n] as const;\n\nexport function packEntry(params: EntParams & { tag: EntryTag.CallsMtree }): Encoded.CallStateTree;\nexport function packEntry(params: EntParams & { tag: EntryTag.StateTrees }): Encoded.StateTrees;\nexport function packEntry(params: EntParams & { tag: EntryTag.TreesPoi }): Encoded.Poi;\n/**\n * Pack entry\n * @category entry builder\n * @param params - Params of entry\n * @returns Encoded entry\n */\nexport function packEntry(params: EntParams): Encoded.Any;\nexport function packEntry(params: EntParams): Encoded.Any {\n  const encoding = encodingTag.find(([tag]) => tag === params.tag)?.[1] ?? Encoding.Bytearray;\n  return packRecord(schemas, EntryTag, params, { packEntry }, encoding);\n}\n\nexport function unpackEntry(\n  encoded: Encoded.CallStateTree,\n): EntUnpacked & { tag: EntryTag.CallsMtree };\nexport function unpackEntry(\n  encoded: Encoded.StateTrees,\n): EntUnpacked & { tag: EntryTag.StateTrees };\nexport function unpackEntry(encoded: Encoded.Poi): EntUnpacked & { tag: EntryTag.TreesPoi };\n/**\n * Unpack entry\n * @category entry builder\n * @param encoded - Encoded entry\n * @param expectedTag - Expected entry type\n * @returns Params of entry\n */\nexport function unpackEntry<T extends EntryTag>(\n  encoded: Encoded.Any,\n  expectedTag?: T,\n): EntUnpacked & { tag: T };\nexport function unpackEntry(encoded: Encoded.Any, expectedTag?: EntryTag): EntUnpacked {\n  expectedTag ??= encodingTag.find(([, enc]) => encoded.startsWith(enc))?.[0];\n  return unpackRecord(schemas, EntryTag, encoded, expectedTag, { unpackEntry }) as any;\n}\n","import { decode, encode, Encoded, Encoding } from '../../utils/encoder.js';\nimport { hash } from '../../utils/crypto.js';\nimport { Field } from './field-types/interface.js';\nimport { txSchema } from './schema.js';\nimport { TxUnpacked, TxParams, TxParamsAsync } from './schema.generated.js';\nimport { Tag } from './constants.js';\nimport { buildContractId } from './helpers.js';\nimport { getSchema as getSchemaCommon, packRecord, unpackRecord } from './common.js';\nimport { ArgumentError } from '../../utils/errors.js';\nimport { packEntry, unpackEntry } from './entry/index.js';\n\n/**\n * JavaScript-based Transaction builder\n */\n\nexport function getSchema(tag: Tag, version?: number): Array<[string, Field]> {\n  return getSchemaCommon(txSchema, Tag, tag, version);\n}\n\ntype TxEncoding =\n  | Encoding.Transaction\n  | Encoding.Poi\n  | Encoding.StateTrees\n  | Encoding.CallStateTree;\n\n/**\n * Build transaction\n * @category transaction builder\n * @param params - Transaction params\n */\nexport function buildTx(params: TxParams): Encoded.Transaction {\n  return packRecord(\n    txSchema,\n    Tag,\n    params,\n    {\n      // eslint-disable-next-line @typescript-eslint/no-use-before-define\n      unpackTx,\n      buildTx,\n      rebuildTx: (overrideParams: any) => buildTx({ ...params, ...overrideParams }),\n      packEntry,\n    },\n    Encoding.Transaction,\n  );\n}\n\nexport type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<\n  TxParamsAsync & { tag: TxType },\n  'tag' | OmitFields\n>;\n\n// TODO: require onNode because it is the only reason this builder is async [breaking change]\n/**\n * Build transaction async (may request node for additional data)\n * @category transaction builder\n * @param params - Transaction params\n * @returns tx_-encoded transaction\n */\nexport async function buildTxAsync(params: TxParamsAsync): Promise<Encoded.Transaction> {\n  await Promise.all(\n    getSchema(params.tag, params.version).map(async ([key, field]) => {\n      if (field.prepare == null) return;\n      // @ts-expect-error the type of `params[key]` can't be determined accurately\n      params[key] = await field.prepare(params[key], params, params);\n    }),\n  );\n\n  // @ts-expect-error after preparation properties should be compatible with sync tx builder\n  return buildTx(params);\n}\n\n/**\n * Unpack transaction encoded as string\n * @category transaction builder\n * @param encodedTx - Encoded transaction\n * @param txType - Expected transaction type\n * @returns Transaction params\n */\nexport function unpackTx<TxType extends Tag>(\n  encodedTx: Encoded.Generic<TxEncoding>,\n  txType?: TxType,\n): TxUnpacked & { tag: TxType } {\n  return unpackRecord(txSchema, Tag, encodedTx, txType, { unpackTx, unpackEntry }) as any;\n}\n\n/**\n * Build a transaction hash\n * @category transaction builder\n * @param rawTx - base64 or rlp encoded transaction\n * @returns Transaction hash\n */\nexport function buildTxHash(rawTx: Encoded.Transaction | Uint8Array): Encoded.TxHash {\n  const data = typeof rawTx === 'string' && rawTx.startsWith('tx_') ? decode(rawTx) : rawTx;\n  return encode(hash(data), Encoding.TxHash);\n}\n\n/**\n * Build a contract public key by contractCreateTx, gaAttach or signedTx\n * @category contract\n * @param contractTx - Transaction\n * @returns Contract public key\n */\nexport function buildContractIdByContractTx(\n  contractTx: Encoded.Transaction,\n): Encoded.ContractAddress {\n  let params = unpackTx(contractTx);\n  if (Tag.SignedTx === params.tag) params = params.encodedTx;\n  if (Tag.ContractCreateTx !== params.tag && Tag.GaAttachTx !== params.tag) {\n    throw new ArgumentError('contractTx', 'a contractCreateTx or gaAttach', params.tag);\n  }\n  return buildContractId(params.ownerId, params.nonce);\n}\n","function verCmp(a: string, b: string): number {\n  const getComponents = (v: string): number[] =>\n    v\n      .split(/[-+]/)[0]\n      .split('.')\n      .map((i) => +i);\n\n  const aComponents = getComponents(a);\n  const bComponents = getComponents(b);\n\n  const base = Math.max(...aComponents, ...bComponents) + 1;\n  const componentsToNumber = (components: number[]): number =>\n    components.reverse().reduce((acc, n, idx) => acc + n * base ** idx, 0);\n\n  return componentsToNumber(aComponents) - componentsToNumber(bComponents);\n}\n\nexport default function semverSatisfies(\n  version: string,\n  geVersion: string,\n  ltVersion?: string,\n): boolean {\n  return verCmp(version, geVersion) >= 0 && (ltVersion == null || verCmp(version, ltVersion) < 0);\n}\n","import { RestError, PipelineResponse, PipelinePolicy } from '@azure/core-rest-pipeline';\nimport {\n  AdditionalPolicyConfig,\n  FullOperationResponse,\n  OperationOptions,\n  createSerializer as createSerializerOrig,\n} from '@azure/core-client';\nimport { pause } from './other.js';\nimport semverSatisfies from './semver-satisfies.js';\nimport { InternalError, UnexpectedTsError, UnsupportedVersionError } from './errors.js';\n\nconst bigIntPrefix = '_sdk-big-int-';\n\nexport const createSerializer = (\n  ...args: Parameters<typeof createSerializerOrig>\n): ReturnType<typeof createSerializerOrig> => {\n  const serializer = createSerializerOrig(...args);\n  const { serialize, deserialize } = serializer;\n  return Object.assign(serializer, {\n    serialize(\n      ...[mapper, object, objectName, options]: Parameters<typeof serialize>\n    ): ReturnType<typeof serialize> {\n      // @ts-expect-error we are extending autorest with BigInt support\n      if (mapper.type.name !== 'BigInt' || object == null) {\n        return serialize.call(this, mapper, object, objectName, options);\n      }\n      if (typeof object !== 'bigint') {\n        objectName ??= mapper.serializedName;\n        throw new Error(`${objectName} with value ${object} must be of type bigint.`);\n      }\n      return object.toString();\n    },\n\n    deserialize(\n      ...[mapper, responseBody, objectName, options]: Parameters<typeof deserialize>\n    ): ReturnType<typeof deserialize> {\n      // @ts-expect-error we are extending autorest with BigInt support\n      if (mapper.type.name !== 'BigInt' || responseBody == null) {\n        if (typeof responseBody === 'string' && responseBody.startsWith(bigIntPrefix)) {\n          console.warn(`AeSdk internal error: BigInt value ${responseBody} handled incorrectly`);\n          responseBody = +responseBody.replace(bigIntPrefix, '');\n        }\n        const result = deserialize.call(this, mapper, responseBody, objectName, options);\n        // TODO: remove after fixing https://github.com/aeternity/ae_mdw/issues/1891\n        // and https://github.com/aeternity/aeternity/issues/4386\n        if (result instanceof Date) return new Date(+result / 1000);\n        return result;\n      }\n      if (typeof responseBody === 'number' && responseBody > Number.MAX_SAFE_INTEGER) {\n        throw new InternalError(`Number ${responseBody} is not accurate to be converted to BigInt`);\n      }\n      return BigInt(responseBody.toString().replace(bigIntPrefix, ''));\n    },\n  });\n};\n\nconst safeLength = Number.MAX_SAFE_INTEGER.toString().length;\nconst bigIntPropertyRe = new RegExp(String.raw`(\"\\w+\":\\s*)(\\d{${safeLength},})(\\s*[,}])`, 'm');\nconst bigIntArrayItemRe = new RegExp(String.raw`([[,]\\s*)(\\d{${safeLength},})\\b`, 'm');\nexport const parseBigIntPolicy: PipelinePolicy = {\n  name: 'parse-big-int',\n  async sendRequest(request, next) {\n    const response = await next(request);\n    if (response.bodyAsText == null) return response;\n    // TODO: replace with https://caniuse.com/mdn-javascript_builtins_json_parse_reviver_parameter_context_argument when it gets support in FF and Safari\n    response.bodyAsText = response.bodyAsText.replaceAll(\n      new RegExp(bigIntPropertyRe, 'g'),\n      (matched) => {\n        const match = matched.match(bigIntPropertyRe);\n        if (match == null) throw new UnexpectedTsError();\n        const [, name, value, end] = match;\n        return [\n          name,\n          +value > Number.MAX_SAFE_INTEGER ? `\"${bigIntPrefix}${value}\"` : value,\n          end,\n        ].join('');\n      },\n    );\n    // FIXME: may break strings inside json\n    response.bodyAsText = response.bodyAsText.replaceAll(\n      new RegExp(bigIntArrayItemRe, 'g'),\n      (matched) => {\n        const match = matched.match(bigIntArrayItemRe);\n        if (match == null) throw new UnexpectedTsError();\n        const [, prefix, value] = match;\n        return `${prefix}\"${bigIntPrefix}${value}\"`;\n      },\n    );\n    return response;\n  },\n};\n\nexport const genRequestQueuesPolicy = (): AdditionalPolicyConfig => {\n  const requestQueues = new Map<string, Promise<unknown>>();\n\n  return {\n    policy: {\n      name: 'request-queues',\n      async sendRequest(request, next) {\n        const key = request.headers.get('__queue');\n        request.headers.delete('__queue');\n        const getResponse = async (): Promise<PipelineResponse> => next(request);\n        if (key == null) return getResponse();\n        const req = (requestQueues.get(key) ?? Promise.resolve()).then(getResponse);\n        requestQueues.set(\n          key,\n          req.catch(() => {}),\n        );\n        return req;\n      },\n    },\n    position: 'perCall',\n  };\n};\n\nexport const genCombineGetRequestsPolicy = (): AdditionalPolicyConfig => {\n  const pendingGetRequests = new Map<string, Promise<PipelineResponse>>();\n\n  return {\n    policy: {\n      name: 'combine-get-requests',\n      async sendRequest(request, next) {\n        if (request.method !== 'GET') return next(request);\n        const key = JSON.stringify([request.url, request.body]);\n        const response = pendingGetRequests.get(key) ?? next(request);\n        pendingGetRequests.set(key, response);\n        try {\n          return await response;\n        } finally {\n          pendingGetRequests.delete(key);\n        }\n      },\n    },\n    position: 'perCall',\n  };\n};\n\nexport const genAggressiveCacheGetResponsesPolicy = (): AdditionalPolicyConfig => {\n  const getRequests = new Map<string, Promise<PipelineResponse>>();\n\n  return {\n    policy: {\n      name: 'aggressive-cache-get-responses',\n      async sendRequest(request, next) {\n        if (request.method !== 'GET') return next(request);\n        const key = JSON.stringify([request.url, request.body]);\n        const response = getRequests.get(key) ?? next(request);\n        getRequests.set(key, response);\n        return response;\n      },\n    },\n    position: 'perCall',\n  };\n};\n\nexport const genErrorFormatterPolicy = (\n  getMessage: (b: any) => string,\n): AdditionalPolicyConfig => ({\n  policy: {\n    name: 'error-formatter',\n    async sendRequest(request, next) {\n      try {\n        return await next(request);\n      } catch (error) {\n        if (\n          !(error instanceof RestError) ||\n          error.request == null ||\n          error.message.startsWith('Error ')\n        )\n          throw error;\n        const prefix = `${new URL(error.request.url).pathname.slice(1)} error`;\n\n        if (error.response?.bodyAsText == null) {\n          if (error.message === '') error.message = `${prefix}: ${error.code}`;\n          throw error;\n        }\n\n        const body = (error.response as FullOperationResponse).parsedBody;\n        error.message = prefix;\n        const message = body == null ? ` ${error.response.status} status code` : getMessage(body);\n        if (message !== '') error.message += `:${message}`;\n        throw error;\n      }\n    },\n  },\n  position: 'perCall',\n});\n\nexport const genVersionCheckPolicy = (\n  name: string,\n  versionCb: (options: OperationOptions) => Promise<string>,\n  geVersion: string,\n  ltVersion: string,\n  ignoreVersion: boolean,\n): AdditionalPolicyConfig => ({\n  policy: {\n    name: 'version-check',\n    async sendRequest(request, next) {\n      if (request.headers.has('__version-check')) {\n        request.headers.delete('__version-check');\n        return next(request);\n      }\n      const options = { requestOptions: { customHeaders: { '__version-check': 'true' } } };\n      const args = [await versionCb(options), geVersion, ltVersion] as const;\n      if (!semverSatisfies(...args)) {\n        const error = new UnsupportedVersionError(name, ...args);\n        if (ignoreVersion) console.warn(error.message);\n        else throw error;\n      }\n      return next(request);\n    },\n  },\n  position: 'perCall',\n});\n\nexport const genRetryOnFailurePolicy = (\n  retryCount: number,\n  retryOverallDelay: number,\n): AdditionalPolicyConfig => ({\n  policy: {\n    name: 'retry-on-failure',\n    async sendRequest(request, next) {\n      if (request.headers.get('__no-retry') != null) {\n        request.headers.delete('__no-retry');\n        return next(request);\n      }\n\n      const retryCode = request.headers.get('__retry-code') ?? NaN;\n      request.headers.delete('__retry-code');\n      const statusesToNotRetry = [200, 400, 403, 410, 500].filter((c) => c !== +retryCode);\n\n      const intervals = new Array(retryCount)\n        .fill(0)\n        .map((_, idx) => ((idx + 1) / retryCount) ** 2);\n      const intervalSum = intervals.reduce((a, b) => a + b, 0);\n      const intervalsInMs = intervals.map((e) => Math.floor((e / intervalSum) * retryOverallDelay));\n\n      let error = new RestError('Not expected to be thrown');\n      for (let attempt = 0; attempt <= retryCount; attempt += 1) {\n        if (attempt !== 0) {\n          await pause(intervalsInMs[attempt - 1]);\n          const urlParsed = new URL(request.url);\n          urlParsed.searchParams.set('__sdk-retry', attempt.toString());\n          request.url = urlParsed.toString();\n        }\n        try {\n          return await next(request);\n        } catch (e) {\n          if (!(e instanceof RestError)) throw e;\n          if (statusesToNotRetry.includes(e.response?.status ?? 0)) throw e;\n          error = e;\n        }\n      }\n      throw error;\n    },\n  },\n  position: 'perCall',\n});\n","import * as coreClient from \"@azure/core-client\";\n\nexport const Account: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Account\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      balance: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"balance\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      payable: {\n        serializedName: \"payable\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      kind: {\n        serializedName: \"kind\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"basic\", \"generalized\"],\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authFun: {\n        serializedName: \"auth_fun\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ErrorModel: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ErrorModel\",\n    modelProperties: {\n      reason: {\n        serializedName: \"reason\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"error_code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const NextNonceResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NextNonceResponse\",\n    modelProperties: {\n      nextNonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"next_nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const SignedTxs: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SignedTxs\",\n    modelProperties: {\n      transactions: {\n        serializedName: \"transactions\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"SignedTx\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const SignedTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SignedTx\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"Tx\",\n        },\n      },\n      blockHeight: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: -1,\n        },\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      encodedTx: {\n        serializedName: \"encoded_tx\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const Tx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Tx\",\n    modelProperties: {\n      recipientId: {\n        serializedName: \"recipient_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorId: {\n        serializedName: \"initiator_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderId: {\n        serializedName: \"responder_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      responderAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelReserve: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_reserve\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockPeriod: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"lock_period\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        type: {\n          name: \"Composite\",\n          className: \"Delegates\",\n        },\n      },\n      channelId: {\n        serializedName: \"channel_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      toId: {\n        serializedName: \"to_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      update: {\n        serializedName: \"update\",\n        type: {\n          name: \"Composite\",\n          className: \"OffChainUpdate\",\n        },\n      },\n      offchainTrees: {\n        serializedName: \"offchain_trees\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorDelegateIds: {\n        serializedName: \"initiator_delegate_ids\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responderDelegateIds: {\n        serializedName: \"responder_delegate_ids\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      queryFormat: {\n        serializedName: \"query_format\",\n        type: {\n          name: \"String\",\n        },\n      },\n      responseFormat: {\n        serializedName: \"response_format\",\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        type: {\n          name: \"String\",\n        },\n      },\n      queryTtl: {\n        serializedName: \"query_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      queryId: {\n        serializedName: \"query_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        type: {\n          name: \"String\",\n        },\n      },\n      commitmentId: {\n        serializedName: \"commitment_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      name: {\n        serializedName: \"name\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nameSalt: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_salt\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      nameFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nameId: {\n        serializedName: \"name_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nameTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointer\",\n            },\n          },\n        },\n      },\n      clientTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"client_ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      ownerId: {\n        serializedName: \"owner_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        type: {\n          name: \"String\",\n        },\n      },\n      callerId: {\n        serializedName: \"caller_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authFun: {\n        constraints: {\n          Pattern: new RegExp(\"^(0x|0X)?[a-fA-F0-9]+$\"),\n        },\n        serializedName: \"auth_fun\",\n        type: {\n          name: \"String\",\n        },\n      },\n      gaId: {\n        serializedName: \"ga_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authData: {\n        serializedName: \"auth_data\",\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n      payerId: {\n        serializedName: \"payer_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"SpendTx\",\n            \"ChannelCreateTx\",\n            \"ChannelDepositTx\",\n            \"ChannelWithdrawTx\",\n            \"ChannelForceProgressTx\",\n            \"ChannelCloseMutualTx\",\n            \"ChannelCloseSoloTx\",\n            \"ChannelSlashTx\",\n            \"ChannelSettleTx\",\n            \"ChannelSnapshotSoloTx\",\n            \"ChannelSetDelegatesTx\",\n            \"OracleRegisterTx\",\n            \"OracleExtendTx\",\n            \"OracleQueryTx\",\n            \"OracleRespondTx\",\n            \"NamePreclaimTx\",\n            \"NameClaimTx\",\n            \"NameUpdateTx\",\n            \"NameTransferTx\",\n            \"NameRevokeTx\",\n            \"ContractCreateTx\",\n            \"ContractCallTx\",\n            \"GAAttachTx\",\n            \"GAMetaTx\",\n            \"PayingForTx\",\n          ],\n        },\n      },\n    },\n  },\n};\n\nexport const Delegates: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Delegates\",\n    modelProperties: {\n      initiator: {\n        serializedName: \"initiator\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responder: {\n        serializedName: \"responder\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainUpdate: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OffChainUpdate\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: {\n      serializedName: \"op\",\n      clientName: \"op\",\n    },\n    modelProperties: {\n      op: {\n        serializedName: \"op\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const RelativeTTL: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"RelativeTTL\",\n    modelProperties: {\n      type: {\n        defaultValue: \"delta\",\n        isConstant: true,\n        serializedName: \"type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      value: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"value\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Ttl: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Ttl\",\n    modelProperties: {\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"delta\", \"block\"],\n        },\n      },\n      value: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"value\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NamePointer: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NamePointer\",\n    modelProperties: {\n      key: {\n        serializedName: \"key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      encodedKey: {\n        serializedName: \"encoded_key\",\n        type: {\n          name: \"String\",\n        },\n      },\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const AuctionEntry: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"AuctionEntry\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      startedAt: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"started_at\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      endsAt: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ends_at\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      highestBidder: {\n        serializedName: \"highest_bidder\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      highestBid: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"highest_bid\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const Channel: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Channel\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorId: {\n        serializedName: \"initiator_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responderId: {\n        serializedName: \"responder_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      channelAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      initiatorAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelReserve: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_reserve\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        type: {\n          name: \"Composite\",\n          className: \"Delegates\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      soloRound: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"solo_round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lockPeriod: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"lock_period\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lockedUntil: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"locked_until\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractObject: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractObject\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ownerId: {\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      active: {\n        serializedName: \"active\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      referrerIds: {\n        serializedName: \"referrer_ids\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const ByteCode: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ByteCode\",\n    modelProperties: {\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PoI: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PoI\",\n    modelProperties: {\n      poi: {\n        serializedName: \"poi\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Currency: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Currency\",\n    modelProperties: {\n      name: {\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      symbol: {\n        serializedName: \"symbol\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      subunit: {\n        serializedName: \"subunit\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      subunitsPerUnit: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"subunits_per_unit\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fiatConverstionUrl: {\n        serializedName: \"fiat_converstion_url\",\n        type: {\n          name: \"String\",\n        },\n      },\n      fiatConversionUrl: {\n        serializedName: \"fiat_conversion_url\",\n        type: {\n          name: \"String\",\n        },\n      },\n      logo: {\n        serializedName: \"logo\",\n        type: {\n          name: \"Composite\",\n          className: \"Image\",\n        },\n      },\n      primaryColour: {\n        serializedName: \"primary_colour\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      secondaryColour: {\n        serializedName: \"secondary_colour\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      networkName: {\n        serializedName: \"network_name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Image: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Image\",\n    modelProperties: {\n      type: {\n        serializedName: \"type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      data: {\n        serializedName: \"data\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunInput\",\n    modelProperties: {\n      top: {\n        serializedName: \"top\",\n        type: {\n          name: \"String\",\n        },\n      },\n      accounts: {\n        serializedName: \"accounts\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"DryRunAccount\",\n            },\n          },\n        },\n      },\n      txs: {\n        serializedName: \"txs\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"DryRunInputItem\",\n            },\n          },\n        },\n      },\n      txEvents: {\n        defaultValue: false,\n        serializedName: \"tx_events\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunAccount: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunAccount\",\n    modelProperties: {\n      pubKey: {\n        serializedName: \"pub_key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunInputItem: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunInputItem\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        serializedName: \"tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      callReq: {\n        serializedName: \"call_req\",\n        type: {\n          name: \"Composite\",\n          className: \"DryRunCallReq\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunCallReq: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunCallReq\",\n    modelProperties: {\n      calldata: {\n        serializedName: \"calldata\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contract: {\n        serializedName: \"contract\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      caller: {\n        serializedName: \"caller\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      context: {\n        serializedName: \"context\",\n        type: {\n          name: \"Composite\",\n          className: \"DryRunCallContext\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunCallContext: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunCallContext\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        serializedName: \"tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      stateful: {\n        serializedName: \"stateful\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunResults: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunResults\",\n    modelProperties: {\n      results: {\n        serializedName: \"results\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"DryRunResult\",\n            },\n          },\n        },\n      },\n      txEvents: {\n        serializedName: \"tx_events\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Dictionary\",\n              value: { type: { name: \"any\" } },\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunResult: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunResult\",\n    modelProperties: {\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      result: {\n        serializedName: \"result\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      reason: {\n        serializedName: \"reason\",\n        type: {\n          name: \"String\",\n        },\n      },\n      callObj: {\n        serializedName: \"call_obj\",\n        type: {\n          name: \"Composite\",\n          className: \"ContractCallObject\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractCallObject: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCallObject\",\n    modelProperties: {\n      callerId: {\n        serializedName: \"caller_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callerNonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"caller_nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gasUsed: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_used\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      log: {\n        serializedName: \"log\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"Event\",\n            },\n          },\n        },\n      },\n      returnValue: {\n        serializedName: \"return_value\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      returnType: {\n        serializedName: \"return_type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"ok\", \"error\", \"revert\"],\n        },\n      },\n    },\n  },\n};\n\nexport const Event: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Event\",\n    modelProperties: {\n      address: {\n        serializedName: \"address\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      topics: {\n        serializedName: \"topics\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              InclusiveMinimum: 0,\n            },\n            type: {\n              // @ts-expect-error we are extending autorest with BigInt support\n              name: \"BigInt\",\n            },\n          },\n        },\n      },\n      data: {\n        serializedName: \"data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Generation: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Generation\",\n    modelProperties: {\n      keyBlock: {\n        serializedName: \"key_block\",\n        type: {\n          name: \"Composite\",\n          className: \"KeyBlock\",\n        },\n      },\n      microBlocks: {\n        serializedName: \"micro_blocks\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const KeyBlock: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"KeyBlock\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      prevHash: {\n        serializedName: \"prev_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevKeyHash: {\n        serializedName: \"prev_key_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      miner: {\n        serializedName: \"miner\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      beneficiary: {\n        serializedName: \"beneficiary\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      flags: {\n        serializedName: \"flags\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      target: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"target\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pow: {\n        constraints: {\n          MinItems: 42,\n          MaxItems: 42,\n        },\n        serializedName: \"pow\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              InclusiveMaximum: 4294967295,\n              InclusiveMinimum: 0,\n            },\n            type: {\n              name: \"Number\",\n            },\n          },\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      time: {\n        serializedName: \"time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      info: {\n        serializedName: \"info\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Header: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Header\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      prevHash: {\n        serializedName: \"prev_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevKeyHash: {\n        serializedName: \"prev_key_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      miner: {\n        serializedName: \"miner\",\n        type: {\n          name: \"String\",\n        },\n      },\n      beneficiary: {\n        serializedName: \"beneficiary\",\n        type: {\n          name: \"String\",\n        },\n      },\n      flags: {\n        serializedName: \"flags\",\n        type: {\n          name: \"String\",\n        },\n      },\n      target: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"target\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      pow: {\n        constraints: {\n          MinItems: 42,\n          MaxItems: 42,\n        },\n        serializedName: \"pow\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              InclusiveMaximum: 4294967295,\n              InclusiveMinimum: 0,\n            },\n            type: {\n              name: \"Number\",\n            },\n          },\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      time: {\n        serializedName: \"time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      info: {\n        serializedName: \"info\",\n        type: {\n          name: \"String\",\n        },\n      },\n      pofHash: {\n        serializedName: \"pof_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      txsHash: {\n        serializedName: \"txs_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signature: {\n        serializedName: \"signature\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PinningTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PinningTx\",\n    modelProperties: {\n      epoch: {\n        serializedName: \"epoch\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      parentPayload: {\n        serializedName: \"parent_payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lastLeader: {\n        serializedName: \"last_leader\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      parentType: {\n        serializedName: \"parent_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      parentNetworkId: {\n        serializedName: \"parent_network_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const HCContractPubkeys: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"HCContractPubkeys\",\n    modelProperties: {\n      staking: {\n        serializedName: \"staking\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      election: {\n        serializedName: \"election\",\n        type: {\n          name: \"String\",\n        },\n      },\n      rewards: {\n        serializedName: \"rewards\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const HashResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"HashResponse\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const HeightResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"HeightResponse\",\n    modelProperties: {\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const MicroBlockHeader: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"MicroBlockHeader\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pofHash: {\n        serializedName: \"pof_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevHash: {\n        serializedName: \"prev_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevKeyHash: {\n        serializedName: \"prev_key_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txsHash: {\n        serializedName: \"txs_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      signature: {\n        serializedName: \"signature\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      time: {\n        serializedName: \"time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const CountResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CountResponse\",\n    modelProperties: {\n      count: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameEntry: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameEntry\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      owner: {\n        serializedName: \"owner\",\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointerComplete\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const NamePointerComplete: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NamePointerComplete\",\n    modelProperties: {\n      key: {\n        serializedName: \"key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      encodedKey: {\n        serializedName: \"encoded_key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const RegisteredOracle: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"RegisteredOracle\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFormat: {\n        serializedName: \"query_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseFormat: {\n        serializedName: \"response_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleQueries: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleQueries\",\n    modelProperties: {\n      oracleQueries: {\n        serializedName: \"oracle_queries\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"OracleQuery\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const OracleQuery: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleQuery\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      senderNonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"sender_nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerPubKey: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerPubKey\",\n    modelProperties: {\n      pubkey: {\n        serializedName: \"pubkey\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GasPricesItem: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GasPricesItem\",\n    modelProperties: {\n      minGasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"min_gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      utilization: {\n        constraints: {\n          InclusiveMaximum: 100,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"utilization\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      minutes: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"minutes\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Status: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Status\",\n    modelProperties: {\n      genesisKeyBlockHash: {\n        serializedName: \"genesis_key_block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      solutions: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"solutions\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      difficulty: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"difficulty\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      hashrate: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"hashrate\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      syncing: {\n        serializedName: \"syncing\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      syncProgress: {\n        constraints: {\n          InclusiveMaximum: 100,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"sync_progress\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      uptime: {\n        serializedName: \"uptime\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      listening: {\n        serializedName: \"listening\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      protocols: {\n        serializedName: \"protocols\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"Protocol\",\n            },\n          },\n        },\n      },\n      nodeVersion: {\n        serializedName: \"node_version\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeRevision: {\n        serializedName: \"node_revision\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      peerCount: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"peer_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      peerConnections: {\n        serializedName: \"peer_connections\",\n        type: {\n          name: \"Composite\",\n          className: \"PeerConnections\",\n        },\n      },\n      pendingTransactionsCount: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"pending_transactions_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      networkId: {\n        serializedName: \"network_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      peerPubkey: {\n        serializedName: \"peer_pubkey\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      topKeyBlockHash: {\n        serializedName: \"top_key_block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      topBlockHeight: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"top_block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Protocol: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Protocol\",\n    modelProperties: {\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      effectiveAtHeight: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"effective_at_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerConnections: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerConnections\",\n    modelProperties: {\n      inbound: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"inbound\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      outbound: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"outbound\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const SyncStatus: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SyncStatus\",\n    modelProperties: {\n      progress: {\n        serializedName: \"progress\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      target: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"target\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      speed: {\n        serializedName: \"speed\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      estimate: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"estimate\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const EncodedTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"EncodedTx\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PostTxResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PostTxResponse\",\n    modelProperties: {\n      txHash: {\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const TxInfoObject: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"TxInfoObject\",\n    modelProperties: {\n      callInfo: {\n        serializedName: \"call_info\",\n        type: {\n          name: \"Composite\",\n          className: \"ContractCallObject\",\n        },\n      },\n      gaInfo: {\n        serializedName: \"ga_info\",\n        type: {\n          name: \"Composite\",\n          className: \"GAObject\",\n        },\n      },\n      txInfo: {\n        serializedName: \"tx_info\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GAObject: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GAObject\",\n    modelProperties: {\n      callerId: {\n        serializedName: \"caller_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gasUsed: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_used\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      returnValue: {\n        serializedName: \"return_value\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      returnType: {\n        serializedName: \"return_type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"ok\", \"error\"],\n        },\n      },\n      innerObject: {\n        serializedName: \"inner_object\",\n        type: {\n          name: \"Composite\",\n          className: \"TxInfoObject\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCloseMutualTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCloseMutualTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCloseSoloTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCloseSoloTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCreateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCreateTx\",\n    modelProperties: {\n      initiatorId: {\n        serializedName: \"initiator_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderId: {\n        serializedName: \"responder_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responderAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelReserve: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_reserve\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockPeriod: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"lock_period\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        type: {\n          name: \"Composite\",\n          className: \"Delegates\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelDepositTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelDepositTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelForceProgressTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelForceProgressTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      update: {\n        serializedName: \"update\",\n        type: {\n          name: \"Composite\",\n          className: \"OffChainUpdate\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      offchainTrees: {\n        serializedName: \"offchain_trees\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSetDelegatesTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSetDelegatesTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorDelegateIds: {\n        serializedName: \"initiator_delegate_ids\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responderDelegateIds: {\n        serializedName: \"responder_delegate_ids\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSettleTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSettleTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSlashTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSlashTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSnapshotSoloTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSnapshotSoloTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelWithdrawTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelWithdrawTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      toId: {\n        serializedName: \"to_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const CheckTxInPoolResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CheckTxInPoolResponse\",\n    modelProperties: {\n      status: {\n        serializedName: \"status\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const CommitmentId: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CommitmentId\",\n    modelProperties: {\n      commitmentId: {\n        serializedName: \"commitment_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractCallTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCallTx\",\n    modelProperties: {\n      callerId: {\n        serializedName: \"caller_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractCreateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCreateTx\",\n    modelProperties: {\n      ownerId: {\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const UnsignedTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"UnsignedTx\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GAAttachTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GAAttachTx\",\n    modelProperties: {\n      ownerId: {\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      authFun: {\n        constraints: {\n          Pattern: new RegExp(\"^(0x|0X)?[a-fA-F0-9]+$\"),\n        },\n        serializedName: \"auth_fun\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GAMetaTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GAMetaTx\",\n    modelProperties: {\n      gaId: {\n        serializedName: \"ga_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      authData: {\n        serializedName: \"auth_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameClaimTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameClaimTx\",\n    modelProperties: {\n      name: {\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameSalt: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_salt\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      nameFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameHash: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameHash\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const NamePreclaimTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NamePreclaimTx\",\n    modelProperties: {\n      commitmentId: {\n        serializedName: \"commitment_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameRevokeTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameRevokeTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameTransferTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameTransferTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      recipientId: {\n        serializedName: \"recipient_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameUpdateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameUpdateTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointer\",\n            },\n          },\n        },\n      },\n      clientTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"client_ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerDetails: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerDetails\",\n    modelProperties: {\n      host: {\n        serializedName: \"host\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      port: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"port\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      firstSeen: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"first_seen\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lastSeen: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"last_seen\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      genesisHash: {\n        serializedName: \"genesis_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      topHash: {\n        serializedName: \"top_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      topDifficulty: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"top_difficulty\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      networkId: {\n        serializedName: \"network_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeVersion: {\n        serializedName: \"node_version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeRevision: {\n        serializedName: \"node_revision\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeVendor: {\n        serializedName: \"node_vendor\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeOs: {\n        serializedName: \"node_os\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleExtendTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleExtendTx\",\n    modelProperties: {\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleQueryTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleQueryTx\",\n    modelProperties: {\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      queryTtl: {\n        serializedName: \"query_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleRegisterTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleRegisterTx\",\n    modelProperties: {\n      queryFormat: {\n        serializedName: \"query_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseFormat: {\n        serializedName: \"response_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleRespondTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleRespondTx\",\n    modelProperties: {\n      queryId: {\n        serializedName: \"query_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PayingForTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PayingForTx\",\n    modelProperties: {\n      payerId: {\n        serializedName: \"payer_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerCount: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerCount\",\n    modelProperties: {\n      connected: {\n        serializedName: \"connected\",\n        type: {\n          name: \"Composite\",\n          className: \"PeerCountConnected\",\n        },\n      },\n      available: {\n        serializedName: \"available\",\n        type: {\n          name: \"Composite\",\n          className: \"PeerCountAvailable\",\n        },\n      },\n      blocked: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"blocked\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerCountConnected: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerCountConnected\",\n    modelProperties: {\n      inbound: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"inbound\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      outbound: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"outbound\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerCountAvailable: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerCountAvailable\",\n    modelProperties: {\n      verified: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"verified\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      unverified: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"unverified\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Peers: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Peers\",\n    modelProperties: {\n      peers: {\n        serializedName: \"peers\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      blocked: {\n        serializedName: \"blocked\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const PubKey: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PubKey\",\n    modelProperties: {\n      pubKey: {\n        serializedName: \"pub_key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const SpendTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SpendTx\",\n    modelProperties: {\n      recipientId: {\n        serializedName: \"recipient_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const TokenSupply: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"TokenSupply\",\n    modelProperties: {\n      accounts: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"accounts\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contracts: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"contracts\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractOracles: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"contract_oracles\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      locked: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"locked\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracles: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"oracles\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleQueries: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"oracle_queries\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      pendingRewards: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"pending_rewards\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      total: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"total\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainCallContract: coreClient.CompositeMapper = {\n  serializedName: \"OffChainCallContract\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainCallContract\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n    modelProperties: {\n      ...OffChainUpdate.type.modelProperties,\n      caller: {\n        serializedName: \"caller\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contract: {\n        serializedName: \"contract\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainDeposit: coreClient.CompositeMapper = {\n  serializedName: \"OffChainDeposit\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainDeposit\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n    modelProperties: {\n      ...OffChainUpdate.type.modelProperties,\n      from: {\n        serializedName: \"from\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainNewContract: coreClient.CompositeMapper = {\n  serializedName: \"OffChainNewContract\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainNewContract\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n    modelProperties: {\n      ...OffChainUpdate.type.modelProperties,\n      owner: {\n        serializedName: \"owner\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        type: {\n          name: \"Composite\",\n          className: \"ByteCode\",\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainTransfer: coreClient.CompositeMapper = {\n  serializedName: \"OffChainTransfer\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainTransfer\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n    modelProperties: {\n      ...OffChainUpdate.type.modelProperties,\n      from: {\n        serializedName: \"from\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      to: {\n        serializedName: \"to\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainWithdrawal: coreClient.CompositeMapper = {\n  serializedName: \"OffChainWithdrawal\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainWithdrawal\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n    modelProperties: {\n      ...OffChainUpdate.type.modelProperties,\n      to: {\n        serializedName: \"to\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const CreateContractUnsignedTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CreateContractUnsignedTx\",\n    modelProperties: {\n      ...UnsignedTx.type.modelProperties,\n      contractId: {\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport let discriminators = {\n  OffChainUpdate: OffChainUpdate,\n  \"OffChainUpdate.OffChainCallContract\": OffChainCallContract,\n  \"OffChainUpdate.OffChainDeposit\": OffChainDeposit,\n  \"OffChainUpdate.OffChainNewContract\": OffChainNewContract,\n  \"OffChainUpdate.OffChainTransfer\": OffChainTransfer,\n  \"OffChainUpdate.OffChainWithdrawal\": OffChainWithdrawal,\n};\n","import {\n  OperationParameter,\n  OperationURLParameter,\n  OperationQueryParameter,\n} from \"@azure/core-client\";\nimport {\n  DryRunInput as DryRunInputMapper,\n  EncodedTx as EncodedTxMapper,\n} from \"../models/mappers.js\";\n\nexport const accept: OperationParameter = {\n  parameterPath: \"accept\",\n  mapper: {\n    defaultValue: \"application/json\",\n    isConstant: true,\n    serializedName: \"Accept\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const $host: OperationURLParameter = {\n  parameterPath: \"$host\",\n  mapper: {\n    serializedName: \"$host\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n  skipEncoding: true,\n};\n\nexport const pubkey: OperationURLParameter = {\n  parameterPath: \"pubkey\",\n  mapper: {\n    serializedName: \"pubkey\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const hash: OperationURLParameter = {\n  parameterPath: \"hash\",\n  mapper: {\n    serializedName: \"hash\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const height: OperationURLParameter = {\n  parameterPath: \"height\",\n  mapper: {\n    constraints: {\n      InclusiveMaximum: 18446744073709552000,\n      InclusiveMinimum: 0,\n    },\n    serializedName: \"height\",\n    required: true,\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const strategy: OperationQueryParameter = {\n  parameterPath: [\"options\", \"strategy\"],\n  mapper: {\n    defaultValue: \"max\",\n    serializedName: \"strategy\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"max\", \"continuity\"],\n    },\n  },\n};\n\nexport const name: OperationURLParameter = {\n  parameterPath: \"name\",\n  mapper: {\n    serializedName: \"name\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const contentType: OperationParameter = {\n  parameterPath: [\"options\", \"contentType\"],\n  mapper: {\n    defaultValue: \"application/json\",\n    isConstant: true,\n    serializedName: \"Content-Type\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const body: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: DryRunInputMapper,\n};\n\nexport const index: OperationURLParameter = {\n  parameterPath: \"index\",\n  mapper: {\n    constraints: {\n      InclusiveMinimum: 1,\n    },\n    serializedName: \"index\",\n    required: true,\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const nameHash: OperationURLParameter = {\n  parameterPath: \"nameHash\",\n  mapper: {\n    serializedName: \"name_hash\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const fromParam: OperationQueryParameter = {\n  parameterPath: [\"options\", \"from\"],\n  mapper: {\n    serializedName: \"from\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const limit: OperationQueryParameter = {\n  parameterPath: [\"options\", \"limit\"],\n  mapper: {\n    defaultValue: 20,\n    constraints: {\n      InclusiveMaximum: 1000,\n      InclusiveMinimum: 1,\n    },\n    serializedName: \"limit\",\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const typeParam: OperationQueryParameter = {\n  parameterPath: [\"options\", \"type\"],\n  mapper: {\n    defaultValue: \"all\",\n    serializedName: \"type\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"open\", \"closed\", \"all\"],\n    },\n  },\n};\n\nexport const queryId: OperationURLParameter = {\n  parameterPath: \"queryId\",\n  mapper: {\n    serializedName: \"query-id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const body1: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: EncodedTxMapper,\n};\n","import { createSerializer } from \"../../utils/autorest.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n  NodeOptionalParams,\n  GetAccountByPubkeyOptionalParams,\n  GetAccountByPubkeyResponse,\n  GetAccountByPubkeyAndHashOptionalParams,\n  GetAccountByPubkeyAndHashResponse,\n  GetAccountByPubkeyAndHeightOptionalParams,\n  GetAccountByPubkeyAndHeightResponse,\n  GetAccountNextNonceOptionalParams,\n  GetAccountNextNonceResponse,\n  GetPendingAccountTransactionsByPubkeyOptionalParams,\n  GetPendingAccountTransactionsByPubkeyResponse,\n  GetAuctionEntryByNameOptionalParams,\n  GetAuctionEntryByNameResponse,\n  GetChannelByPubkeyOptionalParams,\n  GetChannelByPubkeyResponse,\n  GetContractOptionalParams,\n  GetContractResponse,\n  GetContractCodeOptionalParams,\n  GetContractCodeResponse,\n  GetContractPoIOptionalParams,\n  GetContractPoIResponse,\n  GetCurrencyOptionalParams,\n  GetCurrencyResponse,\n  DryRunInput,\n  ProtectedDryRunTxsOptionalParams,\n  ProtectedDryRunTxsResponse,\n  GetCurrentGenerationOptionalParams,\n  GetCurrentGenerationResponse,\n  GetGenerationByHashOptionalParams,\n  GetGenerationByHashResponse,\n  GetGenerationByHeightOptionalParams,\n  GetGenerationByHeightResponse,\n  GetTopHeaderOptionalParams,\n  GetTopHeaderResponse,\n  GetPinningTxOptionalParams,\n  GetPinningTxResponse,\n  GetHyperchainContractPubkeysOptionalParams,\n  GetHyperchainContractPubkeysResponse,\n  GetCurrentKeyBlockOptionalParams,\n  GetCurrentKeyBlockResponse,\n  GetCurrentKeyBlockHashOptionalParams,\n  GetCurrentKeyBlockHashResponse,\n  GetCurrentKeyBlockHeightOptionalParams,\n  GetCurrentKeyBlockHeightResponse,\n  GetKeyBlockByHashOptionalParams,\n  GetKeyBlockByHashResponse,\n  GetKeyBlockByHeightOptionalParams,\n  GetKeyBlockByHeightResponse,\n  GetPendingKeyBlockOptionalParams,\n  GetPendingKeyBlockResponse,\n  GetMicroBlockHeaderByHashOptionalParams,\n  GetMicroBlockHeaderByHashResponse,\n  GetMicroBlockTransactionsByHashOptionalParams,\n  GetMicroBlockTransactionsByHashResponse,\n  GetMicroBlockTransactionsCountByHashOptionalParams,\n  GetMicroBlockTransactionsCountByHashResponse,\n  GetMicroBlockTransactionByHashAndIndexOptionalParams,\n  GetMicroBlockTransactionByHashAndIndexResponse,\n  GetNameEntryByNameOptionalParams,\n  GetNameEntryByNameResponse,\n  GetNameEntryByNameHashOptionalParams,\n  GetNameEntryByNameHashResponse,\n  GetOracleByPubkeyOptionalParams,\n  GetOracleByPubkeyResponse,\n  GetOracleQueriesByPubkeyOptionalParams,\n  GetOracleQueriesByPubkeyResponse,\n  GetOracleQueryByPubkeyAndQueryIdOptionalParams,\n  GetOracleQueryByPubkeyAndQueryIdResponse,\n  GetPeerPubkeyOptionalParams,\n  GetPeerPubkeyResponse,\n  GetRecentGasPricesOptionalParams,\n  GetRecentGasPricesResponse,\n  GetStatusOptionalParams,\n  GetStatusResponse,\n  GetChainEndsOptionalParams,\n  GetChainEndsResponse,\n  GetSyncStatusOptionalParams,\n  GetSyncStatusResponse,\n  EncodedTx,\n  PostTransactionOptionalParams,\n  PostTransactionResponse,\n  GetTransactionByHashOptionalParams,\n  GetTransactionByHashResponse,\n  GetTransactionInfoByHashOptionalParams,\n  GetTransactionInfoByHashResponse,\n} from \"./models/index.js\";\n\nexport class Node extends coreClient.ServiceClient {\n  readonly $host: string;\n\n  /**\n   * Initializes a new instance of the Node class.\n   * @param $host server parameter\n   * @param options The parameter options\n   */\n  constructor($host: string, options?: NodeOptionalParams) {\n    if ($host === undefined) {\n      throw new Error(\"'$host' cannot be null\");\n    }\n\n    // Initializing default values for options\n    if (!options) {\n      options = {};\n    }\n    const defaults: NodeOptionalParams = {\n      requestContentType: \"application/json; charset=utf-8\",\n    };\n\n    const packageDetails = `azsdk-js-node/1.0.0-beta.1`;\n    const userAgentPrefix =\n      options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n        ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n        : `${packageDetails}`;\n\n    const optionsWithDefaults = {\n      ...defaults,\n      ...options,\n      userAgentOptions: {\n        userAgentPrefix,\n      },\n      endpoint: options.endpoint ?? options.baseUri ?? \"{$host}\",\n    };\n    super(optionsWithDefaults);\n    // Parameter assignments\n    this.$host = $host;\n  }\n\n  /**\n   * Get an account by public key\n   * @param pubkey The public key of the account\n   * @param options The options parameters.\n   */\n  getAccountByPubkey(\n    pubkey: string,\n    options?: GetAccountByPubkeyOptionalParams,\n  ): Promise<GetAccountByPubkeyResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getAccountByPubkeyOperationSpec,\n    );\n  }\n\n  /**\n   * Get an account by public key after the block indicated by hash. Can be either a micro block or a\n   * keyblock hash\n   * @param pubkey The public key of the account\n   * @param hash The hash of the block - either a keyblock or a microblock\n   * @param options The options parameters.\n   */\n  getAccountByPubkeyAndHash(\n    pubkey: string,\n    hash: string,\n    options?: GetAccountByPubkeyAndHashOptionalParams,\n  ): Promise<GetAccountByPubkeyAndHashResponse> {\n    return this.sendOperationRequest(\n      { pubkey, hash, options },\n      getAccountByPubkeyAndHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get an account by public key after the opening key block of the generation at height\n   * @param pubkey The public key of the account\n   * @param height The height\n   * @param options The options parameters.\n   */\n  getAccountByPubkeyAndHeight(\n    pubkey: string,\n    height: number,\n    options?: GetAccountByPubkeyAndHeightOptionalParams,\n  ): Promise<GetAccountByPubkeyAndHeightResponse> {\n    return this.sendOperationRequest(\n      { pubkey, height, options },\n      getAccountByPubkeyAndHeightOperationSpec,\n    );\n  }\n\n  /**\n   * Get an account's next nonce; This is computed according to whatever is the current account nonce and\n   * what transactions are currently present in the transaction pool\n   * @param pubkey The public key of the account\n   * @param options The options parameters.\n   */\n  getAccountNextNonce(\n    pubkey: string,\n    options?: GetAccountNextNonceOptionalParams,\n  ): Promise<GetAccountNextNonceResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getAccountNextNonceOperationSpec,\n    );\n  }\n\n  /**\n   * Get pending account transactions by public key\n   * @param pubkey The public key of the account\n   * @param options The options parameters.\n   */\n  getPendingAccountTransactionsByPubkey(\n    pubkey: string,\n    options?: GetPendingAccountTransactionsByPubkeyOptionalParams,\n  ): Promise<GetPendingAccountTransactionsByPubkeyResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getPendingAccountTransactionsByPubkeyOperationSpec,\n    );\n  }\n\n  /**\n   * Get auction entry from naming system\n   * @param name The name key of the name entry\n   * @param options The options parameters.\n   */\n  getAuctionEntryByName(\n    name: string,\n    options?: GetAuctionEntryByNameOptionalParams,\n  ): Promise<GetAuctionEntryByNameResponse> {\n    return this.sendOperationRequest(\n      { name, options },\n      getAuctionEntryByNameOperationSpec,\n    );\n  }\n\n  /**\n   * Get channel by public key\n   * @param pubkey The pubkey of the channel\n   * @param options The options parameters.\n   */\n  getChannelByPubkey(\n    pubkey: string,\n    options?: GetChannelByPubkeyOptionalParams,\n  ): Promise<GetChannelByPubkeyResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getChannelByPubkeyOperationSpec,\n    );\n  }\n\n  /**\n   * Get a contract by pubkey\n   * @param pubkey Contract pubkey to get proof for\n   * @param options The options parameters.\n   */\n  getContract(\n    pubkey: string,\n    options?: GetContractOptionalParams,\n  ): Promise<GetContractResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getContractOperationSpec,\n    );\n  }\n\n  /**\n   * Get contract code by pubkey\n   * @param pubkey Contract pubkey to get proof for\n   * @param options The options parameters.\n   */\n  getContractCode(\n    pubkey: string,\n    options?: GetContractCodeOptionalParams,\n  ): Promise<GetContractCodeResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getContractCodeOperationSpec,\n    );\n  }\n\n  /**\n   * Get a proof of inclusion for a contract\n   * @param pubkey Contract pubkey to get proof for\n   * @param options The options parameters.\n   */\n  getContractPoI(\n    pubkey: string,\n    options?: GetContractPoIOptionalParams,\n  ): Promise<GetContractPoIResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getContractPoIOperationSpec,\n    );\n  }\n\n  /**\n   * Get the currency metadata of a node\n   * @param options The options parameters.\n   */\n  getCurrency(\n    options?: GetCurrencyOptionalParams,\n  ): Promise<GetCurrencyResponse> {\n    return this.sendOperationRequest({ options }, getCurrencyOperationSpec);\n  }\n\n  /**\n   * Dry-run unsigned transactions on top of a given block. Supports all TXs except GAMetaTx, PayingForTx\n   * and OffchainTx. The maximum gas limit of all calls is capped. The maximum gas limit per request is a\n   * global node setting. Since DryRunCallReq object do not have a mandatory gas field, if not set a\n   * default value of 1000000 is being used instead.\n   * @param body transactions\n   * @param options The options parameters.\n   */\n  protectedDryRunTxs(\n    body: DryRunInput,\n    options?: ProtectedDryRunTxsOptionalParams,\n  ): Promise<ProtectedDryRunTxsResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      protectedDryRunTxsOperationSpec,\n    );\n  }\n\n  /**\n   * Get the current generation\n   * @param options The options parameters.\n   */\n  getCurrentGeneration(\n    options?: GetCurrentGenerationOptionalParams,\n  ): Promise<GetCurrentGenerationResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getCurrentGenerationOperationSpec,\n    );\n  }\n\n  /**\n   * Get a generation by hash\n   * @param hash The hash of the key block\n   * @param options The options parameters.\n   */\n  getGenerationByHash(\n    hash: string,\n    options?: GetGenerationByHashOptionalParams,\n  ): Promise<GetGenerationByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getGenerationByHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get a generation by height\n   * @param height The height\n   * @param options The options parameters.\n   */\n  getGenerationByHeight(\n    height: number,\n    options?: GetGenerationByHeightOptionalParams,\n  ): Promise<GetGenerationByHeightResponse> {\n    return this.sendOperationRequest(\n      { height, options },\n      getGenerationByHeightOperationSpec,\n    );\n  }\n\n  /**\n   * Get the top header (either key or micro block)\n   * @param options The options parameters.\n   */\n  getTopHeader(\n    options?: GetTopHeaderOptionalParams,\n  ): Promise<GetTopHeaderResponse> {\n    return this.sendOperationRequest({ options }, getTopHeaderOperationSpec);\n  }\n\n  /**\n   * Get the pinning transaction for the current epoch. Returns both the individual parameters as well as\n   * the parent chain type (aeternity, btc etc.), network id and a packaged 80 byte readymade payload for\n   * that chain type.\n   * @param options The options parameters.\n   */\n  getPinningTx(\n    options?: GetPinningTxOptionalParams,\n  ): Promise<GetPinningTxResponse> {\n    return this.sendOperationRequest({ options }, getPinningTxOperationSpec);\n  }\n\n  /**\n   * Get the pubkeys for the configured hyperchain contracts for staking, election and rewards\n   * @param options The options parameters.\n   */\n  getHyperchainContractPubkeys(\n    options?: GetHyperchainContractPubkeysOptionalParams,\n  ): Promise<GetHyperchainContractPubkeysResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getHyperchainContractPubkeysOperationSpec,\n    );\n  }\n\n  /**\n   * Get the current key block\n   * @param options The options parameters.\n   */\n  getCurrentKeyBlock(\n    options?: GetCurrentKeyBlockOptionalParams,\n  ): Promise<GetCurrentKeyBlockResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getCurrentKeyBlockOperationSpec,\n    );\n  }\n\n  /**\n   * Get the hash of the current key block\n   * @param options The options parameters.\n   */\n  getCurrentKeyBlockHash(\n    options?: GetCurrentKeyBlockHashOptionalParams,\n  ): Promise<GetCurrentKeyBlockHashResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getCurrentKeyBlockHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get the height of the current key block\n   * @param options The options parameters.\n   */\n  getCurrentKeyBlockHeight(\n    options?: GetCurrentKeyBlockHeightOptionalParams,\n  ): Promise<GetCurrentKeyBlockHeightResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getCurrentKeyBlockHeightOperationSpec,\n    );\n  }\n\n  /**\n   * Get a key block by hash\n   * @param hash The hash of the block - either a keyblock or a microblock\n   * @param options The options parameters.\n   */\n  getKeyBlockByHash(\n    hash: string,\n    options?: GetKeyBlockByHashOptionalParams,\n  ): Promise<GetKeyBlockByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getKeyBlockByHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get a key block by height\n   * @param height The height\n   * @param options The options parameters.\n   */\n  getKeyBlockByHeight(\n    height: number,\n    options?: GetKeyBlockByHeightOptionalParams,\n  ): Promise<GetKeyBlockByHeightResponse> {\n    return this.sendOperationRequest(\n      { height, options },\n      getKeyBlockByHeightOperationSpec,\n    );\n  }\n\n  /**\n   * Get the pending key block\n   * @param options The options parameters.\n   */\n  getPendingKeyBlock(\n    options?: GetPendingKeyBlockOptionalParams,\n  ): Promise<GetPendingKeyBlockResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getPendingKeyBlockOperationSpec,\n    );\n  }\n\n  /**\n   * Get a micro block header by hash\n   * @param hash The hash of the block - either a keyblock or a microblock\n   * @param options The options parameters.\n   */\n  getMicroBlockHeaderByHash(\n    hash: string,\n    options?: GetMicroBlockHeaderByHashOptionalParams,\n  ): Promise<GetMicroBlockHeaderByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getMicroBlockHeaderByHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get micro block transactions by hash\n   * @param hash The hash of the micro block\n   * @param options The options parameters.\n   */\n  getMicroBlockTransactionsByHash(\n    hash: string,\n    options?: GetMicroBlockTransactionsByHashOptionalParams,\n  ): Promise<GetMicroBlockTransactionsByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getMicroBlockTransactionsByHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get micro block transaction count by hash\n   * @param hash The hash of the micro block\n   * @param options The options parameters.\n   */\n  getMicroBlockTransactionsCountByHash(\n    hash: string,\n    options?: GetMicroBlockTransactionsCountByHashOptionalParams,\n  ): Promise<GetMicroBlockTransactionsCountByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getMicroBlockTransactionsCountByHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get a micro block transaction by hash and index\n   * @param hash The hash of the micro block\n   * @param index The index of the transaction in a block\n   * @param options The options parameters.\n   */\n  getMicroBlockTransactionByHashAndIndex(\n    hash: string,\n    index: number,\n    options?: GetMicroBlockTransactionByHashAndIndexOptionalParams,\n  ): Promise<GetMicroBlockTransactionByHashAndIndexResponse> {\n    return this.sendOperationRequest(\n      { hash, index, options },\n      getMicroBlockTransactionByHashAndIndexOperationSpec,\n    );\n  }\n\n  /**\n   * Get name entry from naming system\n   * @param name The name key of the name entry\n   * @param options The options parameters.\n   */\n  getNameEntryByName(\n    name: string,\n    options?: GetNameEntryByNameOptionalParams,\n  ): Promise<GetNameEntryByNameResponse> {\n    return this.sendOperationRequest(\n      { name, options },\n      getNameEntryByNameOperationSpec,\n    );\n  }\n\n  /**\n   * Get name entry from naming system\n   * @param nameHash The name hash of the name entry\n   * @param options The options parameters.\n   */\n  getNameEntryByNameHash(\n    nameHash: string,\n    options?: GetNameEntryByNameHashOptionalParams,\n  ): Promise<GetNameEntryByNameHashResponse> {\n    return this.sendOperationRequest(\n      { nameHash, options },\n      getNameEntryByNameHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get an oracle by public key\n   * @param pubkey The public key of the oracle\n   * @param options The options parameters.\n   */\n  getOracleByPubkey(\n    pubkey: string,\n    options?: GetOracleByPubkeyOptionalParams,\n  ): Promise<GetOracleByPubkeyResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getOracleByPubkeyOperationSpec,\n    );\n  }\n\n  /**\n   * Get oracle queries by public key\n   * @param pubkey The public key of the oracle\n   * @param options The options parameters.\n   */\n  getOracleQueriesByPubkey(\n    pubkey: string,\n    options?: GetOracleQueriesByPubkeyOptionalParams,\n  ): Promise<GetOracleQueriesByPubkeyResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getOracleQueriesByPubkeyOperationSpec,\n    );\n  }\n\n  /**\n   * Get an oracle query by public key and query ID\n   * @param pubkey The public key of the oracle\n   * @param queryId The ID of the query\n   * @param options The options parameters.\n   */\n  getOracleQueryByPubkeyAndQueryId(\n    pubkey: string,\n    queryId: string,\n    options?: GetOracleQueryByPubkeyAndQueryIdOptionalParams,\n  ): Promise<GetOracleQueryByPubkeyAndQueryIdResponse> {\n    return this.sendOperationRequest(\n      { pubkey, queryId, options },\n      getOracleQueryByPubkeyAndQueryIdOperationSpec,\n    );\n  }\n\n  /**\n   * Get peer public key\n   * @param options The options parameters.\n   */\n  getPeerPubkey(\n    options?: GetPeerPubkeyOptionalParams,\n  ): Promise<GetPeerPubkeyResponse> {\n    return this.sendOperationRequest({ options }, getPeerPubkeyOperationSpec);\n  }\n\n  /**\n   * Get minimum gas prices in recent blocks\n   * @param options The options parameters.\n   */\n  getRecentGasPrices(\n    options?: GetRecentGasPricesOptionalParams,\n  ): Promise<GetRecentGasPricesResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getRecentGasPricesOperationSpec,\n    );\n  }\n\n  /**\n   * Get the status of a node\n   * @param options The options parameters.\n   */\n  getStatus(options?: GetStatusOptionalParams): Promise<GetStatusResponse> {\n    return this.sendOperationRequest({ options }, getStatusOperationSpec);\n  }\n\n  /**\n   * Get oldest keyblock hashes counting from genesis including orphans\n   * @param options The options parameters.\n   */\n  getChainEnds(\n    options?: GetChainEndsOptionalParams,\n  ): Promise<GetChainEndsResponse> {\n    return this.sendOperationRequest({ options }, getChainEndsOperationSpec);\n  }\n\n  /**\n   * Get the sync status of a node\n   * @param options The options parameters.\n   */\n  getSyncStatus(\n    options?: GetSyncStatusOptionalParams,\n  ): Promise<GetSyncStatusResponse> {\n    return this.sendOperationRequest({ options }, getSyncStatusOperationSpec);\n  }\n\n  /**\n   * Post a new transaction\n   * @param body The new transaction\n   * @param options The options parameters.\n   */\n  postTransaction(\n    body: EncodedTx,\n    options?: PostTransactionOptionalParams,\n  ): Promise<PostTransactionResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      postTransactionOperationSpec,\n    );\n  }\n\n  /**\n   * Get a transaction by hash\n   * @param hash The hash of the transaction\n   * @param options The options parameters.\n   */\n  getTransactionByHash(\n    hash: string,\n    options?: GetTransactionByHashOptionalParams,\n  ): Promise<GetTransactionByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getTransactionByHashOperationSpec,\n    );\n  }\n\n  /**\n   * @param hash The hash of the transaction\n   * @param options The options parameters.\n   */\n  getTransactionInfoByHash(\n    hash: string,\n    options?: GetTransactionInfoByHashOptionalParams,\n  ): Promise<GetTransactionInfoByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getTransactionInfoByHashOperationSpec,\n    );\n  }\n}\n// Operation Specifications\nconst serializer = createSerializer(Mappers, /* isXml */ false);\n\nconst getAccountByPubkeyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{pubkey}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Account,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountByPubkeyAndHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{pubkey}/hash/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Account,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountByPubkeyAndHeightOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{pubkey}/height/{height}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Account,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    410: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey, Parameters.height],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountNextNonceOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{pubkey}/next-nonce\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.NextNonceResponse,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.strategy],\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getPendingAccountTransactionsByPubkeyOperationSpec: coreClient.OperationSpec =\n  {\n    path: \"/v3/accounts/{pubkey}/transactions/pending\",\n    httpMethod: \"GET\",\n    responses: {\n      200: {\n        bodyMapper: Mappers.SignedTxs,\n      },\n      400: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n      404: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n    },\n    urlParameters: [Parameters.$host, Parameters.pubkey],\n    headerParameters: [Parameters.accept],\n    serializer,\n  };\nconst getAuctionEntryByNameOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/auctions/{name}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.AuctionEntry,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.name],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getChannelByPubkeyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/channels/{pubkey}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Channel,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/{pubkey}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.ContractObject,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractCodeOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/{pubkey}/code\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.ByteCode,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractPoIOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/{pubkey}/poi\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.PoI,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getCurrencyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/currency\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Currency,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst protectedDryRunTxsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/dry-run\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.DryRunResults,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    403: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept, Parameters.contentType],\n  mediaType: \"json\",\n  serializer,\n};\nconst getCurrentGenerationOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/generations/current\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Generation,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getGenerationByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/generations/hash/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Generation,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getGenerationByHeightOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/generations/height/{height}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Generation,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.height],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTopHeaderOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/headers/top\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Header,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getPinningTxOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/pin-tx\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.PinningTx,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getHyperchainContractPubkeysOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/contracts\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.HCContractPubkeys,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getCurrentKeyBlockOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/current\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.KeyBlock,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getCurrentKeyBlockHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/current/hash\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.HashResponse,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getCurrentKeyBlockHeightOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/current/height\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.HeightResponse,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getKeyBlockByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/hash/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.KeyBlock,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getKeyBlockByHeightOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/height/{height}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.KeyBlock,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.height],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getPendingKeyBlockOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/pending\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.KeyBlock,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMicroBlockHeaderByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/micro-blocks/hash/{hash}/header\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.MicroBlockHeader,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMicroBlockTransactionsByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/micro-blocks/hash/{hash}/transactions\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.SignedTxs,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMicroBlockTransactionsCountByHashOperationSpec: coreClient.OperationSpec =\n  {\n    path: \"/v3/micro-blocks/hash/{hash}/transactions/count\",\n    httpMethod: \"GET\",\n    responses: {\n      200: {\n        bodyMapper: Mappers.CountResponse,\n      },\n      400: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n      404: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n    },\n    urlParameters: [Parameters.$host, Parameters.hash],\n    headerParameters: [Parameters.accept],\n    serializer,\n  };\nconst getMicroBlockTransactionByHashAndIndexOperationSpec: coreClient.OperationSpec =\n  {\n    path: \"/v3/micro-blocks/hash/{hash}/transactions/index/{index}\",\n    httpMethod: \"GET\",\n    responses: {\n      200: {\n        bodyMapper: Mappers.SignedTx,\n      },\n      400: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n      404: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n    },\n    urlParameters: [Parameters.$host, Parameters.hash, Parameters.index],\n    headerParameters: [Parameters.accept],\n    serializer,\n  };\nconst getNameEntryByNameOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/{name}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.NameEntry,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.name],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameEntryByNameHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/hash/{name_hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.NameEntry,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.nameHash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleByPubkeyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{pubkey}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.RegisteredOracle,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleQueriesByPubkeyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{pubkey}/queries\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.OracleQueries,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.fromParam,\n    Parameters.limit,\n    Parameters.typeParam,\n  ],\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleQueryByPubkeyAndQueryIdOperationSpec: coreClient.OperationSpec =\n  {\n    path: \"/v3/oracles/{pubkey}/queries/{query-id}\",\n    httpMethod: \"GET\",\n    responses: {\n      200: {\n        bodyMapper: Mappers.OracleQuery,\n      },\n      400: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n      404: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n    },\n    urlParameters: [Parameters.$host, Parameters.pubkey, Parameters.queryId],\n    headerParameters: [Parameters.accept],\n    serializer,\n  };\nconst getPeerPubkeyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/peers/pubkey\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.PeerPubKey,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getRecentGasPricesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/recent-gas-prices\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"GasPricesItem\" } },\n        },\n      },\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getStatusOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/status\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Status,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getChainEndsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/status/chain-ends\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: {\n        type: { name: \"Sequence\", element: { type: { name: \"String\" } } },\n      },\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getSyncStatusOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/sync-status\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.SyncStatus,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst postTransactionOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.PostTxResponse,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body1,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept, Parameters.contentType],\n  mediaType: \"json\",\n  serializer,\n};\nconst getTransactionByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.SignedTx,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransactionInfoByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/{hash}/info\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.TxInfoObject,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    410: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\n","// eslint-disable-next-line max-classes-per-file\nimport { OperationOptions } from '@azure/core-client';\nimport { userAgentPolicyName, setClientRequestIdPolicyName } from '@azure/core-rest-pipeline';\nimport {\n  genRequestQueuesPolicy,\n  genCombineGetRequestsPolicy,\n  genErrorFormatterPolicy,\n  parseBigIntPolicy,\n  genVersionCheckPolicy,\n  genRetryOnFailurePolicy,\n} from './utils/autorest.js';\nimport { Node as NodeApi, NodeOptionalParams, ErrorModel } from './apis/node/index.js';\nimport { UnsupportedVersionError } from './utils/errors.js';\nimport { ConsensusProtocolVersion } from './tx/builder/constants.js';\n\ninterface NodeInfo {\n  url: string;\n  nodeNetworkId: string;\n  version: string;\n  consensusProtocolVersion: ConsensusProtocolVersion;\n}\n\n/**\n * @category chain\n */\nexport default class Node extends NodeApi {\n  readonly #ignoreVersion: boolean;\n\n  /**\n   * @param url - Url for node API\n   * @param options - Options\n   * @param options.ignoreVersion - Print warning instead of throwing exception if node\n   * or consensus protocol version is not supported, use with caution\n   * @param options.retryCount - Amount of extra requests to do in case of failure\n   * @param options.retryOverallDelay - Time in ms to wait between all retries\n   */\n  constructor(\n    url: string,\n    {\n      ignoreVersion = false,\n      retryCount = 3,\n      retryOverallDelay = 800,\n      ...options\n    }: NodeOptionalParams & {\n      ignoreVersion?: boolean;\n      retryCount?: number;\n      retryOverallDelay?: number;\n    } = {},\n  ) {\n    const getVersion = async (opts: OperationOptions): Promise<string> =>\n      (await this._getCachedStatus(opts)).nodeVersion;\n    // eslint-disable-next-line constructor-super\n    super(url, {\n      allowInsecureConnection: true,\n      additionalPolicies: [\n        genVersionCheckPolicy('node', getVersion, '7.1.0', '8.0.0', ignoreVersion),\n        genRequestQueuesPolicy(),\n        genCombineGetRequestsPolicy(),\n        genRetryOnFailurePolicy(retryCount, retryOverallDelay),\n        genErrorFormatterPolicy((body: ErrorModel) =>\n          [' ', body.reason, body.errorCode == null ? '' : ` (${body.errorCode})`].join(''),\n        ),\n      ],\n      ...options,\n    });\n    this.#ignoreVersion = ignoreVersion;\n    this.pipeline.addPolicy(parseBigIntPolicy, { phase: 'Deserialize' });\n    this.pipeline.removePolicy({ name: userAgentPolicyName });\n    this.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n    // TODO: use instead our retry policy\n    this.pipeline.removePolicy({ name: 'defaultRetryPolicy' });\n  }\n\n  #cachedStatusPromise?: ReturnType<NodeApi['getStatus']>;\n\n  async _getCachedStatus(options?: OperationOptions): ReturnType<NodeApi['getStatus']> {\n    if (this.#cachedStatusPromise != null) return this.#cachedStatusPromise;\n    return this.getStatus(options);\n  }\n\n  override async getStatus(\n    ...args: Parameters<NodeApi['getStatus']>\n  ): ReturnType<NodeApi['getStatus']> {\n    const promise = super.getStatus(...args);\n    promise.then(\n      () => {\n        this.#cachedStatusPromise = promise;\n      },\n      () => {},\n    );\n    return promise;\n  }\n\n  #isHyperchainPromise?: Promise<boolean>;\n\n  async _isHyperchain(): Promise<boolean> {\n    if (this.#isHyperchainPromise != null) return this.#isHyperchainPromise;\n    this.#isHyperchainPromise = this.getHyperchainContractPubkeys({\n      requestOptions: { customHeaders: { '__no-retry': 'true' } },\n    }).then(\n      () => true,\n      (error) => {\n        if (error.message !== 'v3/hyperchain/contracts error: 404 status code') throw error;\n        return false;\n      },\n    );\n    return this.#isHyperchainPromise;\n  }\n\n  /**\n   * Returns network ID provided by node.\n   * This method won't do extra requests on subsequent calls.\n   */\n  async getNetworkId(): Promise<string> {\n    return (await this._getCachedStatus()).networkId;\n  }\n\n  async getNodeInfo(): Promise<NodeInfo> {\n    const {\n      nodeVersion,\n      networkId: nodeNetworkId,\n      protocols,\n      topBlockHeight,\n    } = await this.getStatus();\n\n    const consensusProtocolVersion = protocols\n      .filter(({ effectiveAtHeight }) => topBlockHeight >= effectiveAtHeight)\n      .reduce((acc, p) => (p.effectiveAtHeight > acc.effectiveAtHeight ? p : acc), {\n        effectiveAtHeight: -1,\n        version: 0,\n      }).version;\n    if (ConsensusProtocolVersion[consensusProtocolVersion] == null) {\n      const version = consensusProtocolVersion.toString();\n      const versions = Object.values(ConsensusProtocolVersion)\n        .filter((el) => typeof el === 'number')\n        .map((el) => +el);\n      const geVersion = Math.min(...versions).toString();\n      const ltVersion = (Math.max(...versions) + 1).toString();\n      const error = new UnsupportedVersionError(\n        'consensus protocol',\n        version,\n        geVersion,\n        ltVersion,\n      );\n      if (this.#ignoreVersion) console.warn(error.message);\n      else throw error;\n    }\n\n    return {\n      url: this.$host,\n      nodeNetworkId,\n      version: nodeVersion,\n      consensusProtocolVersion,\n    };\n  }\n}\n","import { Encoded } from '../utils/encoder.js';\nimport { buildTx, getSchema, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { TransactionError, UnexpectedTsError } from '../utils/errors.js';\n\n/**\n * Returns account address that signed a transaction\n * @param transaction - transaction to get a signer of\n * @category utils\n */\nexport default function getTransactionSignerAddress(\n  transaction: Encoded.Transaction,\n): Encoded.AccountAddress {\n  const params = unpackTx(transaction);\n  switch (params.tag) {\n    case Tag.SignedTx:\n      return getTransactionSignerAddress(buildTx(params.encodedTx));\n    case Tag.GaMetaTx:\n      return params.gaId;\n    default:\n  }\n\n  const nonce = getSchema(params.tag, params.version).find(([name]) => name === 'nonce')?.[1];\n  if (nonce == null)\n    throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);\n  if (!('senderKey' in nonce)) throw new UnexpectedTsError();\n  const address = params[nonce.senderKey as keyof typeof params] as unknown as string;\n  return address.replace(/^ok_/, 'ak_') as Encoded.AccountAddress;\n}\n","import { Encoded } from '../utils/encoder.js';\nimport Node from '../Node.js';\nimport CompilerBase from '../contract/compiler/Base.js';\nimport { Int } from '../tx/builder/constants.js';\nimport { AciValue, Domain } from '../utils/typed-data.js';\n\ninterface AuthData {\n  fee?: Int;\n  gasLimit?: number;\n  gasPrice?: Int;\n  callData?: Encoded.ContractBytearray;\n  sourceCode?: string;\n  args?: any[];\n}\n\n/**\n * Account is one of the three basic building blocks of an\n * {@link AeSdk} and provides access to a signing key pair.\n * @category account\n */\nexport default abstract class AccountBase {\n  /**\n   * Sign encoded transaction\n   * @param tx - Transaction to sign\n   * @param options - Options\n   * @param options.innerTx - Sign as inner transaction for PayingFor\n   * @param options.authData - Object with gaMeta params\n   * @returns Signed transaction\n   */\n  abstract signTransaction(\n    tx: Encoded.Transaction,\n    options: {\n      innerTx?: boolean;\n      networkId?: string;\n      authData?: AuthData | ((tx: Encoded.Transaction) => Promise<AuthData>);\n      onNode?: Node;\n      onCompiler?: CompilerBase;\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Encoded.Transaction>;\n\n  /**\n   * Sign message\n   * @param message - Message to sign\n   * @param options - Options\n   * @returns Signature\n   */\n  abstract signMessage(\n    message: string,\n    options?: {\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Uint8Array>;\n\n  /**\n   * Sign typed data\n   * @param data - Encoded data to sign\n   * @param aci - Type of data to sign\n   * @param options - Options\n   * @returns Signature\n   */\n  abstract signTypedData(\n    data: Encoded.ContractBytearray,\n    aci: AciValue,\n    options?: Domain & {\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Encoded.Signature>;\n\n  /**\n   * Sign data blob\n   * @param data - Data blob to sign\n   * @param options - Options\n   * @returns Signature\n   * @deprecated Use `unsafeSign` method instead\n   */\n  abstract sign(\n    data: string | Uint8Array,\n    options?: {\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Uint8Array>;\n\n  /**\n   * Sign data blob\n   * @param data - Data blob to sign\n   * @param options - Options\n   * @returns Signature\n   */\n  abstract unsafeSign(\n    data: string | Uint8Array,\n    options?: {\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Uint8Array>;\n\n  /**\n   * Account address\n   */\n  readonly address!: Encoded.AccountAddress;\n\n  /**\n   * Sign delegation, works only in Ceres\n   * @param delegation - Delegation to sign\n   * @param options - Options\n   * @returns Signature\n   */\n  abstract signDelegation(\n    delegation: Encoded.Bytearray,\n    options?: {\n      networkId?: string;\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Encoded.Signature>;\n}\n","import { TypeResolver, ContractByteArrayEncoder } from '@aeternity/aepp-calldata';\nimport canonicalize from 'canonicalize';\nimport { Encoded, decode } from './encoder.js';\nimport { hash, messagePrefixLength } from './crypto.js';\nimport { concatBuffers } from './other.js';\n\n/**\n * Hashes arbitrary object, can be used to inline the aci hash to contract source code\n * @category typed data signing\n */\nexport function hashJson(data: unknown): Buffer {\n  return hash(canonicalize(data) ?? '');\n}\n\n// TODO: move this type to calldata library https://github.com/aeternity/aepp-calldata-js/issues/215\n// based on https://github.com/aeternity/aepp-calldata-js/blob/82b5a98f9b308482627da8d7484d213e9cf87151/src/AciTypeResolver.js#L129\nexport type AciValue =\n  | 'void'\n  | 'unit'\n  | 'int'\n  | 'bool'\n  | 'string'\n  | 'bits'\n  | 'hash'\n  | 'signature'\n  | 'address'\n  | 'contract_pubkey'\n  | 'Chain.ttl'\n  | 'Chain.ga_meta_tx'\n  | 'Chain.paying_for_tx'\n  | 'Chain.base_tx'\n  | 'AENS.pointee'\n  | 'AENS.name'\n  | 'MCL_BLS12_381.fr'\n  | 'MCL_BLS12_381.fp'\n  | { 'Set.set': readonly [AciValue] }\n  | { bytes: number }\n  | { list: readonly [AciValue] }\n  | { map: readonly [AciValue, AciValue] }\n  | { tuple: readonly AciValue[] }\n  | { record: ReadonlyArray<{ name: string; type: AciValue }> }\n  | { variant: ReadonlyArray<{ [key: string]: readonly AciValue[] }> }\n  | { option: readonly [AciValue] }\n  | { oracle: readonly [AciValue, AciValue] }\n  | { oracle_query: readonly [AciValue, AciValue] };\n\nexport interface Domain {\n  name?: string;\n  version?: number;\n  networkId?: string;\n  contractAddress?: Encoded.ContractAddress;\n}\n\n/**\n * Hashes domain object, can be used to inline domain hash to contract source code\n * @category typed data signing\n */\nexport function hashDomain(domain: Domain): Buffer {\n  const domainAci = {\n    record: [\n      {\n        name: 'name',\n        type: { option: ['string'] },\n      },\n      {\n        name: 'version',\n        type: { option: ['int'] },\n      },\n      {\n        name: 'networkId',\n        type: { option: ['string'] },\n      },\n      {\n        name: 'contractAddress',\n        type: { option: ['contract_pubkey'] },\n      },\n    ],\n  } as const;\n  const domainType = new TypeResolver().resolveType(domainAci, {});\n  const fateValue = new ContractByteArrayEncoder().encodeWithType(domain, domainType);\n  return hash(decode(fateValue));\n}\n\n/**\n * @category typed data signing\n */\nexport function hashTypedData(\n  data: Encoded.ContractBytearray,\n  aci: AciValue,\n  domain: Domain,\n): Buffer {\n  return hash(\n    concatBuffers([\n      messagePrefixLength,\n      new Uint8Array([0]),\n      hashDomain(domain),\n      hashJson(aci),\n      hash(decode(data)),\n    ]),\n  );\n}\n","import nacl from 'tweetnacl';\nimport AccountBase from './Base.js';\nimport { hash, hashMessage, messagePrefixLength } from '../utils/crypto.js';\nimport { ArgumentError } from '../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { concatBuffers } from '../utils/other.js';\nimport { hashTypedData, AciValue } from '../utils/typed-data.js';\nimport { buildTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\n\nexport function getBufferToSign(\n  transaction: Encoded.Transaction,\n  networkId: string,\n  innerTx: boolean,\n): Uint8Array {\n  const prefixes = [networkId];\n  if (innerTx) prefixes.push('inner_tx');\n  const rlpBinaryTx = decode(transaction);\n  return concatBuffers([Buffer.from(prefixes.join('-')), hash(rlpBinaryTx)]);\n}\n\n/**\n * In-memory account class\n * @category account\n */\nexport default class AccountMemory extends AccountBase {\n  override readonly address: Encoded.AccountAddress;\n\n  readonly #secretKeyDecoded: Uint8Array;\n\n  /**\n   * @param secretKey - Secret key\n   */\n  constructor(public readonly secretKey: Encoded.AccountSecretKey) {\n    super();\n    const keyPair = nacl.sign.keyPair.fromSeed(decode(secretKey));\n    this.#secretKeyDecoded = keyPair.secretKey;\n    this.address = encode(keyPair.publicKey, Encoding.AccountAddress);\n  }\n\n  /**\n   * Generates a new AccountMemory using a random secret key\n   */\n  static generate(): AccountMemory {\n    const secretKey = encode(nacl.randomBytes(32), Encoding.AccountSecretKey);\n    return new AccountMemory(secretKey);\n  }\n\n  /**\n   * @deprecated Use `unsafeSign` method instead\n   */\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  override async sign(data: string | Uint8Array, options?: any): Promise<Uint8Array> {\n    return this.unsafeSign(data, options);\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  override async unsafeSign(data: string | Uint8Array, options?: any): Promise<Uint8Array> {\n    return nacl.sign.detached(Buffer.from(data), this.#secretKeyDecoded);\n  }\n\n  override async signTransaction(\n    transaction: Encoded.Transaction,\n    { innerTx, networkId, ...options }: { innerTx?: boolean; networkId?: string } = {},\n  ): Promise<Encoded.Transaction> {\n    if (networkId == null) {\n      throw new ArgumentError('networkId', 'provided', networkId);\n    }\n    const rlpBinaryTx = decode(transaction);\n    const txWithNetworkId = getBufferToSign(transaction, networkId, innerTx === true);\n\n    const signatures = [await this.unsafeSign(txWithNetworkId, options)];\n    return buildTx({ tag: Tag.SignedTx, encodedTx: rlpBinaryTx, signatures });\n  }\n\n  override async signMessage(message: string, options?: any): Promise<Uint8Array> {\n    return this.unsafeSign(hashMessage(message), options);\n  }\n\n  override async signTypedData(\n    data: Encoded.ContractBytearray,\n    aci: AciValue,\n    {\n      name,\n      version,\n      networkId,\n      contractAddress,\n      ...options\n    }: Parameters<AccountBase['signTypedData']>[2] = {},\n  ): Promise<Encoded.Signature> {\n    const dHash = hashTypedData(data, aci, {\n      name,\n      version,\n      networkId,\n      contractAddress,\n    });\n    const signature = await this.unsafeSign(dHash, options);\n    return encode(signature, Encoding.Signature);\n  }\n\n  override async signDelegation(\n    delegation: Encoded.Bytearray,\n    { networkId }: { networkId?: string } = {},\n  ): Promise<Encoded.Signature> {\n    if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n    const payload = concatBuffers([\n      messagePrefixLength,\n      new Uint8Array([1]),\n      Buffer.from(networkId),\n      decode(delegation),\n    ]);\n    const signature = await this.unsafeSign(payload);\n    return encode(signature, Encoding.Signature);\n  }\n}\n","import { Encoded } from '../utils/encoder.js';\nimport { buildTx, buildTxHash, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { verifySignature } from '../utils/crypto.js';\nimport { getBufferToSign } from '../account/Memory.js';\nimport { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors.js';\nimport Node from '../Node.js';\nimport getTransactionSignerAddress from './transaction-signer.js';\n\n/**\n * Calculates the cost of transaction execution\n * Provides an upper cost of contract-call-related transactions because of `gasLimit`.\n * Also assumes that oracle query fee is 0 unless it is provided in options.\n *\n * The idea is that if you need to show transaction details with some accuracy you can define\n * expense fields that you want to show separately. And to show `getExecutionCost` result as a fee,\n * subtracting all fields shown separately.\n *\n * @example\n * ```vue\n * <template>\n * Amount: {{ txUnpacked.amount }}\n * Name fee: {{ txUnpacked.nameFee }}\n * Other fees: {{ getExecutionCost(txEncoded) - txUnpacked.amount - txUnpacked.nameFee }}\n * </template>\n * ```\n *\n * Doing this way you won't worry to show wrong fee for a transaction you may not support. Because\n * the SDK calculates the overall price of any transaction on its side.\n *\n * @param transaction - Transaction to calculate the cost of\n * @param options - Options\n * @param options.innerTx - Should be provided if transaction wrapped with Tag.PayingForTx\n * @param options.gasUsed - Amount of gas actually used to make calculation more accurate\n * @param options.queryFee - Oracle query fee\n * @param options.isInitiator - Is transaction signer an initiator of state channel\n * @category utils\n */\nexport function getExecutionCost(\n  transaction: Encoded.Transaction,\n  {\n    innerTx,\n    gasUsed,\n    queryFee,\n    isInitiator,\n  }: {\n    innerTx?: 'fee-payer' | 'freeloader';\n    gasUsed?: number;\n    queryFee?: string;\n    isInitiator?: boolean;\n  } = {},\n): bigint {\n  const params = unpackTx(transaction);\n  if (params.tag === Tag.SignedTx) {\n    throw new IllegalArgumentError(\n      \"Transaction shouldn't be a SignedTx, use `getExecutionCostBySignedTx` instead\",\n    );\n  }\n\n  let res = 0n;\n  if ('fee' in params && innerTx !== 'freeloader') {\n    res += BigInt(params.fee);\n  }\n  if (params.tag === Tag.NameClaimTx) {\n    res += BigInt(params.nameFee);\n  }\n  if (params.tag === Tag.OracleQueryTx) {\n    res += BigInt(params.queryFee);\n  }\n  if (params.tag === Tag.OracleRespondTx) {\n    res -= BigInt(queryFee ?? 0);\n  }\n  if (params.tag === Tag.ChannelSettleTx) {\n    if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);\n    if (isInitiator === false) res -= BigInt(params.responderAmountFinal);\n  }\n  if (\n    (params.tag === Tag.SpendTx ||\n      params.tag === Tag.ContractCreateTx ||\n      params.tag === Tag.ContractCallTx ||\n      params.tag === Tag.ChannelDepositTx) &&\n    innerTx !== 'fee-payer'\n  ) {\n    res += BigInt(params.amount);\n  }\n  if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);\n  if (\n    (params.tag === Tag.ContractCreateTx ||\n      params.tag === Tag.ContractCallTx ||\n      params.tag === Tag.GaAttachTx ||\n      params.tag === Tag.GaMetaTx) &&\n    innerTx !== 'freeloader'\n  ) {\n    res += BigInt(params.gasPrice) * BigInt(gasUsed ?? params.gasLimit);\n  }\n  if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {\n    res += getExecutionCost(\n      buildTx(params.tx.encodedTx),\n      params.tag === Tag.PayingForTx ? { innerTx: 'fee-payer' } : {},\n    );\n  }\n  return res;\n}\n\n/**\n * Calculates the cost of signed transaction execution\n * @param transaction - Transaction to calculate the cost of\n * @param networkId - Network id used to sign the transaction\n * @param options - Options\n * @category utils\n */\nexport function getExecutionCostBySignedTx(\n  transaction: Encoded.Transaction,\n  networkId: string,\n  options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>,\n): bigint {\n  const params = unpackTx(transaction, Tag.SignedTx);\n  if (params.encodedTx.tag === Tag.GaMetaTx) {\n    return getExecutionCost(buildTx(params.encodedTx), options);\n  }\n\n  const tx = buildTx(params.encodedTx);\n  const address = getTransactionSignerAddress(tx);\n  const [isInnerTx, isNotInnerTx] = [true, false].map((f) =>\n    verifySignature(getBufferToSign(tx, networkId, f), params.signatures[0], address),\n  );\n  if (!isInnerTx && !isNotInnerTx) throw new TransactionError(\"Can't verify signature\");\n  return getExecutionCost(buildTx(params.encodedTx), {\n    ...(isInnerTx && { innerTx: 'freeloader' }),\n    ...options,\n  });\n}\n\n/**\n * Calculates the cost of signed and not signed transaction execution using node\n * @param transaction - Transaction to calculate the cost of\n * @param node - Node to use\n * @param options - Options\n * @param options.isMined - Is transaction already mined or not\n * @category utils\n */\nexport async function getExecutionCostUsingNode(\n  transaction: Encoded.Transaction,\n  node: Node,\n  { isMined, ...options }: { isMined?: boolean } & Parameters<typeof getExecutionCost>[1] = {},\n): Promise<bigint> {\n  let params = unpackTx(transaction);\n  const isSignedTx = params.tag === Tag.SignedTx;\n  const txHash = isSignedTx && isMined === true && buildTxHash(transaction);\n  if (params.tag === Tag.SignedTx) params = params.encodedTx;\n\n  // TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087\n  if (\n    options.gasUsed == null &&\n    txHash !== false &&\n    [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)\n  ) {\n    const { callInfo, gaInfo } = await node.getTransactionInfoByHash(txHash);\n    const combinedInfo = callInfo ?? gaInfo;\n    if (combinedInfo == null) {\n      throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);\n    }\n    options.gasUsed = combinedInfo.gasUsed;\n  }\n\n  if (options.queryFee == null && Tag.OracleRespondTx === params.tag) {\n    options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();\n  }\n\n  if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {\n    const { initiatorId } = await node.getChannelByPubkey(params.channelId);\n    options.isInitiator = params.fromId === initiatorId;\n  }\n\n  return isSignedTx\n    ? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options)\n    : getExecutionCost(transaction, options);\n}\n","import { RestError } from '@azure/core-rest-pipeline';\nimport { hash, isEncoded, verifySignature } from '../utils/crypto.js';\nimport { TxUnpacked } from './builder/schema.generated.js';\nimport { CtVersion, ProtocolToVmAbi } from './builder/field-types/ct-version.js';\nimport { Tag, ConsensusProtocolVersion } from './builder/constants.js';\nimport { buildTx, unpackTx } from './builder/index.js';\nimport { concatBuffers, isAccountNotFoundError } from '../utils/other.js';\nimport { Encoded, Encoding, decode } from '../utils/encoder.js';\nimport Node from '../Node.js';\nimport { Account } from '../apis/node/index.js';\nimport { genAggressiveCacheGetResponsesPolicy } from '../utils/autorest.js';\nimport { UnexpectedTsError } from '../utils/errors.js';\nimport getTransactionSignerAddress from './transaction-signer.js';\nimport { getExecutionCostUsingNode } from './execution-cost.js';\n\nexport interface ValidatorResult {\n  message: string;\n  key: string;\n  checkedKeys: string[];\n}\n\ntype Validator = (\n  tx: TxUnpacked,\n  options: {\n    // TODO: remove after fixing node types\n    account: Account & { id: Encoded.AccountAddress };\n    nodeNetworkId: string;\n    parentTxTypes: Tag[];\n    node: Node;\n    height: number;\n    consensusProtocolVersion: ConsensusProtocolVersion;\n  },\n) => ValidatorResult[] | Promise<ValidatorResult[]>;\n\nconst validators: Validator[] = [];\n\nasync function verifyTransactionInternal(\n  tx: TxUnpacked,\n  node: Node,\n  parentTxTypes: Tag[],\n): Promise<ValidatorResult[]> {\n  const address = getTransactionSignerAddress(buildTx(tx));\n  const [account, { height }, { consensusProtocolVersion, nodeNetworkId }] = await Promise.all([\n    node\n      .getAccountByPubkey(address)\n      .catch((error) => {\n        if (!isAccountNotFoundError(error)) throw error;\n        return { id: address, balance: 0n, nonce: 0 };\n      })\n      // TODO: remove after fixing https://github.com/aeternity/aepp-sdk-js/issues/1537\n      .then((acc) => ({ ...acc, id: acc.id as Encoded.AccountAddress })),\n    node.getCurrentKeyBlockHeight(), // TODO: don't request height on each validation, use caching\n    node.getNodeInfo(),\n  ]);\n\n  return (\n    await Promise.all(\n      validators.map(async (v) =>\n        v(tx, {\n          node,\n          account,\n          height,\n          consensusProtocolVersion,\n          nodeNetworkId,\n          parentTxTypes,\n        }),\n      ),\n    )\n  ).flat();\n}\n\n/**\n * Transaction Validator\n * This function validates some transaction properties,\n * to make sure it can be posted it to the chain\n * @category transaction builder\n * @param transaction - Base64Check-encoded transaction\n * @param nodeNotCached - Node to validate transaction against\n * @returns Array with verification errors\n * @example const errors = await verifyTransaction(transaction, node)\n */\nexport default async function verifyTransaction(\n  transaction: Parameters<typeof unpackTx>[0],\n  nodeNotCached: Node,\n): Promise<ValidatorResult[]> {\n  const pipeline = nodeNotCached.pipeline.clone();\n  pipeline.removePolicy({ name: 'parse-big-int' });\n  const node = new Node(nodeNotCached.$host, {\n    ignoreVersion: true,\n    pipeline,\n    additionalPolicies: [genAggressiveCacheGetResponsesPolicy()],\n  });\n  node._getCachedStatus = async () => nodeNotCached._getCachedStatus();\n  return verifyTransactionInternal(unpackTx(transaction), node, []);\n}\n\nvalidators.push(\n  (tx, { account, nodeNetworkId, parentTxTypes }) => {\n    if (tx.tag !== Tag.SignedTx) return [];\n    const { encodedTx, signatures } = tx;\n    if ((encodedTx ?? signatures) == null) return [];\n    if (signatures.length !== 1) return []; // TODO: Support multisignature like in state channels\n    const prefix = Buffer.from(\n      [nodeNetworkId, ...(parentTxTypes.includes(Tag.PayingForTx) ? ['inner_tx'] : [])].join('-'),\n    );\n    const txBinary = decode(buildTx(encodedTx));\n    const txWithNetworkId = concatBuffers([prefix, txBinary]);\n    const txHashWithNetworkId = concatBuffers([prefix, hash(txBinary)]);\n    if (\n      verifySignature(txWithNetworkId, signatures[0], account.id) ||\n      verifySignature(txHashWithNetworkId, signatures[0], account.id)\n    )\n      return [];\n    return [\n      {\n        message:\n          'Signature cannot be verified, please ensure that you transaction have' +\n          ' the correct prefix and the correct private key for the sender address',\n        key: 'InvalidSignature',\n        checkedKeys: ['encodedTx', 'signatures'],\n      },\n    ];\n  },\n  async (tx, { node, parentTxTypes }) => {\n    let nestedTx;\n    if ('encodedTx' in tx) nestedTx = tx.encodedTx;\n    if ('tx' in tx) nestedTx = tx.tx;\n    if (nestedTx == null) return [];\n    return verifyTransactionInternal(nestedTx, node, [...parentTxTypes, tx.tag]);\n  },\n  (tx, { height }) => {\n    if (!('ttl' in tx)) return [];\n    if (tx.ttl === 0 || tx.ttl > height) return [];\n    return [\n      {\n        message: `TTL ${tx.ttl} is already expired, current height is ${height}`,\n        key: 'ExpiredTTL',\n        checkedKeys: ['ttl'],\n      },\n    ];\n  },\n  async (tx, { account, parentTxTypes, node }) => {\n    if (parentTxTypes.length !== 0) return [];\n    const cost = await getExecutionCostUsingNode(buildTx(tx), node).catch(() => 0n);\n    if (cost <= account.balance) return [];\n    return [\n      {\n        message: `Account balance ${account.balance} is not enough to execute the transaction that costs ${cost}`,\n        key: 'InsufficientBalance',\n        checkedKeys: ['amount', 'fee', 'nameFee', 'gasLimit', 'gasPrice'],\n      },\n    ];\n  },\n  async (tx, { node }) => {\n    if (tx.tag !== Tag.SpendTx || isEncoded(tx.recipientId, Encoding.Name)) return [];\n    const recipient = await node.getAccountByPubkey(tx.recipientId).catch((error) => {\n      if (!isAccountNotFoundError(error)) throw error;\n      return null;\n    });\n    if (recipient == null || recipient.payable === true) return [];\n    return [\n      {\n        message: 'Recipient account is not payable',\n        key: 'RecipientAccountNotPayable',\n        checkedKeys: ['recipientId'],\n      },\n    ];\n  },\n  (tx, { account }) => {\n    let message;\n    if (tx.tag === Tag.SignedTx && account.kind === 'generalized' && tx.signatures.length !== 0) {\n      message = \"Generalized account can't be used to generate SignedTx with signatures\";\n    }\n    if (tx.tag === Tag.GaMetaTx && account.kind === 'basic') {\n      message = \"Basic account can't be used to generate GaMetaTx\";\n    }\n    if (message == null) return [];\n    return [{ message, key: 'InvalidAccountType', checkedKeys: ['tag'] }];\n  },\n  // TODO: revert nonce check\n  // TODO: ensure nonce valid when paying for own tx\n  (tx, { consensusProtocolVersion }) => {\n    const oracleCall = Tag.OracleRegisterTx === tx.tag;\n    const contractCreate = Tag.ContractCreateTx === tx.tag || Tag.GaAttachTx === tx.tag;\n    const contractCall = Tag.ContractCallTx === tx.tag || Tag.GaMetaTx === tx.tag;\n    const type =\n      (oracleCall ? 'oracle-call' : null) ??\n      (contractCreate ? 'contract-create' : null) ??\n      (contractCall ? 'contract-call' : null);\n    if (type == null) return [];\n    const protocol = ProtocolToVmAbi[consensusProtocolVersion][type] as {\n      abiVersion: readonly any[];\n      vmVersion: readonly any[];\n    };\n\n    let ctVersion: Partial<CtVersion> | undefined;\n    if ('abiVersion' in tx) ctVersion = { abiVersion: tx.abiVersion };\n    if ('ctVersion' in tx) ctVersion = tx.ctVersion;\n    if (ctVersion == null) throw new UnexpectedTsError();\n    if (\n      !protocol.abiVersion.includes(ctVersion.abiVersion) ||\n      (contractCreate && !protocol.vmVersion.includes(ctVersion.vmVersion))\n    ) {\n      return [\n        {\n          message: `ABI/VM version ${JSON.stringify(ctVersion)} is wrong, supported is: ${JSON.stringify(protocol)}`,\n          key: 'VmAndAbiVersionMismatch',\n          checkedKeys: ['ctVersion', 'abiVersion'],\n        },\n      ];\n    }\n    return [];\n  },\n  async (tx, { node }) => {\n    if (Tag.ContractCallTx !== tx.tag) return [];\n    // TODO: remove after solving https://github.com/aeternity/aeternity/issues/3669\n    if (tx.contractId.startsWith('nm_')) return [];\n    try {\n      const { active } = await node.getContract(tx.contractId);\n      if (active) return [];\n      return [\n        {\n          message: `Contract ${tx.contractId} is not active`,\n          key: 'ContractNotActive',\n          checkedKeys: ['contractId'],\n        },\n      ];\n    } catch (error) {\n      if (!(error instanceof RestError) || error.response?.bodyAsText == null) throw error;\n      return [\n        {\n          message: JSON.parse(error.response.bodyAsText).reason, // TODO: use parsedBody instead\n          key: 'ContractNotFound',\n          checkedKeys: ['contractId'],\n        },\n      ];\n    }\n  },\n);\n","import verifyTransaction, { ValidatorResult } from './tx/validator.js';\nimport { ensureError } from './utils/other.js';\nimport { TransactionError } from './utils/errors.js';\nimport Node from './Node.js';\nimport { SignedTx } from './apis/node/index.js';\nimport { Encoded } from './utils/encoder.js';\nimport AccountBase from './account/Base.js';\nimport { buildTxHash } from './tx/builder/index.js';\nimport { poll, waitForTxConfirm } from './chain.js';\n\n/**\n * @category exception\n */\nexport class InvalidTxError extends TransactionError {\n  validation: ValidatorResult[];\n\n  transaction: Encoded.Transaction;\n\n  constructor(message: string, validation: ValidatorResult[], transaction: Encoded.Transaction) {\n    super(message);\n    this.name = 'InvalidTxError';\n    this.validation = validation;\n    this.transaction = transaction;\n  }\n}\n\n/**\n * Signs and submits transaction for mining\n * @category chain\n * @param txUnsigned - Transaction to sign and submit\n * @param options - Options\n * @returns Transaction details\n */\nexport async function sendTransaction(\n  txUnsigned: Encoded.Transaction,\n  {\n    onNode,\n    onAccount,\n    verify = true,\n    waitMined = true,\n    confirm,\n    innerTx,\n    ...options\n  }: SendTransactionOptions,\n): Promise<SendTransactionReturnType> {\n  const tx = await onAccount.signTransaction(txUnsigned, {\n    ...options,\n    onNode,\n    innerTx,\n    networkId: await onNode.getNetworkId(),\n  });\n\n  if (innerTx === true) return { hash: buildTxHash(tx), rawTx: tx };\n\n  if (verify) {\n    const validation = await verifyTransaction(tx, onNode);\n    if (validation.length > 0) {\n      const message = `Transaction verification errors: ${validation\n        .map((v: { message: string }) => v.message)\n        .join(', ')}`;\n      throw new InvalidTxError(message, validation, tx);\n    }\n  }\n\n  try {\n    let __queue;\n    try {\n      __queue = onAccount != null ? `tx-${onAccount.address}` : null;\n    } catch (error) {\n      __queue = null;\n    }\n    const { txHash } = await onNode.postTransaction(\n      { tx },\n      {\n        requestOptions: {\n          customHeaders: {\n            // TODO: remove __retry-code after fixing https://github.com/aeternity/aeternity/issues/3803\n            '__retry-code': '400',\n            ...(__queue != null ? { __queue } : {}),\n          },\n        },\n      },\n    );\n\n    if (waitMined) {\n      const pollResult = await poll(txHash, { onNode, ...options });\n      const txData = {\n        ...pollResult,\n        hash: pollResult.hash as Encoded.TxHash,\n        rawTx: tx,\n      };\n      // wait for transaction confirmation\n      if (confirm != null && +confirm > 0) {\n        const c = typeof confirm === 'boolean' ? undefined : confirm;\n        return {\n          ...txData,\n          confirmationHeight: await waitForTxConfirm(txHash, { onNode, confirm: c, ...options }),\n        };\n      }\n      return txData;\n    }\n    return { hash: txHash, rawTx: tx };\n  } catch (error) {\n    ensureError(error);\n    throw Object.assign(error, {\n      rawTx: tx,\n      verifyTx: async () => verifyTransaction(tx, onNode),\n    });\n  }\n}\n\ntype SendTransactionOptionsType = {\n  /**\n   * Node to use\n   */\n  onNode: Node;\n  /**\n   * Account to use\n   */\n  onAccount: AccountBase;\n  /**\n   * Verify transaction before broadcast, throw error if not\n   */\n  verify?: boolean;\n  /**\n   * Ensure that transaction get into block\n   */\n  waitMined?: boolean;\n  /**\n   * Number of micro blocks that should be mined after tx get included\n   */\n  confirm?: boolean | number;\n} & Parameters<typeof poll>[1] &\n  Omit<Parameters<typeof waitForTxConfirm>[1], 'confirm'> &\n  Parameters<AccountBase['signTransaction']>[1];\nexport interface SendTransactionOptions extends SendTransactionOptionsType {}\ninterface SendTransactionReturnType extends Partial<SignedTx> {\n  hash: Encoded.TxHash;\n  // TODO: use `SignedTx.encodedTx` instead\n  rawTx: Encoded.Transaction;\n  confirmationHeight?: number;\n}\n","import canonicalize from 'canonicalize';\nimport AccountBase from '../account/Base.js';\nimport { Encoded, Encoding, decode, encode } from './encoder.js';\nimport { verifySignature } from './crypto.js';\nimport { ArgumentError, InvalidSignatureError } from './errors.js';\n\n// TODO: use Buffer.from(data, 'base64url') after solving https://github.com/feross/buffer/issues/309\nconst toBase64Url = (data: Buffer | Uint8Array | string): string =>\n  Buffer.from(data).toString('base64').replaceAll('/', '_').replaceAll('+', '-').replace(/=+$/, '');\n\nconst fromBase64Url = (data: string): Buffer =>\n  Buffer.from(data.replaceAll('_', '/').replaceAll('-', '+'), 'base64');\n\nconst objectToBase64Url = (data: any): string => toBase64Url(canonicalize(data) ?? '');\n\nconst header = 'eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9'; // objectToBase64Url({ alg: 'EdDSA', typ: 'JWT' })\n\n/**\n * JWT including specific header\n * @category JWT\n */\nexport type Jwt = `${typeof header}.${string}.${string}`;\n\n/**\n * Generate a signed JWT\n * Provide `\"sub_jwk\": undefined` in payload to omit signer public key added by default.\n * @param originalPayload - Payload to sign\n * @param account - Account to sign by\n * @category JWT\n */\nexport async function signJwt(originalPayload: any, account: AccountBase): Promise<Jwt> {\n  const payload = { ...originalPayload };\n  if (!('sub_jwk' in payload)) {\n    payload.sub_jwk = {\n      kty: 'OKP',\n      crv: 'Ed25519',\n      x: toBase64Url(decode(account.address)),\n    };\n  }\n  if (payload.sub_jwk === undefined) delete payload.sub_jwk;\n  const body = `${header}.${objectToBase64Url(payload)}` as const;\n  const signature = await account.unsafeSign(body);\n  return `${body}.${toBase64Url(signature)}`;\n}\n\n/**\n * Unpack JWT. It will check signature if address or \"sub_jwk\" provided.\n * @param jwt - JWT to unpack\n * @param address - Address to check signature\n * @category JWT\n */\nexport function unpackJwt(\n  jwt: Jwt,\n  address?: Encoded.AccountAddress,\n): {\n  /**\n   * JWT payload as object\n   */\n  payload: any;\n  /**\n   * Undefined returned in case signature is not checked\n   */\n  signer: Encoded.AccountAddress | undefined;\n} {\n  const components = jwt.split('.');\n  if (components.length !== 3)\n    throw new ArgumentError('JWT components count', 3, components.length);\n  const [h, payloadEncoded, signature] = components;\n  if (h !== header) throw new ArgumentError('JWT header', header, h);\n  const payload = JSON.parse(fromBase64Url(payloadEncoded).toString());\n  const jwk = payload.sub_jwk ?? {};\n  const signer =\n    jwk.x == null || jwk.kty !== 'OKP' || jwk.crv !== 'Ed25519'\n      ? address\n      : encode(fromBase64Url(jwk.x), Encoding.AccountAddress);\n  if (address != null && signer !== address) {\n    throw new ArgumentError('address', `${signer} (\"sub_jwk\")`, address);\n  }\n  if (\n    signer != null &&\n    !verifySignature(Buffer.from(`${h}.${payloadEncoded}`), fromBase64Url(signature), signer)\n  ) {\n    throw new InvalidSignatureError(`JWT is not signed by ${signer}`);\n  }\n  return { payload, signer };\n}\n\n/**\n * Check is string a JWT or not. Use to validate the user input.\n * @param maybeJwt - A string to check\n * @returns True if argument is a JWT\n * @category JWT\n */\nexport function isJwt(maybeJwt: string): maybeJwt is Jwt {\n  try {\n    unpackJwt(maybeJwt as Jwt);\n    return true;\n  } catch (error) {\n    return false;\n  }\n}\n\n/**\n * Throws an error if argument is not JWT. Use to ensure that a value is JWT.\n * @param maybeJwt - A string to check\n * @category JWT\n */\nexport function ensureJwt(maybeJwt: string): asserts maybeJwt is Jwt {\n  unpackJwt(maybeJwt as Jwt);\n}\n\n/**\n * Check is JWT signed by address from arguments or \"sub_jwk\"\n * @param jwt - JWT to check\n * @param address - Address to check signature\n * @category JWT\n */\nexport function verifyJwt(jwt: Jwt, address?: Encoded.AccountAddress): boolean {\n  try {\n    const { signer } = unpackJwt(jwt, address);\n    return signer != null;\n  } catch (error) {\n    return false;\n  }\n}\n","import SchemaTypes from '../SchemaTypes.js';\nimport address from '../field-types/address.js';\nimport nameId from '../field-types/name-id.js';\nimport shortUIntConst from '../field-types/short-u-int-const.js';\nimport { Encoded, Encoding, decode, encode } from '../../../utils/encoder.js';\n\n/**\n * @category delegation signature\n */\nexport enum DelegationTag {\n  /**\n   * Delegation of all AENS names to a contract\n   */\n  AensWildcard = 1,\n  /**\n   * Delegation of an AENS name to a contract\n   */\n  AensName = 2,\n  /**\n   * Delegation of AENS preclaim to a contract\n   */\n  AensPreclaim = 3,\n  /**\n   * Delegation of oracle operations to a contract\n   */\n  Oracle = 4,\n  /**\n   * Delegation of oracle query to a contract\n   */\n  OracleResponse = 5,\n}\n\nconst oracleAddressField = address(Encoding.OracleAddress);\n/**\n * Oracle query ID to reply by a contract\n */\nconst queryIdField = {\n  serialize(value: Encoded.OracleQueryId): Buffer {\n    return oracleAddressField.serialize(encode(decode(value), Encoding.OracleAddress));\n  },\n  deserialize(value: Buffer): Encoded.OracleQueryId {\n    return encode(decode(oracleAddressField.deserialize(value)), Encoding.OracleQueryId);\n  },\n} as const;\n\n/**\n * Address of a contract to delegate permissions to\n */\nconst contractAddress = address(Encoding.ContractAddress);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/8a9d1d1206174627f6aaef86159dc9c643080653/contracts/fate.md#from-ceres-serialized-signature-data}\n */\nexport const schemas = [\n  {\n    tag: shortUIntConst(DelegationTag.AensWildcard),\n    version: shortUIntConst(1, true),\n    accountAddress: address(Encoding.AccountAddress),\n    contractAddress,\n  },\n  {\n    tag: shortUIntConst(DelegationTag.AensName),\n    version: shortUIntConst(1, true),\n    accountAddress: address(Encoding.AccountAddress),\n    /**\n     * AENS name to manage by a contract\n     */\n    nameId,\n    contractAddress,\n  },\n  {\n    tag: shortUIntConst(DelegationTag.AensPreclaim),\n    version: shortUIntConst(1, true),\n    accountAddress: address(Encoding.AccountAddress),\n    contractAddress,\n  },\n  {\n    tag: shortUIntConst(DelegationTag.Oracle),\n    version: shortUIntConst(1, true),\n    accountAddress: address(Encoding.AccountAddress),\n    contractAddress,\n  },\n  {\n    tag: shortUIntConst(DelegationTag.OracleResponse),\n    version: shortUIntConst(1, true),\n    queryId: queryIdField,\n    contractAddress,\n  },\n] as const;\n\ntype Schemas = SchemaTypes<typeof schemas>;\nexport type DlgParams = Schemas['TxParams'];\nexport type DlgUnpacked = Schemas['TxUnpacked'];\n","import { Encoded, Encoding } from '../../../utils/encoder.js';\nimport { packRecord, unpackRecord } from '../common.js';\nimport { DelegationTag, schemas } from './schema.js';\nimport { DlgParams, DlgUnpacked } from './schema.generated.js';\n\n/**\n * Pack delegation\n * @category delegation signature\n * @param params - Params of delegation\n * @returns Encoded delegation\n */\nexport function packDelegation(params: DlgParams): Encoded.Bytearray {\n  return packRecord(schemas, DelegationTag, params, {}, Encoding.Bytearray);\n}\n\n/**\n * Unpack delegation\n * @category delegation signature\n * @param encoded - Encoded delegation\n * @param expectedTag - Expected delegation signature type\n * @returns Params of delegation\n */\nexport function unpackDelegation<T extends DelegationTag>(\n  encoded: Encoded.Bytearray,\n  expectedTag?: T,\n): DlgUnpacked & { tag: T } {\n  return unpackRecord(schemas, DelegationTag, encoded, expectedTag, {}) as any;\n}\n","/**\n * Aens methods - routines to interact with the æternity naming system\n *\n * The high-level description of the naming system is\n * https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol\n * repository.\n */\n\nimport BigNumber from 'bignumber.js';\nimport { genSalt, isEncoded } from './utils/crypto.js';\nimport { commitmentHash, isAuctionName, produceNameId } from './tx/builder/helpers.js';\nimport { Tag, AensName } from './tx/builder/constants.js';\nimport { Encoded, Encoding } from './utils/encoder.js';\nimport { LogicError } from './utils/errors.js';\nimport { sendTransaction, SendTransactionOptions } from './send-transaction.js';\nimport { Optional } from './utils/other.js';\nimport { buildTxAsync, BuildTxOptions } from './tx/builder/index.js';\nimport Node from './Node.js';\nimport AccountBase from './account/Base.js';\nimport { AddressEncodings } from './tx/builder/field-types/address.js';\n\ninterface NameRevokeOptions\n  extends BuildTxOptions<Tag.NameRevokeTx, 'nameId' | 'accountId'>,\n    Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\ninterface KeyPointers {\n  [key: string]: Encoded.Generic<AddressEncodings | Encoding.Bytearray>;\n}\n\ninterface NameUpdateOptions\n  extends BuildTxOptions<Tag.NameUpdateTx, 'nameId' | 'accountId' | 'pointers'>,\n    Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {\n  /**\n   * Get the pointers from the node and merge with provided ones. Pointers with the same key will be\n   * overwritten.\n   */\n  extendPointers?: boolean;\n}\n\ninterface NameTransferOptions\n  extends BuildTxOptions<Tag.NameTransferTx, 'nameId' | 'accountId' | 'recipientId'>,\n    Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\ninterface NamePreclaimOptions\n  extends BuildTxOptions<Tag.NamePreclaimTx, 'accountId' | 'commitmentId'>,\n    Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\ninterface NameClaimOptions\n  extends BuildTxOptions<Tag.NameClaimTx, 'accountId' | 'name'>,\n    Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\nclass NotAuctionNameError extends LogicError {\n  constructor(name: AensName, action: string) {\n    super(`Can't ${action} because ${name} is not an auction name`);\n    this.name = 'NotAuctionNameError';\n  }\n}\n\n/**\n * @category AENS\n * @example\n * ```js\n * const name = new Name('test.chain', aeSdk.getContext())\n * ```\n */\nexport default class Name {\n  #salt?: number;\n\n  /**\n   * @param value - AENS name\n   * @param options - Options\n   * @param options.onNode - Node to use\n   * @param options.onAccount - Account to use\n   */\n  constructor(\n    public readonly value: AensName,\n    public options: { onNode: Node; onAccount: AccountBase } & Omit<\n      NameRevokeOptions &\n        NameUpdateOptions &\n        NameTransferOptions &\n        NamePreclaimOptions &\n        NameClaimOptions,\n      'version'\n    >,\n  ) {\n    this.options = options;\n  }\n\n  /**\n   * Name ID encoded as nm_-prefixed string\n   */\n  get id(): Encoded.Name {\n    return produceNameId(this.value);\n  }\n\n  /**\n   * Revoke a name\n   * @param options - Options\n   * @returns mined transaction details\n   * @example\n   * ```js\n   * await name.revoke({ fee, ttl, nonce })\n   * ```\n   */\n  async revoke(options: NameRevokeOptions = {}): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.NameRevokeTx,\n      nameId: this.value,\n      accountId: opt.onAccount.address,\n    });\n    return sendTransaction(tx, opt);\n  }\n\n  /**\n   * Update a name\n   * @param pointers - Map of pointer keys to corresponding addresses\n   * @param options - Options\n   * @example\n   * ```js\n   * const name = 'test.chain'\n   * const channel = 'ch_2519mBs...'\n   * const pointers = {\n   *   account_pubkey: 'ak_asd23dasdas...,',\n   *   contract_pubkey: 'ct_asdf34fasdasd...',\n   *   [getDefaultPointerKey(channel)]: channel,\n   * }\n   * await name.update(pointers, { nameTtl, ttl, fee, nonce, clientTtl })\n   * ```\n   */\n  async update(\n    pointers: KeyPointers,\n    options: NameUpdateOptions = {},\n  ): ReturnType<typeof sendTransaction> {\n    const { extendPointers, ...opt } = { ...this.options, ...options };\n    const allPointers = {\n      ...(extendPointers === true &&\n        Object.fromEntries(\n          (await opt.onNode.getNameEntryByName(this.value)).pointers.map(({ key, id }) => [\n            key,\n            id,\n          ]),\n        )),\n      ...pointers,\n    };\n\n    const hasRawPointers = Object.values(allPointers).some((v) => isEncoded(v, Encoding.Bytearray));\n\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.NameUpdateTx,\n      version: hasRawPointers ? 2 : 1,\n      nameId: this.value,\n      accountId: opt.onAccount.address,\n      pointers: Object.entries(allPointers).map(\n        ([key, id]: [string, Encoded.Generic<AddressEncodings>]) => ({ key, id }),\n      ),\n    });\n    return sendTransaction(tx, opt);\n  }\n\n  /**\n   * Transfer a name to another account\n   * @param address - Recipient account public key\n   * @param options - Options\n   * @returns mined transaction details\n   * @example\n   * ```js\n   * await name.transfer('ak_asd23dasdas...', { ttl, fee, nonce })\n   * ```\n   */\n  async transfer(\n    address: Encoded.AccountAddress,\n    options: NameTransferOptions = {},\n  ): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.NameTransferTx,\n      nameId: this.value,\n      accountId: opt.onAccount.address,\n      recipientId: address,\n    });\n    return sendTransaction(tx, opt);\n  }\n\n  /**\n   * Query the AENS name info from the node and return the object with info\n   * @param options - Options\n   * @example\n   * ```js\n   * const nameEntry = await name.getState()\n   * console.log(nameEntry.owner)\n   * ```\n   */\n  async getState(options: { onNode?: Node } = {}): Promise<\n    Awaited<ReturnType<Node['getNameEntryByName']>> & {\n      id: Encoded.Name;\n      owner: Encoded.AccountAddress;\n    }\n  > {\n    const onNode = options.onNode ?? this.options.onNode;\n    const nameEntry = await onNode.getNameEntryByName(this.value);\n    return {\n      ...nameEntry,\n      id: nameEntry.id as Encoded.Name,\n      owner: nameEntry.owner as Encoded.AccountAddress,\n    };\n  }\n\n  /**\n   * Query the AENS auction info from the node and return the object with info\n   * @param options - Options\n   * @example\n   * ```js\n   * const auctionEntry = await name.getAuctionState()\n   * console.log(auctionEntry.highestBidder)\n   * ```\n   */\n  async getAuctionState(options: { onNode?: Node } = {}): Promise<\n    Awaited<ReturnType<Node['getAuctionEntryByName']>> & {\n      id: Encoded.Name;\n      highestBidder: Encoded.AccountAddress;\n    }\n  > {\n    if (!isAuctionName(this.value)) throw new NotAuctionNameError(this.value, 'get auction state');\n    const onNode = options.onNode ?? this.options.onNode;\n    const nameEntry = await onNode.getAuctionEntryByName(this.value);\n    return {\n      ...nameEntry,\n      id: nameEntry.id as Encoded.Name,\n      highestBidder: nameEntry.highestBidder as Encoded.AccountAddress,\n    };\n  }\n\n  /**\n   *\n   * @param nameTtl - represents in number of blocks (max and default is 180000)\n   * @param options - Options\n   * @returns mined transaction details\n   */\n  async extendTtl(\n    nameTtl?: number,\n    options: Omit<Parameters<Name['update']>[1], 'extendPointers' | 'nameTtl'> = {},\n  ): ReturnType<Name['update']> {\n    return this.update({}, { ...options, nameTtl, extendPointers: true });\n  }\n\n  /**\n   * Claim a previously preclaimed registration. This can only be done after the preclaim step\n   * @param options - options\n   * @returns mined transaction details\n   * @example\n   * ```js\n   * await name.claim({ ttl, fee, nonce, nameFee })\n   * ```\n   */\n  async claim(options: NameClaimOptions = {}): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      nameSalt: this.#salt,\n      ...opt,\n      tag: Tag.NameClaimTx,\n      accountId: opt.onAccount.address,\n      name: this.value,\n    });\n    return sendTransaction(tx, opt);\n  }\n\n  /**\n   * Preclaim a name. Sends a hash of the name and a random salt to the node\n   * @param options - Options\n   * @example\n   * ```js\n   * await name.preclaim({ ttl, fee, nonce })\n   * ```\n   */\n  async preclaim(\n    options: NamePreclaimOptions = {},\n  ): Promise<Awaited<ReturnType<typeof sendTransaction>> & { nameSalt: number }> {\n    const opt = { ...this.options, ...options };\n    const nameSalt = genSalt();\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.NamePreclaimTx,\n      accountId: opt.onAccount.address,\n      commitmentId: commitmentHash(this.value, nameSalt),\n    });\n    const result = await sendTransaction(tx, opt);\n    this.#salt = nameSalt;\n    return { ...result, nameSalt };\n  }\n\n  /**\n   * Bid to name auction\n   * @param nameFee - Name fee (bid fee)\n   * @param options - Options\n   * @returns mined transaction details\n   * @example\n   * ```js\n   * const bidFee = computeBidFee(name.value, { startFee, increment: 0.42 })\n   * await name.bid(213109412839123, { ttl, fee, nonce })\n   * ```\n   */\n  async bid(\n    nameFee: number | string | BigNumber,\n    options: Omit<NameClaimOptions, 'nameFee'> = {},\n  ): ReturnType<typeof sendTransaction> {\n    if (!isAuctionName(this.value)) throw new NotAuctionNameError(this.value, 'make a bid');\n    const opt = { ...this.options, ...options };\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.NameClaimTx,\n      accountId: opt.onAccount.address,\n      nameSalt: 0,\n      name: this.value,\n      nameFee,\n    });\n    return sendTransaction(tx, opt);\n  }\n}\n","/**\n * Contract module - routines to interact with the æternity contract\n *\n * High level documentation of the contracts are available at\n * https://github.com/aeternity/protocol/tree/master/contracts and\n */\n\nimport { Encoder as Calldata } from '@aeternity/aepp-calldata';\nimport { Tag, AensName, DRY_RUN_ACCOUNT } from '../tx/builder/constants.js';\nimport {\n  buildContractIdByContractTx,\n  unpackTx,\n  buildTxAsync,\n  BuildTxOptions,\n  buildTxHash,\n} from '../tx/builder/index.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport {\n  MissingContractDefError,\n  MissingContractAddressError,\n  InactiveContractError,\n  BytecodeMismatchError,\n  DuplicateContractError,\n  MissingFunctionNameError,\n  InvalidMethodInvocationError,\n  NotPayableFunctionError,\n  TypeError,\n  NodeInvocationError,\n  IllegalArgumentError,\n  NoSuchContractFunctionError,\n  MissingEventDefinitionError,\n  AmbiguousEventDefinitionError,\n  UnexpectedTsError,\n  InternalError,\n  NoWalletConnectedError,\n  ContractError,\n} from '../utils/errors.js';\nimport { hash as calcHash } from '../utils/crypto.js';\nimport {\n  ContractCallObject as NodeContractCallObject,\n  Event as NodeEvent,\n} from '../apis/node/index.js';\nimport CompilerBase, { Aci } from './compiler/Base.js';\nimport Node from '../Node.js';\nimport { getAccount, resolveName, txDryRun } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport { TxUnpacked } from '../tx/builder/schema.generated.js';\nimport { Optional, isAccountNotFoundError } from '../utils/other.js';\nimport { isName, produceNameId } from '../tx/builder/helpers.js';\n\ntype ContractAci = NonNullable<Aci[0]['contract']>;\ntype FunctionAci = ContractAci['functions'][0];\n\ninterface Event extends NodeEvent {\n  address: Encoded.ContractAddress;\n  data: Encoded.ContractBytearray;\n}\n\nexport interface ContractCallObject extends NodeContractCallObject {\n  returnValue: Encoded.ContractBytearray;\n  log: Event[];\n}\n\ninterface DecodedEvent {\n  name: string;\n  args: unknown[];\n  contract: {\n    name: string;\n    address: Encoded.ContractAddress;\n  };\n}\n\ntype TxData = Awaited<ReturnType<typeof sendTransaction>>;\n\ninterface SendAndProcessReturnType {\n  result?: ContractCallObject;\n  hash: TxData['hash'];\n  tx: TxUnpacked & { tag: Tag.SignedTx | Tag.ContractCallTx | Tag.ContractCreateTx };\n  txData: TxData;\n  rawTx: Encoded.Transaction;\n}\n\n/**\n * @category contract\n */\nexport interface ContractMethodsBase {\n  [key: string]: (...args: any[]) => any;\n}\n\ntype MethodsToContractApi<M extends ContractMethodsBase> = {\n  [Name in keyof M]: M[Name] extends (...args: infer Args) => infer Ret\n    ? (\n        ...args: [\n          ...Args,\n          ...(\n            | []\n            | [\n                Name extends 'init'\n                  ? Parameters<Contract<M>['$deploy']>[1]\n                  : Parameters<Contract<M>['$call']>[2],\n              ]\n          ),\n        ]\n      ) => Promise<\n        Omit<Awaited<ReturnType<Contract<M>['$call']>>, 'decodedResult'> & {\n          // TODO: accurate would be to add `| undefined` because of `waitMined`, but better to drop `waitMined`\n          decodedResult: Ret;\n        }\n      >\n    : never;\n};\n\n/**\n * @category contract\n */\ntype ContractWithMethods<M extends ContractMethodsBase> = Contract<M> & MethodsToContractApi<M>;\n\ntype MethodNames<M extends ContractMethodsBase> = (keyof M & string) | 'init';\n\ntype MethodParameters<M extends ContractMethodsBase, Fn extends MethodNames<M>> = Fn extends 'init'\n  ? M extends { init: any }\n    ? Parameters<M['init']>\n    : []\n  : Parameters<M[Fn]>;\n\ninterface GetContractNameByEventOptions {\n  contractAddressToName?: { [key: Encoded.ContractAddress]: string };\n}\n\ninterface GetCallResultByHashReturnType<M extends ContractMethodsBase, Fn extends MethodNames<M>> {\n  decodedResult: ReturnType<M[Fn]>;\n  decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;\n}\n\n/**\n * Generate contract ACI object with predefined js methods for contract usage - can be used for\n * creating a reference to already deployed contracts\n * @category contract\n * @param options - Options object\n * @returns JS Contract API\n * @example\n * ```js\n * const contractIns = await Contract.initialize({ ...aeSdk.getContext(), sourceCode })\n * await contractIns.$deploy([321]) or await contractIns.init(321)\n * const callResult = await contractIns.$call('setState', [123])\n * const staticCallResult = await contractIns.$call('setState', [123], { callStatic: true })\n * ```\n * Also you can call contract like: `await contractIns.setState(123, options)`\n * Then sdk decide to make on-chain or static call (dry-run API) transaction based on function is\n * stateful or not\n */\nclass Contract<M extends ContractMethodsBase> {\n  /**\n   * Compile contract\n   * @returns bytecode\n   */\n  async $compile(): Promise<Encoded.ContractBytearray> {\n    if (this.$options.bytecode != null) return this.$options.bytecode;\n    if (this.$options.onCompiler == null)\n      throw new IllegalArgumentError(\"Can't compile without compiler\");\n    if (this.$options.sourceCode != null) {\n      const { bytecode } = await this.$options.onCompiler.compileBySourceCode(\n        this.$options.sourceCode,\n        this.$options.fileSystem,\n      );\n      this.$options.bytecode = bytecode;\n    }\n    if (this.$options.sourceCodePath != null) {\n      const { bytecode } = await this.$options.onCompiler.compile(this.$options.sourceCodePath);\n      this.$options.bytecode = bytecode;\n    }\n    if (this.$options.bytecode == null) {\n      throw new IllegalArgumentError(\"Can't compile without sourceCode and sourceCodePath\");\n    }\n    return this.$options.bytecode;\n  }\n\n  #getCallResult<Fn extends MethodNames<M>>(\n    { returnType, returnValue, log }: ContractCallObject,\n    fnName: Fn,\n    transaction: Encoded.Transaction | undefined,\n    options: Parameters<Contract<M>['$decodeEvents']>[1],\n  ): GetCallResultByHashReturnType<M, Fn> {\n    let message: string;\n    switch (returnType) {\n      case 'ok': {\n        const fnAci = this.#getFunctionAci(fnName);\n        return {\n          decodedResult: this._calldata.decode(this._name, fnAci.name, returnValue),\n          decodedEvents: this.$decodeEvents(log, options),\n        };\n      }\n      case 'revert':\n        message = this._calldata.decodeFateString(returnValue);\n        break;\n      case 'error':\n        message = decode(returnValue).toString();\n        if (/Expected \\d+ arguments, got \\d+/.test(message)) {\n          throw new BytecodeMismatchError('ACI', `. Error provided by node: \"${message}\".`);\n        }\n        if (/Trying to call undefined function: <<\\d+,\\d+,\\d+,\\d+>>/.test(message)) {\n          throw new BytecodeMismatchError(\n            'ACI',\n            `. Error provided by node: \"${message}\", function name: ${fnName}.`,\n          );\n        }\n        break;\n      default:\n        throw new InternalError(`Unknown return type: ${returnType}`);\n    }\n    throw new NodeInvocationError(message, transaction);\n  }\n\n  async #sendAndProcess<Fn extends MethodNames<M>>(\n    tx: Encoded.Transaction,\n    fnName: Fn,\n    options: SendTransactionOptions & Parameters<Contract<M>['$getCallResultByTxHash']>[2],\n  ): Promise<SendAndProcessReturnType & Partial<GetCallResultByHashReturnType<M, Fn>>> {\n    const txData = await sendTransaction(tx, { ...this.$options, ...options });\n    return {\n      hash: txData.hash,\n      tx: unpackTx<Tag.ContractCallTx | Tag.ContractCreateTx>(txData.rawTx),\n      txData,\n      rawTx: txData.rawTx,\n      // TODO: disallow `waitMined: false` to make `decodedResult` required\n      ...(txData.blockHeight != null &&\n        (await this.$getCallResultByTxHash(txData.hash, fnName, options))),\n    };\n  }\n\n  async $getCallResultByTxHash<Fn extends MethodNames<M>>(\n    hash: Encoded.TxHash,\n    fnName: Fn,\n    options?: Parameters<Contract<M>['$decodeEvents']>[1],\n  ): Promise<GetCallResultByHashReturnType<M, Fn> & { result: ContractCallObject }> {\n    const { callInfo } = await this.$options.onNode.getTransactionInfoByHash(hash);\n    if (callInfo == null) {\n      throw new ContractError(`callInfo is not available for transaction ${hash}`);\n    }\n    const callInfoTyped = callInfo as ContractCallObject;\n    return {\n      ...this.#getCallResult(callInfoTyped, fnName, undefined, options),\n      result: callInfoTyped,\n    };\n  }\n\n  async _estimateGas<Fn extends MethodNames<M>>(\n    name: Fn,\n    params: MethodParameters<M, Fn>,\n    options: Omit<Parameters<Contract<M>['$call']>[2], 'callStatic'> = {},\n  ): Promise<number> {\n    const { result } = await this.$call(name, params, { ...options, callStatic: true });\n    if (result == null) throw new UnexpectedTsError();\n    const { gasUsed } = result;\n    // taken from https://github.com/aeternity/aepp-sdk-js/issues/1286#issuecomment-977814771\n    return Math.floor(gasUsed * 1.25);\n  }\n\n  /**\n   * Deploy contract\n   * @param params - Contract init function arguments array\n   * @param options - Options\n   * @returns deploy info\n   */\n  async $deploy(\n    params: MethodParameters<M, 'init'>,\n    options?: Parameters<Contract<M>['$call']>[2] &\n      Partial<BuildTxOptions<Tag.ContractCreateTx, 'ownerId' | 'code' | 'callData'>>,\n  ): Promise<\n    Omit<SendAndProcessReturnType, 'hash'> & {\n      transaction?: Encoded.TxHash;\n      owner?: Encoded.AccountAddress;\n      address?: Encoded.ContractAddress;\n      decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;\n    }\n  > {\n    const { callStatic, ...opt } = { ...this.$options, ...options };\n    if (this.$options.bytecode == null) await this.$compile();\n    if (callStatic === true) return this.$call('init', params, { ...opt, callStatic });\n    if (this.$options.address != null) throw new DuplicateContractError();\n\n    if (opt.onAccount == null) throw new IllegalArgumentError(\"Can't deploy without account\");\n    const ownerId = opt.onAccount.address;\n    if (this.$options.bytecode == null)\n      throw new IllegalArgumentError(\"Can't deploy without bytecode\");\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.ContractCreateTx,\n      gasLimit: opt.gasLimit ?? (await this._estimateGas('init', params, opt)),\n      callData: this._calldata.encode(this._name, 'init', params),\n      code: this.$options.bytecode,\n      ownerId,\n    });\n    const { hash, ...other } = await this.#sendAndProcess(tx, 'init', {\n      ...opt,\n      onAccount: opt.onAccount,\n    });\n    this.$options.address = buildContractIdByContractTx(other.rawTx);\n    return {\n      ...other,\n      ...(other.result?.log != null && {\n        decodedEvents: this.$decodeEvents(other.result.log, opt),\n      }),\n      owner: ownerId,\n      transaction: hash,\n      address: this.$options.address,\n    };\n  }\n\n  /**\n   * Get function schema from contract ACI object\n   * @param name - Function name\n   * @returns function ACI\n   */\n  #getFunctionAci(name: string): FunctionAci {\n    const fn = this.#aciContract.functions.find((f: { name: string }) => f.name === name);\n    if (fn != null) {\n      return fn;\n    }\n    if (name === 'init') {\n      return {\n        arguments: [],\n        name: 'init',\n        payable: false,\n        returns: 'unit',\n        stateful: true,\n      };\n    }\n    throw new NoSuchContractFunctionError(name);\n  }\n\n  /**\n   * Call contract function\n   * @param fn - Function name\n   * @param params - Array of function arguments\n   * @param options - Array of function arguments\n   * @returns CallResult\n   */\n  async $call<Fn extends MethodNames<M>>(\n    fn: Fn,\n    params: MethodParameters<M, Fn>,\n    options: Partial<BuildTxOptions<Tag.ContractCallTx, 'callerId' | 'contractId' | 'callData'>> &\n      Parameters<Contract<M>['$decodeEvents']>[1] &\n      Optional<SendTransactionOptions, 'onAccount' | 'onNode'> &\n      Omit<Parameters<typeof txDryRun>[2], 'onNode'> & { callStatic?: boolean } = {},\n  ): Promise<SendAndProcessReturnType & Partial<GetCallResultByHashReturnType<M, Fn>>> {\n    const { callStatic, top, ...opt } = { ...this.$options, ...options };\n    const fnAci = this.#getFunctionAci(fn);\n    const { address, name } = this.$options;\n    // TODO: call `produceNameId` on buildTx side\n    const contractId = name != null ? produceNameId(name) : address;\n    const { onNode } = opt;\n\n    if (fn == null) throw new MissingFunctionNameError();\n    if (fn === 'init' && callStatic !== true)\n      throw new InvalidMethodInvocationError('\"init\" can be called only via dryRun');\n    if (fn !== 'init' && opt.amount != null && Number(opt.amount) > 0 && !fnAci.payable) {\n      throw new NotPayableFunctionError(opt.amount, fn);\n    }\n\n    let callerId;\n    try {\n      if (opt.onAccount == null) throw new InternalError('Use fallback account');\n      callerId = opt.onAccount.address;\n    } catch (error) {\n      const useFallbackAccount =\n        callStatic === true &&\n        ((error instanceof TypeError &&\n          error.message ===\n            'Account should be an address (ak-prefixed string), or instance of AccountBase, got undefined instead') ||\n          error instanceof NoWalletConnectedError ||\n          (error instanceof InternalError && error.message === 'Use fallback account'));\n      if (!useFallbackAccount) throw error;\n      callerId = DRY_RUN_ACCOUNT.pub;\n    }\n    const callData = this._calldata.encode(this._name, fn, params);\n\n    if (callStatic === true) {\n      if (opt.nonce == null) {\n        const topOption = top != null && { [typeof top === 'number' ? 'height' : 'hash']: top };\n        const account = await getAccount(callerId, { ...topOption, onNode }).catch((error) => {\n          if (!isAccountNotFoundError(error)) throw error;\n          return { kind: 'basic', nonce: 0 };\n        });\n        opt.nonce = account.kind === 'generalized' ? 0 : account.nonce + 1;\n      }\n\n      const txOpt = { ...opt, onNode, callData };\n      let tx;\n      if (fn === 'init') {\n        if (this.$options.bytecode == null)\n          throw new IllegalArgumentError('Can\\'t dry-run \"init\" without bytecode');\n        tx = await buildTxAsync({\n          ...txOpt,\n          tag: Tag.ContractCreateTx,\n          code: this.$options.bytecode,\n          ownerId: callerId,\n        });\n      } else {\n        if (contractId == null)\n          throw new MissingContractAddressError(\"Can't dry-run contract without address\");\n        tx = await buildTxAsync({\n          ...txOpt,\n          tag: Tag.ContractCallTx,\n          callerId,\n          contractId,\n        });\n      }\n\n      const { callObj, ...dryRunOther } = await txDryRun(tx, callerId, { ...opt, top });\n      if (callObj == null) {\n        throw new InternalError(`callObj is not available for transaction ${tx}`);\n      }\n      const callInfoTyped = callObj as ContractCallObject;\n      return {\n        ...dryRunOther,\n        ...this.#getCallResult(callInfoTyped, fn, tx, opt),\n        tx: unpackTx(tx),\n        result: callInfoTyped,\n        rawTx: tx,\n        hash: buildTxHash(tx),\n        txData: undefined as any,\n      };\n    }\n\n    if (top != null)\n      throw new IllegalArgumentError(\"Can't handle `top` option in on-chain contract call\");\n    if (contractId == null)\n      throw new MissingContractAddressError(\"Can't call contract without address\");\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.ContractCallTx,\n      gasLimit: opt.gasLimit ?? (await this._estimateGas(fn, params, opt)),\n      callerId,\n      contractId,\n      callData,\n    });\n    if (opt.onAccount == null)\n      throw new IllegalArgumentError(\"Can't call contract on chain without account\");\n    return this.#sendAndProcess(tx, fn, { ...opt, onAccount: opt.onAccount });\n  }\n\n  /**\n   * @param ctAddress - Contract address that emitted event\n   * @param nameHash - Hash of emitted event name\n   * @param options - Options\n   * @returns Contract name\n   * @throws {@link MissingEventDefinitionError}\n   * @throws {@link AmbiguousEventDefinitionError}\n   */\n  #getContractNameByEvent(\n    ctAddress: Encoded.ContractAddress,\n    nameHash: BigInt,\n    { contractAddressToName }: GetContractNameByEventOptions,\n  ): string {\n    const addressToName = { ...this.$options.contractAddressToName, ...contractAddressToName };\n    if (addressToName[ctAddress] != null) return addressToName[ctAddress];\n\n    // TODO: consider using a third-party library\n    const isEqual = (a: any, b: any): boolean => JSON.stringify(a) === JSON.stringify(b);\n\n    const contracts = this._aci\n      .map(({ contract }) => contract)\n      .filter((contract) => contract?.event) as ContractAci[];\n    const matchedEvents = contracts\n      .map((contract) => [contract.name, contract.event.variant])\n      .map(([name, events]) =>\n        events.map((event: {}) => [name, Object.keys(event)[0], Object.values(event)[0]]),\n      )\n      .flat()\n      .filter(([, eventName]) => BigInt(`0x${calcHash(eventName).toString('hex')}`) === nameHash)\n      .filter(([, , type], idx, arr) => !arr.slice(0, idx).some((el) => isEqual(el[2], type)));\n    switch (matchedEvents.length) {\n      case 0:\n        throw new MissingEventDefinitionError(nameHash.toString(), ctAddress);\n      case 1:\n        return matchedEvents[0][0];\n      default:\n        throw new AmbiguousEventDefinitionError(ctAddress, matchedEvents);\n    }\n  }\n\n  /**\n   * Decode Events\n   * @param events - Array of encoded events (callRes.result.log)\n   * @param options - Options\n   * @returns DecodedEvents\n   */\n  $decodeEvents(\n    events: Event[],\n    { omitUnknown, ...opt }: { omitUnknown?: boolean } & GetContractNameByEventOptions = {},\n  ): DecodedEvent[] {\n    return events\n      .map((event) => {\n        let contractName;\n        try {\n          contractName = this.#getContractNameByEvent(event.address, event.topics[0], opt);\n        } catch (error) {\n          if ((omitUnknown ?? false) && error instanceof MissingEventDefinitionError) return null;\n          throw error;\n        }\n        const decoded = this._calldata.decodeEvent(contractName, event.data, event.topics);\n        const [name, args] = Object.entries(decoded)[0];\n        return {\n          name,\n          args,\n          contract: {\n            name: contractName,\n            address: event.address,\n          },\n        };\n      })\n      .filter((e: DecodedEvent | null): e is DecodedEvent => e != null);\n  }\n\n  static async initialize<M extends ContractMethodsBase>({\n    onCompiler,\n    onNode,\n    bytecode,\n    aci,\n    address,\n    sourceCodePath,\n    sourceCode,\n    fileSystem,\n    validateBytecode,\n    ...otherOptions\n  }: Omit<ConstructorParameters<typeof Contract>[0], 'aci' | 'address'> & {\n    validateBytecode?: boolean;\n    aci?: Aci;\n    address?: Encoded.ContractAddress | AensName;\n  }): Promise<ContractWithMethods<M>> {\n    if (aci == null && onCompiler != null) {\n      let res;\n      if (sourceCodePath != null) res = await onCompiler.compile(sourceCodePath);\n      if (sourceCode != null) res = await onCompiler.compileBySourceCode(sourceCode, fileSystem);\n      if (res != null) {\n        aci = res.aci;\n        bytecode ??= res.bytecode;\n      }\n    }\n    if (aci == null) throw new MissingContractDefError();\n\n    let name;\n    if (address != null) {\n      address = (await resolveName(address, 'contract_pubkey', {\n        resolveByNode: true,\n        onNode,\n      })) as Encoded.ContractAddress;\n      if (isName(address)) name = address;\n    }\n\n    if (address == null && sourceCode == null && sourceCodePath == null && bytecode == null) {\n      throw new MissingContractAddressError(\"Can't create instance by ACI without address\");\n    }\n\n    if (address != null) {\n      const contract = await onNode.getContract(address);\n      if (contract.active == null) throw new InactiveContractError(address);\n    }\n\n    if (validateBytecode === true) {\n      if (address == null)\n        throw new MissingContractAddressError(\"Can't validate bytecode without contract address\");\n      const onChanBytecode = (await onNode.getContractCode(address)).bytecode;\n      let isValid = false;\n      if (bytecode != null) isValid = bytecode === onChanBytecode;\n      else if (sourceCode != null) {\n        if (onCompiler == null)\n          throw new IllegalArgumentError(\"Can't validate bytecode without compiler\");\n        isValid = await onCompiler.validateBySourceCode(onChanBytecode, sourceCode, fileSystem);\n      } else if (sourceCodePath != null) {\n        if (onCompiler == null)\n          throw new IllegalArgumentError(\"Can't validate bytecode without compiler\");\n        isValid = await onCompiler.validate(onChanBytecode, sourceCodePath);\n      }\n      if (!isValid) {\n        throw new BytecodeMismatchError(\n          (sourceCode ?? sourceCodePath) != null ? 'source code' : 'bytecode',\n        );\n      }\n    }\n\n    return new ContractWithMethods<M>({\n      onCompiler,\n      onNode,\n      sourceCode,\n      sourceCodePath,\n      bytecode,\n      aci,\n      address,\n      name,\n      fileSystem,\n      ...otherOptions,\n    });\n  }\n\n  _aci: Aci;\n\n  readonly #aciContract: ContractAci;\n\n  _name: string;\n\n  _calldata: Calldata;\n\n  $options: Omit<ConstructorParameters<typeof Contract>[0], 'aci'>;\n\n  /**\n   * @param options - Options\n   */\n  constructor({\n    aci,\n    ...otherOptions\n  }: {\n    onCompiler?: CompilerBase;\n    onNode: Node;\n    bytecode?: Encoded.ContractBytearray;\n    aci: Aci;\n    address?: Encoded.ContractAddress;\n    /**\n     * Supported only in Ceres\n     */\n    name?: AensName;\n    sourceCodePath?: Parameters<CompilerBase['compile']>[0];\n    sourceCode?: Parameters<CompilerBase['compileBySourceCode']>[0];\n    fileSystem?: Parameters<CompilerBase['compileBySourceCode']>[1];\n  } & Parameters<Contract<M>['$deploy']>[1]) {\n    this._aci = aci;\n    const aciLast = aci[aci.length - 1];\n    if (aciLast.contract == null) {\n      throw new IllegalArgumentError(\n        `The last 'aci' item should have 'contract' key, got ${Object.keys(aciLast)} keys instead`,\n      );\n    }\n    this.#aciContract = aciLast.contract;\n    this._name = this.#aciContract.name;\n    this._calldata = new Calldata(aci);\n    this.$options = otherOptions;\n\n    /**\n     * Generate proto function based on contract function using Contract ACI schema\n     * All function can be called like:\n     * ```js\n     * await contract.testFunction()\n     * ```\n     * then sdk will decide to use dry-run or send tx\n     * on-chain base on if function stateful or not.\n     * Also, you can manually do that:\n     * ```js\n     * await contract.testFunction({ callStatic: true }) // use call-static (dry-run)\n     * await contract.testFunction({ callStatic: false }) // send tx on-chain\n     * ```\n     */\n    Object.assign(\n      this,\n      Object.fromEntries(\n        this.#aciContract.functions.map(({ name, arguments: aciArgs, stateful }: FunctionAci) => {\n          const callStatic = name !== 'init' && !stateful;\n          return [\n            name,\n            async (...args: any) => {\n              const options = args.length === aciArgs.length + 1 ? args.pop() : {};\n              if (typeof options !== 'object')\n                throw new TypeError(`Options should be an object: ${options}`);\n              if (name === 'init') return this.$deploy(args, { callStatic, ...options });\n              return this.$call(name, args, { callStatic, ...options });\n            },\n          ];\n        }),\n      ),\n    );\n  }\n}\n\ninterface ContractWithMethodsClass {\n  new <M extends ContractMethodsBase>(\n    options: ConstructorParameters<typeof Contract>[0],\n  ): ContractWithMethods<M>;\n  initialize: (typeof Contract)['initialize'];\n}\n\n/**\n * @category contract\n */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nconst ContractWithMethods: ContractWithMethodsClass = Contract as any;\n\nexport default ContractWithMethods;\n","import { decode, Encoded } from '../utils/encoder.js';\nimport Node from '../Node.js';\n\n/**\n * @category oracle\n */\ntype OracleQueryNode = Awaited<ReturnType<Node['getOracleQueryByPubkeyAndQueryId']>>;\n\n/**\n * @category oracle\n */\nexport interface OracleQuery extends OracleQueryNode {\n  // TODO: type should be corrected in node api\n  id: Encoded.OracleQueryId;\n  decodedQuery: string;\n  decodedResponse: string;\n}\n\nfunction decodeQuery(queryEntry: OracleQueryNode): OracleQuery {\n  return {\n    ...queryEntry,\n    id: queryEntry.id as Encoded.OracleQueryId,\n    decodedQuery: decode(queryEntry.query as Encoded.OracleQuery).toString(),\n    decodedResponse: decode(queryEntry.response as Encoded.OracleResponse).toString(),\n  };\n}\n\n/**\n * This class is needed because `getOracleQuery` would return different values depending on the\n * oracle type.\n * @category oracle\n */\nexport default class OracleBase {\n  /**\n   * @param address - Oracle public key\n   */\n  constructor(\n    public readonly address: Encoded.OracleAddress,\n    public options: { onNode: Node },\n  ) {}\n\n  /**\n   * Get oracle entry from the node\n   * @param options - Options object\n   */\n  async getState(options: { onNode?: Node } = {}): ReturnType<Node['getOracleByPubkey']> {\n    const opt = { ...this.options, ...options };\n    return opt.onNode.getOracleByPubkey(this.address);\n  }\n\n  /**\n   * Get oracle queries from the node\n   * @param options - Options object\n   */\n  async getQueries(options: { onNode?: Node } = {}): Promise<OracleQuery[]> {\n    const opt = { ...this.options, ...options };\n    return (await opt.onNode.getOracleQueriesByPubkey(this.address)).oracleQueries.map(decodeQuery);\n  }\n\n  /**\n   * Get oracle query entry from the node\n   * @param queryId - Oracle query ID\n   * @param options - Options object\n   */\n  async getQuery(\n    queryId: Encoded.OracleQueryId,\n    options: { onNode?: Node } = {},\n  ): Promise<OracleQuery> {\n    const { onNode } = { ...this.options, ...options };\n    const queryEntry = await onNode.getOracleQueryByPubkeyAndQueryId(this.address, queryId);\n    return decodeQuery(queryEntry);\n  }\n}\n","import { buildTxAsync, BuildTxOptions } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { LogicError, UnexpectedTsError } from '../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { _getPollInterval } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport Node from '../Node.js';\nimport AccountBase from '../account/Base.js';\nimport OracleBase, { OracleQuery } from './OracleBase.js';\n\n/**\n * @category oracle\n */\ninterface OracleRegisterOptions\n  extends BuildTxOptions<Tag.OracleRegisterTx, 'accountId' | 'queryFormat' | 'responseFormat'>,\n    Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\n/**\n * @category oracle\n */\ninterface OracleExtendTtlOptions\n  extends BuildTxOptions<Tag.OracleExtendTx, 'callerId' | 'oracleId'>,\n    Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\n/**\n * @category oracle\n */\ninterface OracleRespondToQueryOptions\n  extends BuildTxOptions<Tag.OracleRespondTx, 'callerId' | 'oracleId' | 'queryId' | 'response'>,\n    Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\n/**\n * @category oracle\n */\nexport default class Oracle extends OracleBase {\n  /**\n   * @param account - Account to use as oracle\n   * @param options - Options object\n   */\n  constructor(\n    public readonly account: AccountBase,\n    public override options: OracleRegisterOptions &\n      OracleExtendTtlOptions &\n      Parameters<Oracle['handleQueries']>[1] & { onNode: Node },\n  ) {\n    super(encode(decode(account.address), Encoding.OracleAddress), options);\n  }\n\n  // TODO: support abiVersion other than 0\n  /**\n   * Register oracle\n   * @param queryFormat - Format of query\n   * @param responseFormat - Format of query response\n   * @param options - Options object\n   */\n  async register(\n    queryFormat: string,\n    responseFormat: string,\n    options: OracleRegisterOptions = {},\n  ): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const oracleRegisterTx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.OracleRegisterTx,\n      accountId: this.account.address,\n      queryFormat,\n      responseFormat,\n    });\n    return sendTransaction(oracleRegisterTx, { ...opt, onAccount: this.account });\n  }\n\n  /**\n   * Extend oracle ttl\n   * @param options - Options object\n   */\n  async extendTtl(options: OracleExtendTtlOptions = {}): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const oracleExtendTx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.OracleExtendTx,\n      oracleId: this.address,\n    });\n    return sendTransaction(oracleExtendTx, { ...opt, onAccount: this.account });\n  }\n\n  /**\n   * Poll for oracle queries\n   * @param onQuery - OnQuery callback\n   * @param options - Options object\n   * @param options.interval - Poll interval (default: 5000)\n   * @returns Callback to stop polling function\n   */\n  pollQueries(\n    onQuery: (query: OracleQuery) => void,\n    options: { interval?: number; includeResponded?: boolean } & Partial<\n      Parameters<typeof _getPollInterval>[1]\n    > = {},\n  ): () => void {\n    const opt = { ...this.options, ...options };\n    const knownQueryIds = new Set();\n\n    let isChecking = false;\n    const checkNewQueries = async (): Promise<void> => {\n      if (isChecking) return;\n      isChecking = true;\n      const filtered = (await this.getQueries(opt))\n        .filter(({ id }) => !knownQueryIds.has(id))\n        .filter((query) => options.includeResponded === true || query.decodedResponse === '');\n      filtered.forEach((query) => knownQueryIds.add(query.id));\n      isChecking = false;\n      await Promise.all(filtered.map((query) => onQuery(query)));\n    };\n\n    checkNewQueries();\n    const idPromise = (async () => {\n      const interval = opt.interval ?? (await _getPollInterval('micro-block', opt));\n      return setInterval(async () => checkNewQueries(), interval);\n    })();\n\n    return async () => {\n      const id = await idPromise;\n      clearInterval(id);\n    };\n  }\n\n  /**\n   * Respond to a query\n   * @param queryId - Oracle query id\n   * @param response - The response to query\n   * @param options - Options object\n   */\n  async respondToQuery(\n    queryId: Encoded.OracleQueryId,\n    response: string,\n    options: OracleRespondToQueryOptions = {},\n  ): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const oracleRespondTx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.OracleRespondTx,\n      oracleId: this.address,\n      queryId,\n      response,\n    });\n    return sendTransaction(oracleRespondTx, { ...opt, onAccount: this.account });\n  }\n\n  #handleQueriesPromise?: Promise<void>;\n\n  /**\n   * Respond to queries to oracle based on callback value\n   * @param getResponse - Callback to respond on query\n   * @param options - Options object\n   * @param options.interval - Poll interval (default: 5000)\n   * @returns Callback to stop polling function\n   */\n  handleQueries(\n    getResponse: (q: OracleQuery) => Promise<string> | string,\n    options: Parameters<Oracle['pollQueries']>[1] & OracleRespondToQueryOptions = {},\n  ): () => void {\n    if (this.#handleQueriesPromise != null) {\n      throw new LogicError(\n        'Another query handler already running, it needs to be stopped to run a new one',\n      );\n    }\n    const opt = { ...this.options, ...options };\n\n    let queuePromise = Promise.resolve();\n    const handler = async (q: OracleQuery): Promise<void> => {\n      const response = await getResponse(q);\n      const respondPromise = queuePromise.then(async () =>\n        this.respondToQuery(q.id, response, opt),\n      );\n      queuePromise = respondPromise.then(\n        () => {},\n        () => {},\n      );\n      await respondPromise;\n    };\n\n    this.#handleQueriesPromise = Promise.resolve();\n    const stopPoll = this.pollQueries(async (query: OracleQuery) => {\n      const promise = handler(query);\n      if (this.#handleQueriesPromise == null) throw new UnexpectedTsError();\n      this.#handleQueriesPromise = this.#handleQueriesPromise\n        .then(async () => promise)\n        .then(\n          () => {},\n          () => {},\n        );\n      return promise;\n    }, opt);\n\n    return async () => {\n      stopPoll();\n      await this.#handleQueriesPromise;\n      this.#handleQueriesPromise = undefined;\n    };\n  }\n}\n","import { pause, Optional } from '../utils/other.js';\nimport { oracleQueryId } from '../tx/builder/helpers.js';\nimport { unpackTx, buildTxAsync, BuildTxOptions } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { RequestTimedOutError } from '../utils/errors.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport { _getPollInterval, getHeight } from '../chain.js';\nimport { sendTransaction } from '../send-transaction.js';\nimport Node from '../Node.js';\nimport AccountBase from '../account/Base.js';\nimport OracleBase from './OracleBase.js';\n\n/**\n * @category oracle\n */\ninterface OracleClientPostQueryOptions\n  extends Optional<Parameters<typeof sendTransaction>[1], 'onNode' | 'onAccount'>,\n    BuildTxOptions<Tag.OracleQueryTx, 'oracleId' | 'senderId' | 'query'> {}\n\n/**\n * @category oracle\n */\nexport default class OracleClient extends OracleBase {\n  /**\n   * @param address - Oracle public key\n   * @param options - Options object\n   * @param options.onAccount - Account to use\n   * @param options.onNode - Node to use\n   */\n  constructor(\n    address: Encoded.OracleAddress,\n    public override options: { onAccount: AccountBase; onNode: Node } & Parameters<\n      OracleClient['query']\n    >[1],\n  ) {\n    super(address, options);\n  }\n\n  /**\n   * Post query to oracle\n   * @param query - Query to oracle\n   * @param options - Options object\n   * @returns Transaction details and query ID\n   */\n  async postQuery(\n    query: string,\n    options: OracleClientPostQueryOptions = {},\n  ): Promise<Awaited<ReturnType<typeof sendTransaction>> & { queryId: Encoded.OracleQueryId }> {\n    const opt = { ...this.options, ...options };\n    const senderId = opt.onAccount.address;\n\n    const oracleQueryTx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.OracleQueryTx,\n      oracleId: this.address,\n      senderId,\n      query,\n    });\n    const { nonce } = unpackTx(oracleQueryTx, Tag.OracleQueryTx);\n    return {\n      ...(await sendTransaction(oracleQueryTx, opt)),\n      queryId: oracleQueryId(senderId, nonce, this.address),\n    };\n  }\n\n  /**\n   * Poll for oracle response to query\n   * @param queryId - Oracle Query id\n   * @param options - Options object\n   * @param options.interval - Poll interval\n   * @returns Oracle response\n   */\n  async pollForResponse(\n    queryId: Encoded.OracleQueryId,\n    options: { interval?: number } & Partial<Parameters<typeof _getPollInterval>[1]> = {},\n  ): Promise<string> {\n    const opt = { ...this.options, ...options };\n    const interval = opt.interval ?? (await _getPollInterval('micro-block', opt));\n    let height;\n    let ttl;\n    let response;\n    do {\n      ({ response, ttl } = await this.getQuery(queryId, opt));\n      const responseBuffer = decode(response as Encoded.OracleResponse);\n      if (responseBuffer.length > 0) return responseBuffer.toString();\n      await pause(interval);\n      height = await getHeight({ ...opt, cached: true });\n    } while (ttl >= height);\n    throw new RequestTimedOutError(height);\n  }\n\n  /**\n   * Post query to oracle and wait for response\n   * @param query - Query to oracle\n   * @param options - Options object\n   * @returns Oracle response\n   */\n  async query(\n    query: string,\n    options: OracleClientPostQueryOptions & Parameters<OracleClient['pollForResponse']>[1] = {},\n  ): Promise<string> {\n    const { queryId } = await this.postQuery(query, options);\n    return this.pollForResponse(queryId, options);\n  }\n}\n","import BigNumber from 'bignumber.js';\nimport { getBalance, resolveName } from './chain.js';\nimport { sendTransaction, SendTransactionOptions } from './send-transaction.js';\nimport { buildTxAsync, BuildTxOptions, unpackTx } from './tx/builder/index.js';\nimport { ArgumentError } from './utils/errors.js';\nimport { Encoded } from './utils/encoder.js';\nimport { Tag, AensName } from './tx/builder/constants.js';\n\n// TODO: name verify should not overlap with transaction verify\ntype ResolveNameOptions = Omit<Parameters<typeof resolveName>[2], 'onNode' | 'verify'>;\n\n/**\n * Send coins to another account\n * @category chain\n * @param amount - Amount to spend\n * @param recipientIdOrName - Address or name of recipient account\n * @param options - Options\n * @returns Transaction\n */\nexport async function spend(\n  amount: number | string,\n  recipientIdOrName: Encoded.AccountAddress | Encoded.ContractAddress | AensName,\n  options: SpendOptions,\n): ReturnType<typeof sendTransaction> {\n  return sendTransaction(\n    await buildTxAsync({\n      _isInternalBuild: true,\n      ...options,\n      tag: Tag.SpendTx,\n      senderId: options.onAccount.address,\n      recipientId: await resolveName(recipientIdOrName, 'account_pubkey', options),\n      amount,\n    }),\n    options,\n  );\n}\n\ntype SpendOptionsType = BuildTxOptions<\n  Tag.SpendTx,\n  'senderId' | 'recipientId' | 'amount' | 'onNode'\n> &\n  ResolveNameOptions &\n  SendTransactionOptions;\ninterface SpendOptions extends SpendOptionsType {}\n\n// TODO: Rename to spendFraction\n/**\n * Spend a fraction of coin balance to another account. Useful if needed to drain account balance\n * completely, sending funds to another account (with fraction set to 1).\n * @category chain\n * @param fraction - Fraction of balance to spend (between 0 and 1)\n * @param recipientIdOrName - Address or name of recipient account\n * @param options - Options\n * @example\n * ```js\n * // `fraction` * 100 = % of AE to be transferred (e.g. `0.42` for 42% or `1` for 100%)\n * const { blockHeight } = await aeSdk.transferFunds(\n *   0.42,\n *   'ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E',\n * );\n * console.log('Transaction mined at', blockHeight);\n * ```\n */\nexport async function transferFunds(\n  fraction: number | string, // TODO: accept only number\n  recipientIdOrName: AensName | Encoded.AccountAddress | Encoded.ContractAddress,\n  options: TransferFundsOptions,\n): ReturnType<typeof sendTransaction> {\n  if (+fraction < 0 || +fraction > 1) {\n    throw new ArgumentError('fraction', 'a number between 0 and 1', fraction);\n  }\n  const recipientId = await resolveName(recipientIdOrName, 'account_pubkey', options);\n  const senderId = options.onAccount.address;\n  const balance = new BigNumber(await getBalance.bind(options.onAccount)(senderId, options));\n  const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP);\n  const { fee } = unpackTx(\n    await buildTxAsync({\n      _isInternalBuild: true,\n      ...options,\n      tag: Tag.SpendTx,\n      senderId,\n      recipientId,\n      amount: desiredAmount,\n    }),\n    Tag.SpendTx,\n  );\n  // Reducing of the amount may reduce transaction fee, so this is not completely accurate\n  const amount = desiredAmount.plus(fee).gt(balance) ? balance.minus(fee) : desiredAmount;\n  return sendTransaction(\n    await buildTxAsync({\n      _isInternalBuild: true,\n      ...options,\n      tag: Tag.SpendTx,\n      senderId,\n      recipientId,\n      amount,\n    }),\n    options,\n  );\n}\n\ntype TransferFundsOptionsType = BuildTxOptions<\n  Tag.SpendTx,\n  'senderId' | 'recipientId' | 'amount' | 'onNode'\n> &\n  ResolveNameOptions &\n  SendTransactionOptions;\ninterface TransferFundsOptions extends TransferFundsOptionsType {}\n\n/**\n * Submit transaction of another account paying for it (fee and gas)\n * @category chain\n * @param transaction - tx_<base64>-encoded transaction\n * @param options - Options\n * @returns Object Transaction\n */\nexport async function payForTransaction(\n  transaction: Encoded.Transaction,\n  options: PayForTransactionOptions,\n): ReturnType<typeof sendTransaction> {\n  return sendTransaction(\n    await buildTxAsync({\n      _isInternalBuild: true,\n      ...options,\n      tag: Tag.PayingForTx,\n      payerId: options.onAccount.address,\n      tx: transaction,\n    }),\n    options,\n  );\n}\n\ninterface PayForTransactionOptions\n  extends BuildTxOptions<Tag.PayingForTx, 'payerId' | 'tx' | 'onNode'>,\n    SendTransactionOptions {}\n","/**\n * Generalized Account module - routines to use generalized account\n */\n\nimport { ConsensusProtocolVersion, Int, Tag } from '../tx/builder/constants.js';\nimport {\n  buildContractIdByContractTx,\n  buildTx,\n  buildTxAsync,\n  BuildTxOptions,\n  unpackTx,\n} from '../tx/builder/index.js';\nimport { hash } from '../utils/crypto.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { ArgumentError, IllegalArgumentError } from '../utils/errors.js';\nimport { concatBuffers } from '../utils/other.js';\nimport Contract from './Contract.js';\nimport Node from '../Node.js';\nimport { getAccount } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport CompilerBase from './compiler/Base.js';\nimport { packEntry } from '../tx/builder/entry/index.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\n\n/**\n * Convert current account to GA\n * @category account generalized\n * @param authFnName - Authorization function name\n * @param args - init arguments\n * @param options - Options\n * @returns General Account Object\n */\nexport async function createGeneralizedAccount(\n  authFnName: string,\n  args: any[],\n  {\n    onAccount,\n    onCompiler,\n    onNode,\n    bytecode,\n    aci,\n    sourceCodePath,\n    sourceCode,\n    fileSystem,\n    ...options\n  }: CreateGeneralizedAccountOptions,\n): Promise<\n  Readonly<{\n    owner: Encoded.AccountAddress;\n    transaction: Encoded.TxHash;\n    rawTx: Encoded.Transaction;\n    gaContractId: Encoded.ContractAddress;\n  }>\n> {\n  const ownerId = onAccount.address;\n  if ((await getAccount(ownerId, { onNode })).kind === 'generalized') {\n    throw new IllegalArgumentError(`Account ${ownerId} is already GA`);\n  }\n\n  const contract = await Contract.initialize<{ init: (...a: any[]) => void }>({\n    onAccount,\n    onCompiler,\n    onNode,\n    bytecode,\n    aci,\n    sourceCodePath,\n    sourceCode,\n    fileSystem,\n  });\n\n  const tx = await buildTxAsync({\n    _isInternalBuild: true,\n    ...options,\n    tag: Tag.GaAttachTx,\n    onNode,\n    code: await contract.$compile(),\n    gasLimit: options.gasLimit ?? (await contract._estimateGas('init', args, options)),\n    ownerId,\n    callData: contract._calldata.encode(contract._name, 'init', args),\n    authFun: hash(authFnName),\n  });\n  const { hash: transaction, rawTx } = await sendTransaction(tx, {\n    onNode,\n    onAccount,\n    onCompiler,\n    ...options,\n  });\n  const contractId = buildContractIdByContractTx(rawTx);\n\n  return Object.freeze({\n    owner: ownerId,\n    transaction,\n    rawTx,\n    gaContractId: contractId,\n  });\n}\n\ninterface CreateGeneralizedAccountOptions\n  extends BuildTxOptions<\n      Tag.GaAttachTx,\n      'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit' | 'onNode'\n    >,\n    SendTransactionOptions,\n    Pick<\n      Parameters<typeof Contract.initialize>[0],\n      'bytecode' | 'aci' | 'sourceCodePath' | 'sourceCode' | 'fileSystem'\n    > {\n  onCompiler: CompilerBase;\n  gasLimit?: number;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx payload\n * @category account generalized\n * @param transaction - tx-encoded transaction\n * @param options - Options\n * @param options.fee - GaMetaTx fee, required in Ceres\n * @param options.gasPrice - GaMetaTx gasPrice, required in Ceres\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHash(\n  transaction: Encoded.Transaction,\n  { fee, gasPrice, onNode }: { fee?: Int; gasPrice?: Int; onNode: Node },\n): Promise<Buffer> {\n  const { nodeNetworkId, consensusProtocolVersion } = await onNode.getNodeInfo();\n  let payload = hash(concatBuffers([Buffer.from(nodeNetworkId), decode(transaction)]));\n  if (consensusProtocolVersion === ConsensusProtocolVersion.Ceres) {\n    if (fee == null) throw new ArgumentError('fee', 'provided (in Ceres)', fee);\n    if (gasPrice == null) throw new ArgumentError('gasPrice', 'provided (in Ceres)', gasPrice);\n    payload = hash(\n      decode(\n        packEntry({\n          tag: EntryTag.GaMetaTxAuthData,\n          fee,\n          gasPrice,\n          txHash: encode(payload, Encoding.TxHash),\n        }),\n      ),\n    );\n  }\n  return payload;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx\n * @category account generalized\n * @param transaction - tx-encoded signed GaMeta transaction\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHashByGaMetaTx(\n  transaction: Encoded.Transaction,\n  { onNode }: { onNode: Node },\n): Promise<Buffer> {\n  const txParams = unpackTx(transaction, Tag.SignedTx);\n  if (txParams.encodedTx.tag !== Tag.GaMetaTx) {\n    throw new ArgumentError('transaction', 'to include GaMetaTx', Tag[txParams.encodedTx.tag]);\n  }\n  return buildAuthTxHash(buildTx(txParams.encodedTx.tx.encodedTx), {\n    fee: txParams.encodedTx.fee,\n    gasPrice: txParams.encodedTx.gasPrice,\n    onNode,\n  });\n}\n","import _Symbol from \"core-js-pure/features/symbol/index.js\";\nimport _Symbol$iterator from \"core-js-pure/features/symbol/iterator.js\";\nfunction _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof _Symbol && \"symbol\" == typeof _Symbol$iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof _Symbol && o.constructor === _Symbol && o !== _Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };","import _Object$defineProperty from \"core-js-pure/features/object/define-property.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? _Object$defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nimport _Symbol$toPrimitive from \"core-js-pure/features/symbol/to-primitive.js\";\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[_Symbol$toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import * as chainMethods from './chain.js';\nimport { sendTransaction } from './send-transaction.js';\nimport * as spendMethods from './spend.js';\nimport * as contractGaMethods from './contract/ga.js';\nimport { buildTxAsync } from './tx/builder/index.js';\nimport { mapObject, UnionToIntersection } from './utils/other.js';\nimport { wrapWithProxy } from './utils/wrap-proxy.js';\nimport Node from './Node.js';\nimport { TxParamsAsync } from './tx/builder/schema.generated.js';\nimport AccountBase from './account/Base.js';\nimport { Encoded } from './utils/encoder.js';\nimport CompilerBase from './contract/compiler/Base.js';\n\nexport type OnAccount = Encoded.AccountAddress | AccountBase | undefined;\n\nconst methods = {\n  ...chainMethods,\n  sendTransaction,\n  ...spendMethods,\n  ...contractGaMethods,\n} as const;\n\ntype Decrement<Number extends number> = [-1, 0, 1, 2, 3, 4, 5][Number];\ntype GetMethodsOptions<Methods extends { [key: string]: Function }> = {\n  [Name in keyof Methods]: Methods[Name] extends (...args: infer Args) => any\n    ? Args[Decrement<Args['length']>]\n    : never;\n};\ntype MethodsOptions = GetMethodsOptions<typeof methods>;\nexport interface AeSdkMethodsOptions\n  extends Partial<UnionToIntersection<MethodsOptions[keyof MethodsOptions]>> {}\n\nexport interface WrappedOptions {\n  onAccount: AccountBase;\n  onCompiler: CompilerBase;\n  onNode: Node;\n}\n\n/**\n * AeSdkMethods is the composition of:\n * - chain methods\n * - tx methods\n * - aens methods\n * - spend methods\n * - oracle methods\n * - contract methods\n * - contract ga methods\n *\n * While these methods can be used separately, this class provides a handy way to store\n * their context (current account, network, and compiler to use).\n */\nclass AeSdkMethods {\n  _options: AeSdkMethodsOptions = {};\n\n  readonly #wrappedOptions: WrappedOptions;\n\n  /**\n   * @param options - Options\n   */\n  constructor(options: AeSdkMethodsOptions = {}) {\n    Object.assign(this._options, options);\n    this.#wrappedOptions = {\n      onAccount: wrapWithProxy(() => this._options.onAccount),\n      onNode: wrapWithProxy(() => this._options.onNode),\n      onCompiler: wrapWithProxy(() => this._options.onCompiler),\n    };\n  }\n\n  /**\n   * Returns sdk instance options with references to current account, node, compiler.\n   * Used to create an instance (Contract, Oracle) bound to AeSdk state.\n   * @param mergeWith - Merge context with these extra options\n   * @returns Context object\n   */\n  getContext(mergeWith: AeSdkMethodsOptions = {}): AeSdkMethodsOptions & WrappedOptions {\n    return {\n      ...this._options,\n      ...this.#wrappedOptions,\n      ...mergeWith,\n    };\n  }\n\n  // TODO: omit onNode from options, because it is already in context\n  async buildTx(options: TxParamsAsync): Promise<Encoded.Transaction> {\n    // TODO: remove `any` at the same time as AeSdk class\n    return buildTxAsync({ ...(this.getContext() as any), ...options });\n  }\n}\n\ntype RequiredKeys<T> = {\n  [K in keyof T]-?: {} extends Pick<T, K> ? never : K;\n}[keyof T];\n\ntype OptionalIfNotRequired<T extends [any]> = RequiredKeys<T[0]> extends never ? T | [] : T;\n\ntype ReplaceOnAccount<Options> = Options extends { onAccount: any }\n  ? Omit<Options, 'onAccount'> & {\n      /**\n       * Make operation on specific account by providing address (to use account from sdk) or instance\n       * of AccountBase (like AccountMemory)\n       */\n      onAccount: OnAccount;\n    }\n  : Options;\n\ntype MakeOptional<Options> = OptionalIfNotRequired<\n  [Omit<Options, 'onNode' | 'onCompiler' | 'onAccount'> & Partial<ReplaceOnAccount<Options>>]\n>;\n\ntype TransformMethods<Methods extends { [key: string]: Function }> = {\n  [Name in keyof Methods]: Methods[Name] extends (\n    ...args: [...infer Args, infer Options]\n  ) => infer Ret\n    ? (...args: [...Args, ...MakeOptional<Options>]) => Ret\n    : never;\n};\n\ninterface AeSdkMethodsTransformed extends TransformMethods<typeof methods> {}\n\nObject.assign(\n  AeSdkMethods.prototype,\n  mapObject<Function, Function>(methods, ([name, handler]) => [\n    name,\n    function methodWrapper(this: AeSdkMethods, ...args: any[]) {\n      args.length = handler.length;\n      const options = args[args.length - 1];\n      args[args.length - 1] = this.getContext(options);\n      return handler(...args);\n    },\n  ]),\n);\n\ntype AeSdkMethodsTyped = AeSdkMethods & AeSdkMethodsTransformed;\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nconst AeSdkMethodsTyped = AeSdkMethods as new (options?: AeSdkMethodsOptions) => AeSdkMethodsTyped;\nexport default AeSdkMethodsTyped;\n","import Node from './Node.js';\nimport AccountBase from './account/Base.js';\nimport {\n  CompilerError,\n  DuplicateNodeError,\n  NodeNotFoundError,\n  NotImplementedError,\n  TypeError,\n} from './utils/errors.js';\nimport { Encoded } from './utils/encoder.js';\nimport { wrapWithProxy } from './utils/wrap-proxy.js';\nimport CompilerBase from './contract/compiler/Base.js';\nimport AeSdkMethods, { OnAccount, AeSdkMethodsOptions, WrappedOptions } from './AeSdkMethods.js';\n\ntype NodeInfo = Awaited<ReturnType<Node['getNodeInfo']>> & { name: string };\n\n/**\n * Basic AeSdk class implements:\n * - node selector,\n * - integrated compiler support,\n * - wrappers of account methods mapped to the current account.\n */\nexport default class AeSdkBase extends AeSdkMethods {\n  pool: Map<string, Node> = new Map();\n\n  selectedNodeName?: string;\n\n  readonly #wrappedOptions: WrappedOptions;\n\n  /**\n   * @param options - Options\n   * @param options.nodes - Array of nodes\n   */\n  constructor({\n    nodes = [],\n    ...options\n  }: AeSdkMethodsOptions & {\n    nodes?: Array<{ name: string; instance: Node }>;\n  } = {}) {\n    super(options);\n\n    nodes.forEach(({ name, instance }, i) => this.addNode(name, instance, i === 0));\n\n    this.#wrappedOptions = {\n      onNode: wrapWithProxy(() => this.api),\n      onCompiler: wrapWithProxy(() => this.compilerApi),\n      onAccount: wrapWithProxy(() => this._resolveAccount()),\n    };\n  }\n\n  // TODO: consider dropping this getter, because:\n  // compiler is not intended to be used separately any more (functionality limited to sdk needs)\n  // and user creates its instance by himself\n  get compilerApi(): CompilerBase {\n    if (this._options.onCompiler == null) {\n      throw new CompilerError(\"You can't use Compiler API. Compiler is not ready!\");\n    }\n    return this._options.onCompiler;\n  }\n\n  get api(): Node {\n    this.ensureNodeConnected();\n    return this.pool.get(this.selectedNodeName) as Node;\n  }\n\n  /**\n   * Add Node\n   * @param name - Node name\n   * @param node - Node instance\n   * @param select - Select this node as current\n   * @example\n   * ```js\n   * // add and select new node with name 'testNode'\n   * aeSdkBase.addNode('testNode', new Node({ url }), true)\n   * ```\n   */\n  addNode(name: string, node: Node, select = false): void {\n    if (this.pool.has(name)) throw new DuplicateNodeError(name);\n\n    this.pool.set(name, node);\n    if (select || this.selectedNodeName == null) {\n      this.selectNode(name);\n    }\n  }\n\n  /**\n   * Select Node\n   * @param name - Node name\n   * @example\n   * nodePool.selectNode('testNode')\n   */\n  selectNode(name: string): void {\n    if (!this.pool.has(name)) throw new NodeNotFoundError(`Node with name ${name} not in pool`);\n    this.selectedNodeName = name;\n  }\n\n  /**\n   * Check if you have selected node\n   * @example\n   * nodePool.isNodeConnected()\n   */\n  isNodeConnected(): this is AeSdkBase & { selectedNodeName: string } {\n    return this.selectedNodeName != null;\n  }\n\n  protected ensureNodeConnected(): asserts this is AeSdkBase & { selectedNodeName: string } {\n    if (!this.isNodeConnected()) {\n      throw new NodeNotFoundError(\"You can't use Node API. Node is not connected or not defined!\");\n    }\n  }\n\n  /**\n   * Get information about node\n   * @example\n   * ```js\n   * nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }\n   * ```\n   */\n  async getNodeInfo(): Promise<NodeInfo> {\n    this.ensureNodeConnected();\n    return {\n      name: this.selectedNodeName,\n      ...(await this.api.getNodeInfo()),\n    };\n  }\n\n  /**\n   * Get array of available nodes\n   * @example\n   * nodePool.getNodesInPool()\n   */\n  async getNodesInPool(): Promise<NodeInfo[]> {\n    return Promise.all(\n      Array.from(this.pool.entries()).map(async ([name, node]) => ({\n        name,\n        ...(await node.getNodeInfo()),\n      })),\n    );\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  addresses(): Encoded.AccountAddress[] {\n    return [];\n  }\n\n  /**\n   * Resolves an account\n   * @param account - ak-address, instance of AccountBase, or keypair\n   */\n  _resolveAccount(account: OnAccount = this._options.onAccount): AccountBase {\n    if (typeof account === 'string') throw new NotImplementedError('Address in AccountResolver');\n    if (typeof account === 'object') return account;\n    throw new TypeError(\n      'Account should be an address (ak-prefixed string), ' +\n        `or instance of AccountBase, got ${String(account)} instead`,\n    );\n  }\n\n  get address(): Encoded.AccountAddress {\n    return this._resolveAccount().address;\n  }\n\n  /**\n   * Sign data blob\n   * @param data - Data to sign\n   * @param options - Options\n   * @deprecated Use `unsafeSign` method instead\n   */\n  async sign(\n    data: string | Uint8Array,\n    options: { onAccount?: OnAccount } = {},\n  ): Promise<Uint8Array> {\n    return this.unsafeSign(data, options);\n  }\n\n  /**\n   * Sign data blob\n   * @param data - Data to sign\n   * @param options - Options\n   */\n  async unsafeSign(\n    data: string | Uint8Array,\n    { onAccount, ...options }: { onAccount?: OnAccount } = {},\n  ): Promise<Uint8Array> {\n    return this._resolveAccount(onAccount).unsafeSign(data, options);\n  }\n\n  /**\n   * Sign encoded transaction\n   * @param tx - Transaction to sign\n   * @param options - Options\n   */\n  async signTransaction(\n    tx: Encoded.Transaction,\n    {\n      onAccount,\n      ...options\n    }: { onAccount?: OnAccount } & Parameters<AccountBase['signTransaction']>[1] = {},\n  ): Promise<Encoded.Transaction> {\n    const networkId = this.selectedNodeName !== null ? await this.api.getNetworkId() : undefined;\n    return this._resolveAccount(onAccount).signTransaction(tx, { networkId, ...options });\n  }\n\n  /**\n   * Sign message\n   * @param message - Message to sign\n   * @param options - Options\n   */\n  async signMessage(\n    message: string,\n    {\n      onAccount,\n      ...options\n    }: { onAccount?: OnAccount } & Parameters<AccountBase['signMessage']>[1] = {},\n  ): Promise<Uint8Array> {\n    return this._resolveAccount(onAccount).signMessage(message, options);\n  }\n\n  /**\n   * Sign typed data\n   * @param data - Encoded data to sign\n   * @param aci - Type of data to sign\n   * @param options - Options\n   */\n  async signTypedData(\n    data: Encoded.ContractBytearray,\n    aci: Parameters<AccountBase['signTypedData']>[1],\n    {\n      onAccount,\n      ...options\n    }: { onAccount?: OnAccount } & Parameters<AccountBase['signTypedData']>[2] = {},\n  ): Promise<Encoded.Signature> {\n    return this._resolveAccount(onAccount).signTypedData(data, aci, options);\n  }\n\n  /**\n   * Sign delegation, works only in Ceres\n   * @param delegation - Delegation to sign\n   * @param options - Options\n   */\n  async signDelegation(\n    delegation: Encoded.Bytearray,\n    {\n      onAccount,\n      ...options\n    }: { onAccount?: OnAccount } & Parameters<AccountBase['signDelegation']>[1] = {},\n  ): Promise<Encoded.Signature> {\n    options.networkId ??=\n      this.selectedNodeName !== null ? await this.api.getNetworkId() : undefined;\n    return this._resolveAccount(onAccount).signDelegation(delegation, options);\n  }\n\n  /**\n   * The same as AeSdkMethods:getContext, but it would resolve ak_-prefixed address in\n   * `mergeWith.onAccount` to AccountBase.\n   */\n  override getContext(mergeWith: AeSdkMethodsOptions = {}): AeSdkMethodsOptions & WrappedOptions {\n    return {\n      ...this._options,\n      ...this.#wrappedOptions,\n      ...mergeWith,\n      ...(mergeWith.onAccount != null && {\n        onAccount: this._resolveAccount(mergeWith.onAccount),\n      }),\n    };\n  }\n}\n","import AeSdkBase from './AeSdkBase.js';\nimport { OnAccount } from './AeSdkMethods.js';\nimport AccountBase from './account/Base.js';\nimport { decode, Encoded } from './utils/encoder.js';\nimport { UnavailableAccountError } from './utils/errors.js';\n\nexport default class AeSdk extends AeSdkBase {\n  accounts: { [key: Encoded.AccountAddress]: AccountBase } = {};\n\n  selectedAddress?: Encoded.AccountAddress;\n\n  /**\n   * @param options - Options\n   */\n  constructor({\n    accounts,\n    ...options\n  }: { accounts?: AccountBase[] } & ConstructorParameters<typeof AeSdkBase>[0] = {}) {\n    super(options);\n    accounts?.forEach((account, idx) => this.addAccount(account, { select: idx === 0 }));\n  }\n\n  override _resolveAccount(account: OnAccount = this.selectedAddress): AccountBase {\n    if (typeof account === 'string') {\n      const address = account as Encoded.AccountAddress;\n      decode(address);\n      if (this.accounts[address] == null) throw new UnavailableAccountError(account);\n      account = this.accounts[address];\n    }\n    return super._resolveAccount(account);\n  }\n\n  /**\n   * Get accounts addresses\n   * @example addresses()\n   */\n  override addresses(): Encoded.AccountAddress[] {\n    return Object.keys(this.accounts) as Encoded.AccountAddress[];\n  }\n\n  /**\n   * Add specific account\n   * @param account - Account instance\n   * @param options - Options\n   * @param options.select - Select account\n   * @example addAccount(account)\n   */\n  addAccount(account: AccountBase, { select }: { select?: boolean } = {}): void {\n    const { address } = account;\n    this.accounts[address] = account;\n    if (select === true) this.selectAccount(address);\n  }\n\n  /**\n   * Remove specific account\n   * @param address - Address of account to remove\n   * @example removeAccount(address)\n   */\n  removeAccount(address: Encoded.AccountAddress): void {\n    if (this.accounts[address] == null) throw new UnavailableAccountError(address);\n    delete this.accounts[address]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n    if (this.selectedAddress === address) delete this.selectedAddress;\n  }\n\n  /**\n   * Select specific account\n   * @param address - Address of account to select\n   * @example selectAccount('ak_xxxxxxxx')\n   */\n  selectAccount(address: Encoded.AccountAddress): void {\n    decode(address);\n    if (this.accounts[address] == null) throw new UnavailableAccountError(address);\n    this.selectedAddress = address;\n  }\n}\n","// eslint-disable-next-line max-classes-per-file\nimport { Encoded } from '../utils/encoder.js';\nimport { BaseError, InternalError } from '../utils/errors.js';\n\n/**\n * @category aepp wallet communication\n */\nexport const enum MESSAGE_DIRECTION {\n  to_waellet = 'to_waellet',\n  to_aepp = 'to_aepp',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum WALLET_TYPE {\n  window = 'window',\n  extension = 'extension',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum SUBSCRIPTION_TYPES {\n  subscribe = 'subscribe',\n  unsubscribe = 'unsubscribe',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum METHODS {\n  readyToConnect = 'connection.announcePresence',\n  updateAddress = 'address.update',\n  address = 'address.get',\n  connect = 'connection.open',\n  unsafeSign = 'data.unsafeSign',\n  sign = 'transaction.sign',\n  signMessage = 'message.sign',\n  signTypedData = 'typedData.sign',\n  signDelegation = 'delegation.sign',\n  subscribeAddress = 'address.subscribe',\n  updateNetwork = 'networkId.update',\n  closeConnection = 'connection.close',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum RPC_STATUS {\n  CONNECTED = 'CONNECTED',\n  DISCONNECTED = 'DISCONNECTED',\n  WAITING_FOR_CONNECTION_REQUEST = 'WAITING_FOR_CONNECTION_REQUEST',\n}\n\ninterface RpcErrorAsJson {\n  code: number;\n  message: string;\n  data?: any;\n}\n\nconst rpcErrors: Array<(new (data?: any) => RpcError) & { code: number }> = [];\n\n/**\n * @category exception\n */\nexport abstract class RpcError extends BaseError {\n  static code: number;\n\n  code!: number;\n\n  data?: any;\n\n  toJSON(): RpcErrorAsJson {\n    return {\n      code: this.code,\n      message: this.message,\n      data: this.data,\n    };\n  }\n\n  static deserialize(json: RpcErrorAsJson): RpcError {\n    const RpcErr = rpcErrors.find((cl) => cl.code === json.code);\n    if (RpcErr == null) throw new InternalError(`Can't find RpcError with code: ${json.code}`);\n    return new RpcErr(json.data);\n  }\n}\n\n/**\n * @category exception\n */\nexport class RpcInvalidTransactionError extends RpcError {\n  static override code = 2;\n\n  override code = 2;\n\n  constructor(data?: any) {\n    super('Invalid transaction');\n    this.data = data;\n    this.name = 'RpcInvalidTransactionError';\n  }\n}\nrpcErrors.push(RpcInvalidTransactionError);\n\n/**\n * @category exception\n */\nexport class RpcRejectedByUserError extends RpcError {\n  static override code = 4;\n\n  override code = 4;\n\n  constructor(data?: any) {\n    super('Operation rejected by user');\n    this.data = data;\n    this.name = 'RpcRejectedByUserError';\n  }\n}\nrpcErrors.push(RpcRejectedByUserError);\n\n/**\n * @category exception\n */\nexport class RpcUnsupportedProtocolError extends RpcError {\n  static override code = 5;\n\n  override code = 5;\n\n  constructor() {\n    super('Unsupported Protocol Version');\n    this.name = 'RpcUnsupportedProtocolError';\n  }\n}\nrpcErrors.push(RpcUnsupportedProtocolError);\n\n/**\n * @category exception\n */\nexport class RpcConnectionDenyError extends RpcError {\n  static override code = 9;\n\n  override code = 9;\n\n  constructor(data?: any) {\n    super('Wallet deny your connection request');\n    this.data = data;\n    this.name = 'RpcConnectionDenyError';\n  }\n}\nrpcErrors.push(RpcConnectionDenyError);\n\n/**\n * @category exception\n */\nexport class RpcNotAuthorizeError extends RpcError {\n  static override code = 10;\n\n  override code = 10;\n\n  constructor() {\n    super('You are not connected to the wallet');\n    this.name = 'RpcNotAuthorizeError';\n  }\n}\nrpcErrors.push(RpcNotAuthorizeError);\n\n/**\n * @category exception\n */\nexport class RpcPermissionDenyError extends RpcError {\n  static override code = 11;\n\n  override code = 11;\n\n  constructor(address: Encoded.AccountAddress) {\n    super(`You are not subscribed for account ${address}`);\n    this.data = address;\n    this.name = 'RpcPermissionDenyError';\n  }\n}\nrpcErrors.push(RpcPermissionDenyError);\n\n/**\n * @category exception\n */\nexport class RpcInternalError extends RpcError {\n  static override code = 12;\n\n  override code = 12;\n\n  constructor() {\n    super('The peer failed to execute your request due to unknown error');\n    this.name = 'RpcInternalError';\n  }\n}\nrpcErrors.push(RpcInternalError);\n\n/**\n * @category exception\n */\nexport class RpcNoNetworkById extends RpcError {\n  static override code = 13;\n\n  override code = 13;\n\n  constructor(networkId: string) {\n    super(`Wallet can't find a network by id \"${networkId}\"`);\n    this.data = networkId;\n    this.name = 'RpcNoNetworkById';\n  }\n}\nrpcErrors.push(RpcNoNetworkById);\n\n/**\n * @category exception\n */\nexport class RpcMethodNotFoundError extends RpcError {\n  static override code = -32601;\n\n  override code = -32601;\n\n  constructor() {\n    super('Method not found');\n    this.name = 'RpcMethodNotFoundError';\n  }\n}\nrpcErrors.push(RpcMethodNotFoundError);\n","import AccountBase from './Base.js';\nimport { METHODS } from '../aepp-wallet-communication/schema.js';\nimport { ArgumentError, UnsupportedProtocolError } from '../utils/errors.js';\nimport { Encoded, Encoding, decode, encode } from '../utils/encoder.js';\nimport RpcClient from '../aepp-wallet-communication/rpc/RpcClient.js';\nimport { AeppApi, WalletApi } from '../aepp-wallet-communication/rpc/types.js';\n\n/**\n * Account provided by wallet\n * @param params - Params\n * @param params.rpcClient - RpcClient instance\n * @param params.address - RPC account address\n * @returns AccountRpc instance\n * @category account\n */\nexport default class AccountRpc extends AccountBase {\n  _rpcClient: RpcClient<WalletApi, AeppApi>;\n\n  override readonly address: Encoded.AccountAddress;\n\n  constructor(rpcClient: RpcClient<WalletApi, AeppApi>, address: Encoded.AccountAddress) {\n    super();\n    this._rpcClient = rpcClient;\n    this.address = address;\n  }\n\n  /**\n   * @deprecated Use `unsafeSign` method instead\n   */\n  async sign(dataRaw: string | Uint8Array): Promise<Uint8Array> {\n    return this.unsafeSign(dataRaw);\n  }\n\n  async unsafeSign(dataRaw: string | Uint8Array): Promise<Uint8Array> {\n    const data = encode(Buffer.from(dataRaw), Encoding.Bytearray);\n    const { signature } = await this._rpcClient.request(METHODS.unsafeSign, {\n      onAccount: this.address,\n      data,\n    });\n    return decode(signature);\n  }\n\n  override async signTransaction(\n    tx: Encoded.Transaction,\n    { innerTx, networkId }: Parameters<AccountBase['signTransaction']>[1] = {},\n  ): Promise<Encoded.Transaction> {\n    if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n    const res = await this._rpcClient.request(METHODS.sign, {\n      onAccount: this.address,\n      tx,\n      returnSigned: true,\n      networkId,\n      innerTx,\n    });\n    if (res.signedTransaction == null) {\n      throw new UnsupportedProtocolError('signedTransaction is missed in wallet response');\n    }\n    return res.signedTransaction;\n  }\n\n  override async signMessage(message: string): Promise<Uint8Array> {\n    const { signature } = await this._rpcClient.request(METHODS.signMessage, {\n      onAccount: this.address,\n      message,\n    });\n    return Buffer.from(signature, 'hex');\n  }\n\n  override async signTypedData(\n    data: Encoded.ContractBytearray,\n    aci: Parameters<AccountBase['signTypedData']>[1],\n    { name, version, contractAddress, networkId }: Parameters<AccountBase['signTypedData']>[2] = {},\n  ): Promise<Encoded.Signature> {\n    const { signature } = await this._rpcClient.request(METHODS.signTypedData, {\n      onAccount: this.address,\n      domain: {\n        name,\n        version,\n        networkId,\n        contractAddress,\n      },\n      aci,\n      data,\n    });\n    return signature;\n  }\n\n  override async signDelegation(delegation: Encoded.Bytearray): Promise<Encoded.Signature> {\n    const { signature } = await this._rpcClient.request(METHODS.signDelegation, {\n      delegation,\n      onAccount: this.address,\n    });\n    return signature;\n  }\n}\n","import { RpcError, RpcInternalError, RpcMethodNotFoundError } from '../schema.js';\nimport BrowserConnection from '../connection/Browser.js';\nimport { InvalidRpcMessageError, MissingCallbackError } from '../../utils/errors.js';\nimport { ensureError } from '../../utils/other.js';\n\ninterface JsonRpcRequest {\n  jsonrpc: '2.0';\n  id: number;\n  method: string;\n  params?: any;\n}\n\ninterface JsonRpcResponse {\n  jsonrpc: '2.0';\n  id: number;\n  method: string;\n  result?: any;\n  error?: {\n    code: number;\n    message: string;\n    data?: any;\n  };\n}\n\ntype RpcApiHandler = (p?: any) => any | undefined;\ntype RpcApi<Api> = { [k in keyof Api]: RpcApiHandler };\ntype WithOrigin<Api extends RpcApi<Api>> = {\n  [k in keyof Api]: (p: Parameters<Api[k]>[0], origin: string) => ReturnType<Api[k]>;\n};\n\n/**\n * Contain functionality for using RPC conection\n * @category aepp wallet communication\n * @param connection - Connection object\n * @param onDisconnect - Disconnect callback\n * @param methods - Object containing handlers for each request by name\n */\nexport default class RpcClient<\n  RemoteApi extends RpcApi<RemoteApi>,\n  LocalApi extends RpcApi<LocalApi>,\n> {\n  connection: BrowserConnection;\n\n  readonly #callbacks = new Map<\n    number,\n    { resolve: (v: any) => void; reject: (e: Error) => void }\n  >();\n\n  #messageId = 0;\n\n  readonly #methods: WithOrigin<LocalApi>;\n\n  constructor(\n    connection: BrowserConnection,\n    onDisconnect: () => void,\n    methods: WithOrigin<LocalApi>,\n  ) {\n    this.connection = connection;\n    this.#methods = methods;\n    connection.connect(this.#handleMessage.bind(this), onDisconnect);\n  }\n\n  async #handleMessage(msg: JsonRpcRequest | JsonRpcResponse, origin: string): Promise<void> {\n    if (msg?.jsonrpc !== '2.0') throw new InvalidRpcMessageError(JSON.stringify(msg));\n    if ('result' in msg || 'error' in msg) {\n      this.#processResponse(msg);\n      return;\n    }\n\n    const request = msg as JsonRpcRequest;\n    let result;\n    let error: Error | undefined;\n    try {\n      if (!(request.method in this.#methods)) throw new RpcMethodNotFoundError();\n      const methodName = request.method as keyof LocalApi;\n      result = await this.#methods[methodName](request.params, origin);\n    } catch (e) {\n      ensureError(e);\n      error = e;\n    }\n    if (request.id != null) {\n      this.#sendResponse(\n        request.id,\n        request.method as keyof LocalApi,\n        result,\n        error == null || error instanceof RpcError ? error : new RpcInternalError(),\n      );\n    }\n    if (error != null && !(error instanceof RpcError)) throw error;\n  }\n\n  #sendRequest(\n    id: number | undefined,\n    method: keyof RemoteApi | keyof LocalApi,\n    params?: any,\n  ): void {\n    this.connection.sendMessage({\n      jsonrpc: '2.0',\n      ...(id != null ? { id } : {}),\n      method,\n      ...(params != null ? { params } : {}),\n    });\n  }\n\n  #sendResponse(\n    id: number,\n    method: keyof RemoteApi | keyof LocalApi, // TODO: remove as far it is not required in JSON RPC\n    result?: any,\n    error?: RpcError,\n  ): void {\n    this.connection.sendMessage({\n      jsonrpc: '2.0',\n      id,\n      method,\n      ...(error != null ? { error: error.toJSON() } : { result }),\n    });\n  }\n\n  /**\n   * Make a request\n   * @param name - Method name\n   * @param params - Method params\n   * @returns Promise which will be resolved after receiving response message\n   */\n  async request<Name extends keyof RemoteApi>(\n    name: Name,\n    params: Parameters<RemoteApi[Name]>[0],\n  ): Promise<ReturnType<RemoteApi[Name]>> {\n    this.#sendRequest((this.#messageId += 1), name, params);\n    return new Promise((resolve, reject) => {\n      this.#callbacks.set(this.#messageId, { resolve, reject });\n    });\n  }\n\n  /**\n   * Make a notification\n   * @param name - Method name\n   * @param params - Method params\n   */\n  notify<Name extends keyof RemoteApi>(name: Name, params: Parameters<RemoteApi[Name]>[0]): void {\n    this.#sendRequest(undefined, name, params);\n  }\n\n  /**\n   * Process response message\n   * @param msg - Message object\n   */\n  #processResponse({ id, error, result }: { id: number; error?: any; result?: any }): void {\n    const callbacks = this.#callbacks.get(id);\n    if (callbacks == null) throw new MissingCallbackError(id);\n    if (error != null) callbacks.reject(RpcError.deserialize(error));\n    else callbacks.resolve(result);\n    this.#callbacks.delete(id);\n  }\n}\n","import AeSdkBase from './AeSdkBase.js';\nimport { OnAccount } from './AeSdkMethods.js';\nimport AccountBase from './account/Base.js';\nimport AccountRpc from './account/Rpc.js';\nimport { decode, Encoded } from './utils/encoder.js';\nimport {\n  Accounts,\n  RPC_VERSION,\n  WalletInfo,\n  Network,\n  WalletApi,\n  AeppApi,\n  Node as NodeRpc,\n  NetworkToSelect,\n} from './aepp-wallet-communication/rpc/types.js';\nimport RpcClient from './aepp-wallet-communication/rpc/RpcClient.js';\nimport { METHODS, SUBSCRIPTION_TYPES } from './aepp-wallet-communication/schema.js';\nimport {\n  AlreadyConnectedError,\n  NoWalletConnectedError,\n  UnsubscribedAccountError,\n  UnAuthorizedAccountError,\n  RpcConnectionError,\n} from './utils/errors.js';\nimport Node from './Node.js';\nimport BrowserConnection from './aepp-wallet-communication/connection/Browser.js';\n\n/**\n * RPC handler for AEPP side\n * Contain functionality for wallet interaction and connect it to sdk\n * @deprecated use WalletConnectorFrame instead\n * @category aepp wallet communication\n */\nexport default class AeSdkAepp extends AeSdkBase {\n  name: string;\n\n  onAddressChange: (a: Accounts) => void;\n\n  onDisconnect: (p: any) => void;\n\n  onNetworkChange: (a: Network) => void;\n\n  rpcClient?: RpcClient<WalletApi, AeppApi>;\n\n  _accounts?: Accounts;\n\n  /**\n   * @param options - Options\n   * @param options.name - Aepp name\n   * @param options.onAddressChange - Call-back function for update address event\n   * @param options.onDisconnect - Call-back function for disconnect event\n   * @param options.onNetworkChange - Call-back function for update network event\n   */\n  constructor({\n    name,\n    onAddressChange = () => {},\n    onDisconnect = () => {},\n    onNetworkChange = () => {},\n    ...other\n  }: {\n    name: string;\n    onAddressChange?: (a: Accounts) => void;\n    onDisconnect?: (p: any) => void;\n    onNetworkChange?: (a: Network) => void;\n  } & ConstructorParameters<typeof AeSdkBase>[0]) {\n    super(other);\n    this.onAddressChange = onAddressChange;\n    this.onDisconnect = onDisconnect;\n    this.onNetworkChange = onNetworkChange;\n    this.name = name;\n  }\n\n  override _resolveAccount(account: OnAccount = this.addresses()[0]): AccountBase {\n    if (typeof account === 'string') {\n      const address = account as Encoded.AccountAddress;\n      decode(address);\n      if (!this.addresses().includes(address)) throw new UnAuthorizedAccountError(address);\n      this._ensureConnected();\n      account = new AccountRpc(this.rpcClient, address);\n    }\n    if (account == null) this._ensureAccountAccess();\n    return super._resolveAccount(account);\n  }\n\n  override addresses(): Encoded.AccountAddress[] {\n    if (this._accounts == null) return [];\n    const current = Object.keys(this._accounts.current)[0];\n    return [\n      ...(current != null ? [current] : []),\n      ...Object.keys(this._accounts.connected),\n    ] as Encoded.AccountAddress[];\n  }\n\n  /**\n   * Connect to wallet\n   * @param connection - Wallet connection object\n   * @param options - Options\n   * @param options.connectNode - Request wallet to bind node\n   * @param options.name - Node name\n   */\n  async connectToWallet(\n    connection: BrowserConnection,\n    { connectNode = false, name = 'wallet-node' }: { connectNode?: boolean; name?: string } = {},\n  ): Promise<WalletInfo & { node?: NodeRpc }> {\n    if (this.rpcClient != null)\n      throw new AlreadyConnectedError('You are already connected to wallet');\n    let disconnectParams: any;\n\n    const updateNetwork = (params: Network): void => {\n      if (connectNode) {\n        if (params.node?.url == null) throw new RpcConnectionError('Missing URLs of the Node');\n        this.pool.delete(name);\n        this.addNode(name, new Node(params.node.url), true);\n      }\n      this.onNetworkChange(params);\n    };\n\n    const client = new RpcClient<WalletApi, AeppApi>(\n      connection,\n      () => {\n        delete this.rpcClient;\n        delete this._accounts;\n        this.onDisconnect(disconnectParams);\n      },\n      {\n        [METHODS.updateAddress]: (params) => {\n          this._accounts = params;\n          this.onAddressChange(params);\n        },\n        [METHODS.updateNetwork]: updateNetwork,\n        [METHODS.closeConnection]: (params) => {\n          disconnectParams = params;\n          client.connection.disconnect();\n        },\n        [METHODS.readyToConnect]: () => {},\n      },\n    );\n    const walletInfo = await client.request(METHODS.connect, {\n      name: this.name,\n      version: RPC_VERSION,\n      connectNode,\n    });\n    updateNetwork(walletInfo);\n    this.rpcClient = client;\n    return walletInfo;\n  }\n\n  /**\n   * Disconnect from wallet\n   */\n  disconnectWallet(): void {\n    this._ensureConnected();\n    this.rpcClient.notify(METHODS.closeConnection, { reason: 'bye' });\n    this.rpcClient.connection.disconnect();\n  }\n\n  /**\n   * Ask addresses from wallet\n   * @returns Addresses from wallet\n   */\n  async askAddresses(): Promise<Encoded.AccountAddress[]> {\n    this._ensureConnected();\n    return this.rpcClient.request(METHODS.address, undefined);\n  }\n\n  /**\n   * Subscribe for addresses from wallet\n   * @param type - Subscription type\n   * @param value - Should be one of 'current' (the selected account), 'connected' (all)\n   * @returns Accounts from wallet\n   */\n  async subscribeAddress(\n    type: SUBSCRIPTION_TYPES,\n    value: 'current' | 'connected',\n  ): Promise<ReturnType<WalletApi[METHODS.subscribeAddress]>> {\n    this._ensureConnected();\n    const result = await this.rpcClient.request(METHODS.subscribeAddress, { type, value });\n    this._accounts = result.address;\n    return result;\n  }\n\n  /**\n   * Ask wallet to select a network\n   */\n  async askToSelectNetwork(network: NetworkToSelect): Promise<void> {\n    this._ensureConnected();\n    await this.rpcClient.request(METHODS.updateNetwork, network);\n  }\n\n  _ensureConnected(): asserts this is AeSdkAepp & {\n    rpcClient: NonNullable<AeSdkAepp['rpcClient']>;\n  } {\n    if (this.rpcClient != null) return;\n    throw new NoWalletConnectedError('You are not connected to Wallet');\n  }\n\n  _ensureAccountAccess(): asserts this is AeSdkAepp & {\n    rpcClient: NonNullable<AeSdkAepp['rpcClient']>;\n  } {\n    this._ensureConnected();\n    if (this.addresses().length !== 0) return;\n    throw new UnsubscribedAccountError();\n  }\n}\n","import { Encoded } from '../../utils/encoder.js';\nimport { Domain, AciValue } from '../../utils/typed-data.js';\nimport { METHODS, SUBSCRIPTION_TYPES, WALLET_TYPE } from '../schema.js';\nimport { SignedTx } from '../../apis/node/index.js';\n\nexport interface WalletInfo {\n  id: string;\n  name: string;\n  networkId: string;\n  origin: string; // TODO: origin needs to be provided by transport\n  type: WALLET_TYPE;\n}\n\nexport interface Accounts {\n  connected: { [pub: Encoded.AccountAddress]: {} };\n  current: { [pub: Encoded.AccountAddress]: {} };\n}\n\nexport interface Node {\n  // TODO: name is not used, can be removed\n  name: string;\n  url: string;\n}\n\nexport interface Network {\n  networkId: string;\n  node?: Node;\n}\n\ntype Icons = Array<{ src: string; sizes?: string; type?: string; purpose?: string }>;\n\nexport const RPC_VERSION = 1;\n\nexport type NetworkToSelect = { networkId: string } | { nodeUrl: string };\n\nexport interface WalletApi {\n  [METHODS.connect]: (p: {\n    name: string;\n    icons?: Icons;\n    version: typeof RPC_VERSION;\n    connectNode: boolean;\n  }) => Promise<WalletInfo & { node?: Node }>;\n\n  [METHODS.closeConnection]: (p: any) => void;\n\n  [METHODS.subscribeAddress]: (p: {\n    type: SUBSCRIPTION_TYPES;\n    value: 'connected' | 'current';\n  }) => Promise<{ subscription: Array<'connected' | 'current'>; address: Accounts }>;\n\n  [METHODS.address]: () => Promise<Encoded.AccountAddress[]>;\n\n  [METHODS.unsafeSign]: (p: {\n    data: Encoded.Bytearray;\n    onAccount: Encoded.AccountAddress;\n  }) => Promise<{ signature: Encoded.Signature }>;\n\n  [METHODS.sign]: (p: {\n    tx: Encoded.Transaction;\n    onAccount: Encoded.AccountAddress;\n    returnSigned: boolean;\n    /**\n     * @deprecated Wallet provided networkId will be used (current network)\n     * required to maintain backward compatibility with wallets using SDK v11.0.1 and below\n     * @see {@link https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba}\n     */\n    networkId: string;\n    innerTx?: boolean;\n  }) => Promise<{\n    /**\n     * @deprecated this is not a hash at all, will be removed later at the same time\n     * as dropping ability to broadcast transaction by wallet\n     */\n    transactionHash?: Partial<SignedTx> & {\n      hash: Encoded.TxHash;\n      rawTx: Encoded.Transaction;\n    };\n    signedTransaction?: Encoded.Transaction;\n  }>;\n\n  [METHODS.signMessage]: (p: {\n    message: string;\n    onAccount: Encoded.AccountAddress;\n  }) => Promise<{ signature: string }>;\n\n  [METHODS.signTypedData]: (p: {\n    domain: Domain;\n    aci: AciValue;\n    data: Encoded.ContractBytearray;\n    onAccount: Encoded.AccountAddress;\n  }) => Promise<{ signature: Encoded.Signature }>;\n\n  [METHODS.signDelegation]: (p: {\n    delegation: Encoded.Bytearray;\n    onAccount: Encoded.AccountAddress;\n  }) => Promise<{ signature: Encoded.Signature }>;\n\n  [METHODS.updateNetwork]: (a: NetworkToSelect) => Promise<null>;\n}\n\nexport interface AeppApi {\n  [METHODS.updateAddress]: (a: Accounts) => void;\n  [METHODS.updateNetwork]: (a: Network) => void;\n  [METHODS.readyToConnect]: (w: WalletInfo) => void;\n  [METHODS.closeConnection]: (p: any) => void;\n}\n","import { EventEmitter } from 'eventemitter3';\nimport AccountRpc from '../account/Rpc.js';\nimport { Encoded } from '../utils/encoder.js';\nimport {\n  Accounts,\n  RPC_VERSION,\n  Network,\n  WalletApi,\n  AeppApi,\n  NetworkToSelect,\n} from './rpc/types.js';\nimport RpcClient from './rpc/RpcClient.js';\nimport { METHODS, SUBSCRIPTION_TYPES } from './schema.js';\nimport { NoWalletConnectedError } from '../utils/errors.js';\nimport BrowserConnection from './connection/Browser.js';\n\ninterface EventsBase {\n  accountsChange: (accounts: AccountRpc[]) => void;\n  disconnect: (p: any) => void;\n}\n\nexport default abstract class WalletConnectorFrameBase<T extends {}> extends EventEmitter<\n  EventsBase | T\n> {\n  #rpcClient?: RpcClient<WalletApi, AeppApi>;\n\n  #getRpcClient(): RpcClient<WalletApi, AeppApi> {\n    if (this.#rpcClient == null)\n      throw new NoWalletConnectedError('You are not connected to Wallet');\n    return this.#rpcClient;\n  }\n\n  /**\n   * Is connected to wallet\n   */\n  get isConnected(): boolean {\n    return this.#rpcClient != null;\n  }\n\n  #accounts: AccountRpc[] = [];\n\n  /**\n   * Accounts provided by wallet over subscription\n   */\n  get accounts(): AccountRpc[] {\n    return this.#accounts;\n  }\n\n  protected constructor() {\n    super();\n  }\n\n  protected abstract _updateNetwork(params: Network): void;\n\n  #updateAccounts(params: Accounts): void {\n    const addresses = [\n      ...new Set([...Object.keys(params.current), ...Object.keys(params.connected)]),\n    ] as Encoded.AccountAddress[];\n    this.#accounts = addresses.map((address) => new AccountRpc(this.#getRpcClient(), address));\n    this.emit('accountsChange', this.#accounts);\n  }\n\n  static async _connect(\n    name: string,\n    connection: BrowserConnection,\n    connector: WalletConnectorFrameBase<any>,\n    connectNode: boolean,\n  ): Promise<void> {\n    let disconnectParams: any;\n\n    const client = new RpcClient<WalletApi, AeppApi>(\n      connection,\n      () => {\n        connector.#rpcClient = undefined;\n        connector.#accounts = [];\n        connector.emit('disconnect', disconnectParams);\n      },\n      {\n        [METHODS.updateAddress]: connector.#updateAccounts.bind(connector),\n        [METHODS.updateNetwork]: connector._updateNetwork.bind(connector),\n        [METHODS.closeConnection]: (params) => {\n          disconnectParams = params;\n          client.connection.disconnect();\n        },\n        [METHODS.readyToConnect]: () => {},\n      },\n    );\n    connector.#rpcClient = client;\n    const walletInfo = await connector.#rpcClient.request(METHODS.connect, {\n      name,\n      version: RPC_VERSION,\n      connectNode,\n    });\n    connector._updateNetwork(walletInfo);\n  }\n\n  /**\n   * Disconnect from wallet\n   */\n  disconnect(): void {\n    const client = this.#getRpcClient();\n    client.notify(METHODS.closeConnection, { reason: 'bye' });\n    client.connection.disconnect();\n  }\n\n  /**\n   * Request accounts from wallet\n   */\n  async getAccounts(): Promise<AccountRpc[]> {\n    const client = this.#getRpcClient();\n    const addresses = await client.request(METHODS.address, undefined);\n    return addresses.map((address) => new AccountRpc(client, address));\n  }\n\n  /**\n   * Subscribe for wallet accounts, get account updates adding handler to `accountsChange` event\n   * @param type - Subscription type\n   * @param value - Should be one of 'current' (the selected account), 'connected' (all)\n   * @returns Accounts from wallet\n   */\n  async subscribeAccounts(\n    type: SUBSCRIPTION_TYPES,\n    value: 'current' | 'connected',\n  ): Promise<AccountRpc[]> {\n    const result = await this.#getRpcClient().request(METHODS.subscribeAddress, { type, value });\n    this.#updateAccounts(result.address);\n    return this.#accounts;\n  }\n\n  /**\n   * Ask wallet to select a network\n   */\n  async askToSelectNetwork(network: NetworkToSelect): Promise<void> {\n    await this.#getRpcClient().request(METHODS.updateNetwork, network);\n  }\n}\n","import { Network } from './rpc/types.js';\nimport BrowserConnection from './connection/Browser.js';\nimport WalletConnectorFrameBase from './WalletConnectorFrameBase.js';\n\ninterface EventsNetworkId {\n  networkIdChange: (networkId: string) => void;\n}\n\n/**\n * Connect to wallet as iframe/web-extension\n * @category aepp wallet communication\n */\nexport default class WalletConnectorFrame extends WalletConnectorFrameBase<EventsNetworkId> {\n  #networkId = '';\n\n  /**\n   * The last network id reported by wallet\n   */\n  get networkId(): string {\n    return this.#networkId;\n  }\n\n  protected override _updateNetwork(params: Network): void {\n    this.#networkId = params.networkId;\n    this.emit('networkIdChange', this.#networkId);\n  }\n\n  /**\n   * Connect to wallet\n   * @param name - Aepp name\n   * @param connection - Wallet connection object\n   */\n  static async connect(name: string, connection: BrowserConnection): Promise<WalletConnectorFrame> {\n    const connector = new WalletConnectorFrame();\n    await WalletConnectorFrame._connect(name, connection, connector, false);\n    return connector;\n  }\n}\n","import { Network } from './rpc/types.js';\nimport { RpcConnectionError } from '../utils/errors.js';\nimport Node from '../Node.js';\nimport BrowserConnection from './connection/Browser.js';\nimport WalletConnectorFrameBase from './WalletConnectorFrameBase.js';\n\ninterface EventsWithNode {\n  nodeChange: (node: Node) => void;\n}\n\n/**\n * Connect to wallet as iframe/web-extension, asks wallet to provide node url\n * In comparison with WalletConnectorFrame, this would work better for decentralized applications\n * @category aepp wallet communication\n */\nexport default class WalletConnectorFrameWithNode extends WalletConnectorFrameBase<EventsWithNode> {\n  #node: Node = null as unknown as Node;\n\n  /**\n   * The node instance provided by wallet\n   */\n  get node(): Node {\n    return this.#node;\n  }\n\n  protected override _updateNetwork(params: Network): void {\n    if (params.node?.url == null) throw new RpcConnectionError('Missing URLs of the Node');\n    this.#node = new Node(params.node.url);\n    this.emit('nodeChange', this.#node);\n  }\n\n  /**\n   * Connect to wallet\n   * @param name - Aepp name\n   * @param connection - Wallet connection object\n   */\n  static async connect(\n    name: string,\n    connection: BrowserConnection,\n  ): Promise<WalletConnectorFrameWithNode> {\n    const connector = new WalletConnectorFrameWithNode();\n    await super._connect(name, connection, connector, true);\n    return connector;\n  }\n}\n","import JsonBig from 'json-bigint';\nimport BigNumber from 'bignumber.js';\nimport { mapObject } from './other.js';\n\nconst jsonBig = JsonBig({ storeAsString: true });\n\nconst convertValuesToBigNumbers = (value: any): any => {\n  if (typeof value === 'object' && value !== null && value.constructor === Object) {\n    return mapObject(value, ([k, v]) => [k, convertValuesToBigNumbers(v)]);\n  }\n  if (Array.isArray(value)) {\n    return value.map((item) => convertValuesToBigNumbers(item));\n  }\n  if (typeof value === 'string' && new BigNumber(value).toString(10) === value) {\n    const bn = new BigNumber(value);\n    bn.toJSON = () => bn.toString(10);\n    return bn;\n  }\n  return value;\n};\n\nexport default {\n  stringify: (...args: Parameters<(typeof JsonBig)['stringify']>): string =>\n    jsonBig.stringify(convertValuesToBigNumbers(args[0]), ...args.slice(1)),\n  parse: jsonBig.parse,\n};\n","import nacl from 'tweetnacl';\nimport AeSdk from './AeSdk.js';\nimport verifyTransaction from './tx/validator.js';\nimport RpcClient from './aepp-wallet-communication/rpc/RpcClient.js';\nimport {\n  METHODS,\n  RPC_STATUS,\n  SUBSCRIPTION_TYPES,\n  WALLET_TYPE,\n  RpcInvalidTransactionError,\n  RpcNotAuthorizeError,\n  RpcPermissionDenyError,\n  RpcUnsupportedProtocolError,\n} from './aepp-wallet-communication/schema.js';\nimport { InternalError, UnknownRpcClientError } from './utils/errors.js';\nimport AccountBase from './account/Base.js';\nimport BrowserConnection from './aepp-wallet-communication/connection/Browser.js';\nimport {\n  Accounts,\n  AeppApi,\n  Network,\n  NetworkToSelect,\n  RPC_VERSION,\n  WalletApi,\n  WalletInfo,\n} from './aepp-wallet-communication/rpc/types.js';\nimport { Encoded, Encoding, encode, decode } from './utils/encoder.js';\nimport jsonBig from './utils/json-big.js';\n\ntype RpcClientWallet = RpcClient<AeppApi, WalletApi>;\n\ntype OnConnection = (\n  clientId: string,\n  params: Omit<Parameters<WalletApi[METHODS.connect]>[0], 'version'>,\n  origin: string,\n) => void;\n\ntype OnSubscription = (\n  clientId: string,\n  params: Parameters<WalletApi[METHODS.subscribeAddress]>[0],\n  origin: string,\n) => void;\n\ntype OnDisconnect = (\n  clientId: string,\n  params: Parameters<WalletApi[METHODS.closeConnection]>[0],\n) => void;\n\ntype OnAskAccounts = (clientId: string, params: undefined, origin: string) => void;\n\ntype OnAskToSelectNetwork = (clientId: string, params: NetworkToSelect, origin: string) => void;\n\ninterface RpcClientsInfo {\n  id: string;\n  status: RPC_STATUS;\n  connectNode: boolean;\n  addressSubscription: Set<'connected' | 'current'>;\n  rpc: RpcClientWallet;\n}\n\n/**\n * Contain functionality for aepp interaction and managing multiple aepps\n * @category aepp wallet communication\n */\nexport default class AeSdkWallet extends AeSdk {\n  id: string;\n\n  _type: WALLET_TYPE;\n\n  name: string;\n\n  _clients = new Map<string, RpcClientsInfo>();\n\n  onConnection: OnConnection;\n\n  onSubscription: OnSubscription;\n\n  onDisconnect: OnDisconnect;\n\n  onAskAccounts: OnAskAccounts;\n\n  onAskToSelectNetwork: OnAskToSelectNetwork;\n\n  /**\n   * @param options - Options\n   * @param options.name - Wallet name\n   * @param options.id - Wallet id\n   * @param options.type - Wallet type\n   * @param options.onConnection - Call-back function for incoming AEPP connection\n   * @param options.onSubscription - Call-back function for incoming AEPP account subscription\n   * @param options.onAskAccounts - Call-back function for incoming AEPP get address request\n   * @param options.onAskToSelectNetwork - Call-back function for incoming AEPP select network\n   * request. If the request is fine then this function should change the current network.\n   * @param options.onDisconnect - Call-back function for disconnect event\n   */\n  constructor({\n    name,\n    id,\n    type,\n    onConnection,\n    onSubscription,\n    onDisconnect,\n    onAskAccounts,\n    onAskToSelectNetwork,\n    ...options\n  }: {\n    id: string;\n    type: WALLET_TYPE;\n    name: string;\n    onConnection: OnConnection;\n    onSubscription: OnSubscription;\n    onDisconnect: OnDisconnect;\n    onAskAccounts: OnAskAccounts;\n    onAskToSelectNetwork: OnAskToSelectNetwork;\n  } & ConstructorParameters<typeof AeSdk>[0]) {\n    super(options);\n    this.onConnection = onConnection;\n    this.onSubscription = onSubscription;\n    this.onDisconnect = onDisconnect;\n    this.onAskAccounts = onAskAccounts;\n    this.onAskToSelectNetwork = onAskToSelectNetwork;\n    this.name = name;\n    this.id = id;\n    this._type = type;\n  }\n\n  _getAccountsForClient({ addressSubscription }: RpcClientsInfo): Accounts {\n    const { current, connected } = this.getAccounts();\n    return {\n      current:\n        addressSubscription.has('current') || addressSubscription.has('connected') ? current : {},\n      connected: addressSubscription.has('connected') ? connected : {},\n    };\n  }\n\n  _pushAccountsToApps(): void {\n    if (this._clients == null) return;\n    Array.from(this._clients.keys())\n      .filter((clientId) => this._isRpcClientConnected(clientId))\n      .map((clientId) => this._getClient(clientId))\n      .filter((client) => client.addressSubscription.size !== 0)\n      .forEach((client) =>\n        client.rpc.notify(METHODS.updateAddress, this._getAccountsForClient(client)),\n      );\n  }\n\n  override selectAccount(address: Encoded.AccountAddress): void {\n    super.selectAccount(address);\n    this._pushAccountsToApps();\n  }\n\n  override addAccount(account: AccountBase, options?: Parameters<AeSdk['addAccount']>[1]): void {\n    super.addAccount(account, options);\n    this._pushAccountsToApps();\n  }\n\n  _getNode(): { node: Network['node'] } {\n    this.ensureNodeConnected();\n    return { node: { url: this.api.$host, name: this.selectedNodeName } };\n  }\n\n  override async selectNode(name: string): Promise<void> {\n    super.selectNode(name);\n    const networkId = await this.api.getNetworkId();\n    Array.from(this._clients.keys())\n      .filter((clientId) => this._isRpcClientConnected(clientId))\n      .map((clientId) => this._getClient(clientId))\n      .forEach((client) => {\n        client.rpc.notify(METHODS.updateNetwork, {\n          networkId,\n          ...(client.connectNode && this._getNode()),\n        });\n      });\n  }\n\n  _getClient(clientId: string): RpcClientsInfo {\n    const client = this._clients.get(clientId);\n    if (client == null) throw new UnknownRpcClientError(clientId);\n    return client;\n  }\n\n  _isRpcClientConnected(clientId: string): boolean {\n    return (\n      RPC_STATUS.CONNECTED === this._getClient(clientId).status &&\n      this._getClient(clientId).rpc.connection.isConnected()\n    );\n  }\n\n  _disconnectRpcClient(clientId: string): void {\n    const client = this._getClient(clientId);\n    client.rpc.connection.disconnect();\n    client.status = RPC_STATUS.DISCONNECTED;\n    client.addressSubscription = new Set();\n  }\n\n  /**\n   * Remove specific RpcClient by ID\n   * @param id - Client ID\n   */\n  removeRpcClient(id: string): void {\n    this._disconnectRpcClient(id);\n    this._clients.delete(id);\n  }\n\n  /**\n   * Add new client by AEPP connection\n   * @param clientConnection - AEPP connection object\n   * @returns Client ID\n   */\n  addRpcClient(clientConnection: BrowserConnection): string {\n    // @TODO  detect if aepp has some history based on origin????\n    // if yes use this instance for connection\n    const id = Buffer.from(nacl.randomBytes(8)).toString('base64');\n    let disconnectParams: any;\n    const client: RpcClientsInfo = {\n      id,\n      status: RPC_STATUS.WAITING_FOR_CONNECTION_REQUEST,\n      addressSubscription: new Set(),\n      connectNode: false,\n      rpc: new RpcClient<AeppApi, WalletApi>(\n        clientConnection,\n        () => {\n          this._clients.delete(id);\n          this.onDisconnect(id, disconnectParams); // also related info\n        },\n        {\n          [METHODS.closeConnection]: (params) => {\n            disconnectParams = params;\n            this._disconnectRpcClient(id);\n          },\n          // Store client info and prepare two fn for each client `connect` and `denyConnection`\n          // which automatically prepare and send response for that client\n          [METHODS.connect]: async ({ name, version, icons, connectNode }, origin) => {\n            if (version !== RPC_VERSION) throw new RpcUnsupportedProtocolError();\n\n            await this.onConnection(id, { name, icons, connectNode }, origin);\n            client.status = RPC_STATUS.CONNECTED;\n            client.connectNode = connectNode;\n            return {\n              ...(await this.getWalletInfo()),\n              ...(connectNode && this._getNode()),\n            };\n          },\n          [METHODS.subscribeAddress]: async ({ type, value }, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n\n            switch (type) {\n              case SUBSCRIPTION_TYPES.subscribe:\n                // TODO: remove `type` as it always subscribe\n                await this.onSubscription(id, { type, value }, origin);\n                client.addressSubscription.add(value);\n                break;\n              case SUBSCRIPTION_TYPES.unsubscribe:\n                client.addressSubscription.delete(value);\n                break;\n              default:\n                throw new InternalError(`Unknown subscription type: ${type}`);\n            }\n\n            return {\n              subscription: Array.from(client.addressSubscription),\n              address: this._getAccountsForClient(client),\n            };\n          },\n          [METHODS.address]: async (params, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            await this.onAskAccounts(id, params, origin);\n            return this.addresses();\n          },\n          [METHODS.sign]: async (\n            { tx, onAccount = this.address, returnSigned, innerTx },\n            origin,\n          ) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            if (!this.addresses().includes(onAccount)) {\n              throw new RpcPermissionDenyError(onAccount);\n            }\n\n            const parameters = {\n              onAccount,\n              aeppOrigin: origin,\n              aeppRpcClientId: id,\n              innerTx,\n            };\n            if (returnSigned || innerTx === true) {\n              return { signedTransaction: await this.signTransaction(tx, parameters) };\n            }\n            try {\n              return jsonBig.parse(\n                jsonBig.stringify({\n                  transactionHash: await this.sendTransaction(tx, { ...parameters, verify: false }),\n                }),\n              );\n            } catch (error) {\n              const validation = await verifyTransaction(tx, this.api);\n              if (validation.length > 0) throw new RpcInvalidTransactionError(validation);\n              throw error;\n            }\n          },\n          [METHODS.signMessage]: async ({ message, onAccount = this.address }, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            if (!this.addresses().includes(onAccount)) {\n              throw new RpcPermissionDenyError(onAccount);\n            }\n\n            const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n            return {\n              signature: Buffer.from(await this.signMessage(message, parameters)).toString('hex'),\n            };\n          },\n          [METHODS.signTypedData]: async (\n            { domain, aci, data, onAccount = this.address },\n            origin,\n          ) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            if (!this.addresses().includes(onAccount)) {\n              throw new RpcPermissionDenyError(onAccount);\n            }\n\n            const parameters = {\n              ...domain,\n              onAccount,\n              aeppOrigin: origin,\n              aeppRpcClientId: id,\n            };\n            return {\n              signature: await this.signTypedData(data, aci, parameters),\n            };\n          },\n          [METHODS.unsafeSign]: async ({ data, onAccount = this.address }, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            if (!this.addresses().includes(onAccount)) throw new RpcPermissionDenyError(onAccount);\n            const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n            const signature = encode(\n              await this.unsafeSign(decode(data), parameters),\n              Encoding.Signature,\n            );\n            return { signature };\n          },\n          [METHODS.signDelegation]: async ({ delegation, onAccount = this.address }, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            if (!this.addresses().includes(onAccount)) throw new RpcPermissionDenyError(onAccount);\n            const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n            const signature = await this.signDelegation(delegation, parameters);\n            return { signature };\n          },\n          [METHODS.updateNetwork]: async (params, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            await this.onAskToSelectNetwork(id, params, origin);\n            return null;\n          },\n        },\n      ),\n    };\n    this._clients.set(id, client);\n    return id;\n  }\n\n  /**\n   * Send shareWalletInfo message to notify AEPP about wallet\n   * @param clientId - ID of RPC client send message to\n   */\n  async shareWalletInfo(clientId: string): Promise<void> {\n    this._getClient(clientId).rpc.notify(METHODS.readyToConnect, await this.getWalletInfo());\n  }\n\n  /**\n   * Get Wallet info object\n   * @returns Object with wallet information\n   */\n  async getWalletInfo(): Promise<WalletInfo> {\n    const { origin } = window.location;\n    return {\n      id: this.id,\n      name: this.name,\n      networkId: await this.api.getNetworkId(),\n      origin: origin === 'file://' ? '*' : origin,\n      type: this._type,\n    };\n  }\n\n  /**\n   * Get Wallet accounts\n   * @returns Object with accounts information (\\{ connected: Object, current: Object \\})\n   */\n  getAccounts(): Accounts {\n    return {\n      current: this.selectedAddress != null ? { [this.selectedAddress]: {} } : {},\n      connected: this.addresses()\n        .filter((a) => a !== this.selectedAddress)\n        .reduce((acc, a) => ({ ...acc, [a]: {} }), {}),\n    };\n  }\n}\n","import Node from '../Node.js';\nimport AccountBase from './Base.js';\n\n/**\n * A factory class that generates instances of AccountBase by index.\n * @category account\n */\nexport default abstract class AccountBaseFactory {\n  /**\n   * Get an instance of AccountBase for a given account index.\n   * @param accountIndex - Index of account\n   */\n  abstract initialize(accountIndex: number): Promise<AccountBase>;\n\n  /**\n   * Discovers accounts in set that already have been used (has any on-chain transactions).\n   * It returns an empty array if none of accounts been used.\n   * If a used account is preceded by an unused account then it would be ignored.\n   * @param node - Instance of Node to get account information from\n   */\n  async discover(node: Node): Promise<AccountBase[]> {\n    let index = 0;\n    const result = [];\n    let account;\n    do {\n      if (account != null) result.push(account);\n      account = await this.initialize(index);\n      index += 1;\n    } while (\n      await node.getAccountByPubkey(account.address).then(\n        () => true,\n        () => false,\n      )\n    );\n    return result;\n  }\n}\n","import { mnemonicToSeed, mnemonicToSeedSync } from '@scure/bip39';\nimport tweetnaclAuth from 'tweetnacl-auth';\nimport AccountBaseFactory from './BaseFactory.js';\nimport AccountMemory from './Memory.js';\nimport { encode, Encoding, Encoded, decode } from '../utils/encoder.js';\nimport { concatBuffers } from '../utils/other.js';\nimport { ArgumentError } from '../utils/errors.js';\n\nexport const ED25519_CURVE = Buffer.from('ed25519 seed');\nconst HARDENED_OFFSET = 0x80000000;\n\ninterface KeyTreeNode {\n  secretKey: Uint8Array;\n  chainCode: Uint8Array;\n}\n\nexport function deriveKey(message: Uint8Array, key: Uint8Array): KeyTreeNode {\n  const I = tweetnaclAuth.full(message, key);\n  const IL = I.slice(0, 32);\n  const IR = I.slice(32);\n  return {\n    secretKey: IL,\n    chainCode: IR,\n  };\n}\n\nexport function derivePathFromKey(key: KeyTreeNode, segments: readonly number[]): KeyTreeNode {\n  return segments.reduce(({ secretKey, chainCode }, segment) => {\n    const indexBuffer = Buffer.allocUnsafe(4);\n    indexBuffer.writeUInt32BE(segment + HARDENED_OFFSET, 0);\n    const data = concatBuffers([Buffer.alloc(1, 0), secretKey, indexBuffer]);\n    return deriveKey(data, chainCode);\n  }, key);\n}\n\ninterface Wallet {\n  secretKey: Encoded.Bytearray;\n  chainCode: Encoded.Bytearray;\n}\n\n/**\n * A factory class that generates instances of AccountMemory based on provided mnemonic phrase.\n * @category account\n */\nexport default class AccountMnemonicFactory extends AccountBaseFactory {\n  #mnemonicOrWalletOrSeed: string | Wallet | Uint8Array;\n\n  /**\n   * @param mnemonicOrWalletOrSeed - BIP39-compatible mnemonic phrase or a wallet/seed derived from\n   * mnemonic\n   */\n  constructor(mnemonicOrWalletOrSeed: string | Wallet | Uint8Array) {\n    super();\n    this.#mnemonicOrWalletOrSeed = mnemonicOrWalletOrSeed;\n  }\n\n  #getWallet(sync: true): Wallet;\n  #getWallet(sync: false): Wallet | Promise<Wallet>;\n  #getWallet(sync: boolean): Wallet | Promise<Wallet> {\n    const setWalletBySeed = (seed: Uint8Array): Wallet => {\n      const masterKey = deriveKey(seed, ED25519_CURVE);\n      const walletKey = derivePathFromKey(masterKey, [44, 457]);\n      this.#mnemonicOrWalletOrSeed = {\n        secretKey: encode(walletKey.secretKey, Encoding.Bytearray),\n        chainCode: encode(walletKey.chainCode, Encoding.Bytearray),\n      };\n      return this.#mnemonicOrWalletOrSeed;\n    };\n\n    if (ArrayBuffer.isView(this.#mnemonicOrWalletOrSeed)) {\n      if (this.#mnemonicOrWalletOrSeed.length !== 64) {\n        throw new ArgumentError('seed length', 64, this.#mnemonicOrWalletOrSeed.length);\n      }\n      return setWalletBySeed(this.#mnemonicOrWalletOrSeed);\n    }\n    if (typeof this.#mnemonicOrWalletOrSeed === 'object') return this.#mnemonicOrWalletOrSeed;\n    return sync\n      ? setWalletBySeed(mnemonicToSeedSync(this.#mnemonicOrWalletOrSeed))\n      : mnemonicToSeed(this.#mnemonicOrWalletOrSeed).then(setWalletBySeed);\n  }\n\n  /**\n   * Get a wallet to initialize AccountMnemonicFactory instead mnemonic phrase.\n   * In comparison with mnemonic, the wallet can be used to derive aeternity accounts only.\n   */\n  async getWallet(): Promise<Wallet> {\n    return this.#getWallet(false);\n  }\n\n  /**\n   * The same as `getWallet` but synchronous.\n   */\n  getWalletSync(): Wallet {\n    return this.#getWallet(true);\n  }\n\n  #getAccountByWallet(accountIndex: number, wallet: Wallet): AccountMemory {\n    const walletKey = {\n      secretKey: decode(wallet.secretKey),\n      chainCode: decode(wallet.chainCode),\n    };\n    const raw = derivePathFromKey(walletKey, [accountIndex, 0, 0]).secretKey;\n    return new AccountMemory(encode(raw, Encoding.AccountSecretKey));\n  }\n\n  /**\n   * Get an instance of AccountMemory for a given account index.\n   * @param accountIndex - Index of account\n   */\n  async initialize(accountIndex: number): Promise<AccountMemory> {\n    const wallet = await this.getWallet();\n    return this.#getAccountByWallet(accountIndex, wallet);\n  }\n\n  /**\n   * The same as `initialize` but synchronous.\n   */\n  initializeSync(accountIndex: number): AccountMemory {\n    const wallet = this.getWalletSync();\n    return this.#getAccountByWallet(accountIndex, wallet);\n  }\n}\n","import AccountBase from './Base.js';\nimport {\n  ArgumentError,\n  InternalError,\n  InvalidAuthDataError,\n  NotImplementedError,\n} from '../utils/errors.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport { getAccount } from '../chain.js';\nimport Contract from '../contract/Contract.js';\nimport { buildTxAsync, buildTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\n\n/**\n * Generalized account class\n * @category account generalized\n */\nexport default class AccountGeneralized extends AccountBase {\n  override readonly address: Encoded.AccountAddress;\n\n  #authFun?: string;\n\n  /**\n   * @param address - Address of generalized account\n   */\n  constructor(address: Encoded.AccountAddress) {\n    super();\n    decode(address);\n    this.address = address;\n  }\n\n  /**\n   * @deprecated Use `unsafeSign` method instead\n   */\n  // eslint-disable-next-line class-methods-use-this\n  override async sign(): Promise<Uint8Array> {\n    return this.unsafeSign();\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async unsafeSign(): Promise<Uint8Array> {\n    throw new NotImplementedError(\"Can't sign using generalized account\");\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signMessage(): Promise<Uint8Array> {\n    throw new NotImplementedError(\"Can't sign using generalized account\");\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signTypedData(): Promise<Encoded.Signature> {\n    throw new NotImplementedError(\"Can't sign using generalized account\");\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signDelegation(): Promise<Encoded.Signature> {\n    throw new NotImplementedError('signing delegation using generalized account');\n  }\n\n  override async signTransaction(\n    tx: Encoded.Transaction,\n    { authData, onCompiler, onNode }: Parameters<AccountBase['signTransaction']>[1],\n  ): Promise<Encoded.Transaction> {\n    if (authData == null || onCompiler == null || onNode == null) {\n      throw new ArgumentError('authData, onCompiler, onNode', 'provided', null);\n    }\n    const { callData, sourceCode, args, fee, gasLimit, gasPrice } =\n      typeof authData === 'function' ? await authData(tx) : authData;\n\n    const authCallData =\n      callData ??\n      (await (async () => {\n        if (this.#authFun == null) {\n          const account = await getAccount(this.address, { onNode });\n          if (account.kind !== 'generalized') {\n            throw new ArgumentError('account kind', 'generalized', account.kind);\n          }\n          this.#authFun = account.authFun;\n        }\n        if (this.#authFun == null) {\n          throw new InternalError('Account in generalised, but authFun not provided');\n        }\n\n        if (sourceCode == null || args == null) {\n          throw new InvalidAuthDataError('Auth data must contain sourceCode and args or callData.');\n        }\n        const contract = await Contract.initialize({ onCompiler, onNode, sourceCode });\n        return contract._calldata.encode(contract._name, this.#authFun, args);\n      })());\n\n    const gaMetaTx = await buildTxAsync({\n      tag: Tag.GaMetaTx,\n      tx: { tag: Tag.SignedTx, encodedTx: decode(tx), signatures: [] },\n      gaId: this.address,\n      authData: authCallData,\n      fee,\n      gasLimit,\n      gasPrice,\n      onNode,\n    });\n    return buildTx({ tag: Tag.SignedTx, encodedTx: decode(gaMetaTx), signatures: [] });\n  }\n}\n","import type Transport from '@ledgerhq/hw-transport';\nimport AccountBase from './Base.js';\nimport { ArgumentError, NotImplementedError } from '../utils/errors.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport { buildTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\n\nexport const CLA = 0xe0;\nexport const GET_ADDRESS = 0x02;\nexport const SIGN_TRANSACTION = 0x04;\nexport const GET_APP_CONFIGURATION = 0x06;\nexport const SIGN_PERSONAL_MESSAGE = 0x08;\n\n/**\n * Ledger wallet account class\n * @category account\n */\nexport default class AccountLedger extends AccountBase {\n  /**\n   * @param transport - Connection to Ledger to use\n   * @param index - Index of account\n   * @param address - Address of account\n   */\n  constructor(\n    readonly transport: Transport,\n    readonly index: number,\n    override readonly address: Encoded.AccountAddress,\n  ) {\n    super();\n    transport.decorateAppAPIMethods(this, ['signTransaction', 'signMessage'], 'w0w');\n  }\n\n  /**\n   * @deprecated Use `unsafeSign` method instead\n   */\n  // eslint-disable-next-line class-methods-use-this\n  override async sign(): Promise<Uint8Array> {\n    return this.unsafeSign();\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async unsafeSign(): Promise<Uint8Array> {\n    throw new NotImplementedError('RAW signing using Ledger HW');\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signTypedData(): Promise<Encoded.Signature> {\n    throw new NotImplementedError('Typed data signing using Ledger HW');\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signDelegation(): Promise<Encoded.Signature> {\n    throw new NotImplementedError('signing delegation using Ledger HW');\n  }\n\n  override async signTransaction(\n    tx: Encoded.Transaction,\n    { innerTx, networkId }: { innerTx?: boolean; networkId?: string } = {},\n  ): Promise<Encoded.Transaction> {\n    if (innerTx != null) throw new NotImplementedError('innerTx option in AccountLedger');\n    if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n\n    const rawTx = decode(tx);\n    let offset = 0;\n    const headerLength = 4 + 1 + 4;\n    const networkIdBuffer = Buffer.from(networkId);\n    const toSend = [];\n    while (offset !== rawTx.length) {\n      const maxChunkSize = offset === 0 ? 150 - headerLength - networkIdBuffer.length : 150;\n      const chunkSize = offset + maxChunkSize > rawTx.length ? rawTx.length - offset : maxChunkSize;\n      const buffer = Buffer.alloc(\n        offset === 0 ? headerLength + networkIdBuffer.length + chunkSize : chunkSize,\n      );\n      if (offset === 0) {\n        let bufferOffset = buffer.writeUInt32BE(this.index, 0);\n        bufferOffset = buffer.writeUInt32BE(rawTx.length, bufferOffset);\n        bufferOffset = buffer.writeUInt8(networkIdBuffer.length, bufferOffset);\n        bufferOffset += networkIdBuffer.copy(buffer, bufferOffset, 0, networkIdBuffer.length);\n        rawTx.copy(buffer, bufferOffset, 0, 150 - bufferOffset);\n      } else {\n        rawTx.copy(buffer, 0, offset, offset + chunkSize);\n      }\n      toSend.push(buffer);\n      offset += chunkSize;\n    }\n    const response = await toSend.reduce(\n      async (previous, data, i) => {\n        await previous;\n        return this.transport.send(CLA, SIGN_TRANSACTION, i === 0 ? 0x00 : 0x80, 0x00, data);\n      },\n      Promise.resolve(Buffer.alloc(0)),\n    );\n    const signatures = [response.subarray(0, 64)];\n\n    return buildTx({ tag: Tag.SignedTx, encodedTx: rawTx, signatures });\n  }\n\n  override async signMessage(messageStr: string): Promise<Uint8Array> {\n    let offset = 0;\n    const message = Buffer.from(messageStr);\n    const toSend = [];\n    while (offset !== message.length) {\n      const maxChunkSize = offset === 0 ? 150 - 4 - 4 : 150;\n      const chunkSize =\n        offset + maxChunkSize > message.length ? message.length - offset : maxChunkSize;\n      const buffer = Buffer.alloc(offset === 0 ? 4 + 4 + chunkSize : chunkSize);\n      if (offset === 0) {\n        buffer.writeUInt32BE(this.index, 0);\n        buffer.writeUInt32BE(message.length, 4);\n        message.copy(buffer, 4 + 4, offset, offset + chunkSize);\n      } else {\n        message.copy(buffer, 0, offset, offset + chunkSize);\n      }\n      toSend.push(buffer);\n      offset += chunkSize;\n    }\n    const response = await toSend.reduce(\n      async (previous, data, i) => {\n        await previous;\n        return this.transport.send(CLA, SIGN_PERSONAL_MESSAGE, i === 0 ? 0x00 : 0x80, 0x00, data);\n      },\n      Promise.resolve(Buffer.alloc(0)),\n    );\n    return response.subarray(0, 64);\n  }\n}\n","import type Transport from '@ledgerhq/hw-transport';\nimport AccountLedger, { CLA, GET_ADDRESS, GET_APP_CONFIGURATION } from './Ledger.js';\nimport { UnsupportedVersionError } from '../utils/errors.js';\nimport { Encoded } from '../utils/encoder.js';\nimport semverSatisfies from '../utils/semver-satisfies.js';\nimport AccountBaseFactory from './BaseFactory.js';\n\ninterface AppConfiguration {\n  version: string;\n}\n\n/**\n * A factory class that generates instances of AccountLedger based on provided transport.\n * @category account\n */\nexport default class AccountLedgerFactory extends AccountBaseFactory {\n  /**\n   * @param transport - Connection to Ledger to use\n   */\n  constructor(readonly transport: Transport) {\n    super();\n    transport.decorateAppAPIMethods(this, ['getAddress', 'getAppConfiguration'], 'w0w');\n  }\n\n  #ensureReadyPromise?: Promise<void>;\n\n  // TODO: remove after release Ledger app v1.0.0\n  _enableExperimentalLedgerAppSupport = false;\n\n  /**\n   * It throws an exception if Aeternity app on Ledger has an incompatible version, not opened or\n   * not installed.\n   */\n  async ensureReady(): Promise<void> {\n    const { version } = await this.#getAppConfiguration();\n    const oldApp = [version, '0.4.4', '0.5.0'] as const;\n    const newApp = [version, '1.0.0', '2.0.0'] as const;\n    if (\n      !semverSatisfies(...oldApp) &&\n      (!this._enableExperimentalLedgerAppSupport || !semverSatisfies(...newApp))\n    )\n      throw new UnsupportedVersionError('Aeternity app on Ledger', ...oldApp);\n    this.#ensureReadyPromise = Promise.resolve();\n  }\n\n  async #ensureReady(): Promise<void> {\n    this.#ensureReadyPromise ??= this.ensureReady();\n    return this.#ensureReadyPromise;\n  }\n\n  async #getAppConfiguration(): Promise<AppConfiguration> {\n    let response = await this.transport.send(CLA, GET_APP_CONFIGURATION, 0x00, 0x00);\n    if (response.length === 6) response = response.subarray(1);\n    return {\n      version: [response[0], response[1], response[2]].join('.'),\n    };\n  }\n\n  /**\n   * @returns the version of Aeternity app installed on Ledger wallet\n   */\n  async getAppConfiguration(): Promise<AppConfiguration> {\n    return this.#getAppConfiguration();\n  }\n\n  /**\n   * Get `ak_`-prefixed address for a given account index.\n   * @param accountIndex - Index of account\n   * @param verify - Ask user to confirm address by showing it on the device screen\n   */\n  async getAddress(accountIndex: number, verify = false): Promise<Encoded.AccountAddress> {\n    await this.#ensureReady();\n    const buffer = Buffer.alloc(4);\n    buffer.writeUInt32BE(accountIndex, 0);\n    const response = await this.transport.send(\n      CLA,\n      GET_ADDRESS,\n      verify ? 0x01 : 0x00,\n      0x00,\n      buffer,\n    );\n    const addressLength = response[0];\n    return response.subarray(1, 1 + addressLength).toString('ascii') as Encoded.AccountAddress;\n  }\n\n  /**\n   * Get an instance of AccountLedger for a given account index.\n   * @param accountIndex - Index of account\n   */\n  async initialize(accountIndex: number): Promise<AccountLedger> {\n    return new AccountLedger(this.transport, accountIndex, await this.getAddress(accountIndex));\n  }\n}\n","import type { BaseProvider } from '@metamask/providers';\nimport AccountBase from './Base.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { ArgumentError, InternalError, NotImplementedError } from '../utils/errors.js';\n\nexport const snapId = 'npm:@aeternity-snap/plugin';\n\nexport async function invokeSnap<R>(\n  provider: BaseProvider,\n  method: string,\n  params: unknown,\n  key: string,\n): Promise<R> {\n  const response = await provider.request<{ [k in string]: unknown }>({\n    method: 'wallet_invokeSnap',\n    params: { snapId, request: { method, params } },\n  });\n  if (response == null) throw new InternalError('Empty MetaMask response');\n  if (!(key in response)) {\n    throw new InternalError(`Key ${key} missed in response ${JSON.stringify(response)}`);\n  }\n  return response[key] as R;\n}\n\n/**\n * Account connected to Aeternity Snap for MetaMask\n * https://www.npmjs.com/package/\\@aeternity-snap/plugin\n * @category account\n */\nexport default class AccountMetamask extends AccountBase {\n  /**\n   * @deprecated this class is not intended to provide raw access to the provider\n   */\n  readonly provider: BaseProvider;\n\n  readonly index: number;\n\n  override readonly address: Encoded.AccountAddress;\n\n  /**\n   * @param address - Address of account\n   */\n  constructor(provider: BaseProvider, index: number, address: Encoded.AccountAddress) {\n    super();\n    this.provider = provider;\n    this.index = index;\n    this.address = address;\n  }\n\n  /**\n   * @deprecated Use `unsafeSign` method instead\n   */\n  // eslint-disable-next-line class-methods-use-this\n  override async sign(): Promise<Uint8Array> {\n    return this.unsafeSign();\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async unsafeSign(): Promise<Uint8Array> {\n    throw new NotImplementedError('RAW signing using MetaMask');\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signTypedData(): Promise<Encoded.Signature> {\n    throw new NotImplementedError('Typed data signing using MetaMask');\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signDelegation(): Promise<Encoded.Signature> {\n    throw new NotImplementedError('signing delegation using MetaMask');\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signTransaction(\n    tx: Encoded.Transaction,\n    { innerTx, networkId }: { innerTx?: boolean; networkId?: string } = {},\n  ): Promise<Encoded.Transaction> {\n    if (innerTx != null) throw new NotImplementedError('innerTx option in AccountMetamask');\n    if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n\n    return invokeSnap<Encoded.Transaction>(\n      this.provider,\n      'signTransaction',\n      { derivationPath: [`${this.index}'`, \"0'\", \"0'\"], tx, networkId },\n      'signedTx',\n    );\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signMessage(message: string): Promise<Uint8Array> {\n    const signature = await invokeSnap<string>(\n      this.provider,\n      'signMessage',\n      {\n        derivationPath: [`${this.index}'`, \"0'\", \"0'\"],\n        message: Buffer.from(message).toString('base64'),\n      },\n      'signature',\n    );\n    return Buffer.from(signature, 'base64');\n  }\n}\n","import type { BaseProvider } from '@metamask/providers';\nimport {\n  InternalError,\n  UnsupportedPlatformError,\n  UnsupportedVersionError,\n} from '../utils/errors.js';\nimport { Encoded } from '../utils/encoder.js';\nimport semverSatisfies from '../utils/semver-satisfies.js';\nimport AccountBaseFactory from './BaseFactory.js';\nimport AccountMetamask, { invokeSnap, snapId } from './Metamask.js';\n\nconst snapMinVersion = '0.0.9';\nconst snapMaxVersion = '0.1.0';\nconst metamaskVersionPrefix = 'MetaMask/v';\n\ninterface SnapDetails {\n  blocked: boolean;\n  enabled: boolean;\n  id: typeof snapId;\n  version: string;\n  initialPermissions: Record<string, unknown>;\n}\n\n/**\n * A factory class that generates instances of AccountMetamask.\n * @see {@link https://www.npmjs.com/package/@aeternity-snap/plugin | Aeternity snap}\n * @category account\n */\nexport default class AccountMetamaskFactory extends AccountBaseFactory {\n  // TODO: remove after removing `provider`\n  #provider: BaseProvider | undefined;\n\n  /**\n   * @deprecated this class is not intended to provide raw access to the provider\n   */\n  get provider(): BaseProvider {\n    if (this.#provider == null) throw new UnsupportedPlatformError('Metamask is not detected yet');\n    return this.#provider;\n  }\n\n  async #getMetamaskAsInjected(): Promise<BaseProvider | undefined> {\n    if (!('ethereum' in window) || window.ethereum == null) return;\n    const provider = window.ethereum as BaseProvider;\n    const version = await provider.request<string>({ method: 'web3_clientVersion' });\n    if (version == null) throw new InternalError(\"Can't get Ethereum Provider version\");\n    if (!version.startsWith(metamaskVersionPrefix)) return;\n    return provider;\n  }\n\n  async #getMetamaskOverEip6963(): Promise<BaseProvider | undefined> {\n    setTimeout(() => window.dispatchEvent(new Event('eip6963:requestProvider')));\n    return new Promise<BaseProvider | undefined>((resolve) => {\n      const handler = (\n        event: CustomEvent<{ info: { rdns: string }; provider: BaseProvider }>,\n      ): void => {\n        if (event.detail.info.rdns !== 'io.metamask') return;\n        window.removeEventListener('eip6963:announceProvider', handler);\n        resolve(event.detail.provider);\n      };\n      window.addEventListener('eip6963:announceProvider', handler);\n      setTimeout(() => {\n        window.removeEventListener('eip6963:announceProvider', handler);\n        resolve(undefined);\n      }, 500);\n    });\n  }\n\n  #providerPromise: Promise<BaseProvider> | undefined;\n\n  async #getProvider(): Promise<BaseProvider> {\n    this.#providerPromise ??= (async () => {\n      this.#provider ??=\n        (await this.#getMetamaskAsInjected()) ?? (await this.#getMetamaskOverEip6963());\n      if (this.#provider == null) {\n        throw new UnsupportedPlatformError(\n          \"Can't find a Metamask extension as an injected provider and over EIP-6963. Ensure that Metamask is installed or setup a provider.\",\n        );\n      }\n      const version = await this.#provider.request<string>({ method: 'web3_clientVersion' });\n      if (version == null) throw new InternalError(\"Can't get Ethereum Provider version\");\n      const args = [version.slice(metamaskVersionPrefix.length), '12.2.4'] as const;\n      if (!semverSatisfies(...args)) throw new UnsupportedVersionError('Metamask', ...args);\n      return this.#provider;\n    })();\n    return this.#providerPromise;\n  }\n\n  /**\n   * @param provider - Connection to MetaMask to use\n   */\n  constructor(provider?: BaseProvider) {\n    super();\n    this.#provider = provider;\n    if (this.#provider == null && window == null) {\n      throw new UnsupportedPlatformError(\n        'Window object not found, you can run AccountMetamaskFactory only in browser or setup a provider',\n      );\n    }\n  }\n\n  /**\n   * Request MetaMask to install Aeternity snap.\n   * @deprecated use `requestSnap` instead\n   */\n  async installSnap(): Promise<SnapDetails> {\n    const provider = await this.#getProvider();\n    const details = (await provider.request({\n      method: 'wallet_requestSnaps',\n      params: { [snapId]: { version: snapMinVersion } },\n    })) as { [key in typeof snapId]: SnapDetails };\n    return details[snapId];\n  }\n\n  /**\n   * Request MetaMask to install Aeternity snap or connect it to the current aepp.\n   * MetaMask can have only one Aeternity snap version installed at a time.\n   * This method is intended to upgrade the snap to a specified version if needed by the aepp.\n   * If Aeternity snap is installed but wasn't used by the aepp, then the user still needs to approve the connection.\n   * If the currently installed version corresponds to the version range, then the snap won't be upgraded.\n   * To downgrade the snap, the user must manually uninstall the current version.\n   * @param version - Snap version range (e.g. `1`, `0.1.*`, `^0.0.9`, `~0.0.9`; `>=0.0.9 <0.1.0`)\n   * (default: a version range supported by sdk)\n   */\n  async requestSnap(version = `>=${snapMinVersion} <${snapMaxVersion}`): Promise<SnapDetails> {\n    const provider = await this.#getProvider();\n    const details = (await provider.request({\n      method: 'wallet_requestSnaps',\n      params: { [snapId]: { version } },\n    })) as { [key in typeof snapId]: SnapDetails };\n    return details[snapId];\n  }\n\n  /**\n   * It throws an exception if MetaMask or Aeternity snap has an incompatible version or is not\n   * installed or is not connected to the aepp.\n   * @deprecated use `requestSnap` instead\n   */\n  async ensureReady(): Promise<void> {\n    const snapVersion = await this.getSnapVersion();\n    const args = [snapVersion, snapMinVersion, snapMaxVersion] as const;\n    if (!semverSatisfies(...args))\n      throw new UnsupportedVersionError('Aeternity snap in MetaMask', ...args);\n  }\n\n  /**\n   * @returns the version of snap installed in MetaMask\n   */\n  async getSnapVersion(): Promise<string> {\n    const provider = await this.#getProvider();\n    const snaps = (await provider.request({ method: 'wallet_getSnaps' })) as Record<\n      string,\n      { version: string }\n    >;\n    const version = snaps[snapId]?.version;\n    if (version == null)\n      throw new UnsupportedPlatformError(\n        'Aeternity snap is not installed to MetaMask or not connected to this aepp',\n      );\n    return version;\n  }\n\n  /**\n   * Get an instance of AccountMetaMask for a given account index.\n   * @param accountIndex - Index of account\n   */\n  async initialize(accountIndex: number): Promise<AccountMetamask> {\n    await this.requestSnap();\n    const provider = await this.#getProvider();\n    const address = await invokeSnap<Encoded.AccountAddress>(\n      provider,\n      'getPublicKey',\n      { derivationPath: [`${accountIndex}'`, \"0'\", \"0'\"] },\n      'publicKey',\n    );\n    return new AccountMetamask(provider, accountIndex, address);\n  }\n}\n","import { Encoded } from '../../utils/encoder.js';\n\ninterface FunctionAci {\n  arguments: any[];\n  name: string;\n  payable: boolean;\n  returns: any;\n  stateful: boolean;\n}\n\nexport type Aci = Array<{\n  contract?: {\n    name: string;\n    event?: any;\n    functions: FunctionAci[];\n    kind: string; // known values: 'contract_main'\n    payable: boolean;\n    typedefs: any[];\n  };\n}>;\n\nexport type CompileResult = Promise<{\n  bytecode: Encoded.ContractBytearray;\n  aci: Aci;\n  warnings: Array<{\n    message: string;\n    pos: {\n      file?: string;\n      line: number;\n      col: number;\n    };\n  }>;\n}>;\n\n/**\n * A base class for all compiler implementations\n * @category contract\n */\nexport default abstract class CompilerBase {\n  /**\n   * Compile contract by contract's path\n   * Available only in Node.js\n   * @param path - Path to contract source code\n   * @returns ACI and bytecode\n   */\n  abstract compile(path: string): CompileResult;\n\n  /**\n   * Compile contract by contract's source code\n   * @param sourceCode - Contract source code as string\n   * @param fileSystem - A map of contract filename to the corresponding contract source code to\n   * include into the main contract\n   * @example\n   * ```js\n   * {\n   *   'library.aes': 'namespace TestLib =\\n  function sum(x: int, y: int) : int = x + y'\n   * }\n   * ```\n   * @returns ACI and bytecode\n   */\n  abstract compileBySourceCode(\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): CompileResult;\n\n  /**\n   * Generate contract's ACI by contract's path\n   * Available only in Node.js\n   * @param path - Path to contract source code\n   * @returns ACI\n   */\n  abstract generateAci(path: string): Promise<Aci>;\n\n  /**\n   * Generate contract's ACI by contract's source code\n   * @param sourceCode - Contract source code as string\n   * @param fileSystem - A map of contract filename to the corresponding contract source code to\n   * include into the main contract\n   * @example\n   * ```js\n   * {\n   *   'library.aes': 'namespace TestLib =\\n  function sum(x: int, y: int) : int = x + y'\n   * }\n   * ```\n   * @returns ACI\n   */\n  abstract generateAciBySourceCode(\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): Promise<Aci>;\n\n  /**\n   * Verify that a contract bytecode is the result of compiling the given source code\n   * Available only in Node.js\n   * @param bytecode - Contract bytecode to verify\n   * @param path - Path to contract source code\n   * @returns ACI and bytecode\n   */\n  abstract validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;\n\n  /**\n   * Verify that a contract bytecode is the result of compiling the given source code\n   * @param bytecode - Contract bytecode to verify\n   * @param sourceCode - Contract source code as string\n   * @param fileSystem - A map of contract filename to the corresponding contract source code to\n   * include into the main contract\n   * @example\n   * ```js\n   * {\n   *   'library.aes': 'namespace TestLib =\\n  function sum(x: int, y: int) : int = x + y'\n   * }\n   * ```\n   */\n  abstract validateBySourceCode(\n    bytecode: Encoded.ContractBytearray,\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): Promise<boolean>;\n\n  /**\n   * @returns Compiler version\n   */\n  abstract version(): Promise<string>;\n}\n","import * as coreClient from \"@azure/core-client\";\n\nexport const Contract: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Contract\",\n    modelProperties: {\n      code: {\n        serializedName: \"code\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      options: {\n        serializedName: \"options\",\n        type: {\n          name: \"Composite\",\n          className: \"CompileOpts\",\n        },\n      },\n    },\n  },\n};\n\nexport const CompileOpts: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CompileOpts\",\n    modelProperties: {\n      fileSystem: {\n        serializedName: \"file_system\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      srcFile: {\n        serializedName: \"src_file\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const CompilerError: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CompilerError\",\n    modelProperties: {\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      pos: {\n        serializedName: \"pos\",\n        type: {\n          name: \"Composite\",\n          className: \"ErrorPos\",\n        },\n      },\n      message: {\n        serializedName: \"message\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      context: {\n        serializedName: \"context\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ErrorPos: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ErrorPos\",\n    modelProperties: {\n      file: {\n        serializedName: \"file\",\n        type: {\n          name: \"String\",\n        },\n      },\n      line: {\n        serializedName: \"line\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      col: {\n        serializedName: \"col\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const CompileResult: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CompileResult\",\n    modelProperties: {\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      aci: {\n        serializedName: \"aci\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Dictionary\",\n              value: { type: { name: \"any\" } },\n            },\n          },\n        },\n      },\n      warnings: {\n        serializedName: \"warnings\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"CompilerError\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const SophiaCallResultInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SophiaCallResultInput\",\n    modelProperties: {\n      source: {\n        serializedName: \"source\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      options: {\n        serializedName: \"options\",\n        type: {\n          name: \"Composite\",\n          className: \"CompileOpts\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callResult: {\n        serializedName: \"call-result\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callValue: {\n        serializedName: \"call-value\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BytecodeCallResultInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"BytecodeCallResultInput\",\n    modelProperties: {\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callResult: {\n        serializedName: \"call-result\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callValue: {\n        serializedName: \"call-value\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const DecodedCallresult: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DecodedCallresult\",\n    modelProperties: {\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      result: {\n        serializedName: \"result\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n    },\n  },\n};\n\nexport const FunctionCallInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"FunctionCallInput\",\n    modelProperties: {\n      source: {\n        serializedName: \"source\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      options: {\n        serializedName: \"options\",\n        type: {\n          name: \"Composite\",\n          className: \"CompileOpts\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      arguments: {\n        serializedName: \"arguments\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const Calldata: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Calldata\",\n    modelProperties: {\n      calldata: {\n        serializedName: \"calldata\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const DecodeCalldataBytecode: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DecodeCalldataBytecode\",\n    modelProperties: {\n      calldata: {\n        serializedName: \"calldata\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const DecodedCalldata: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DecodedCalldata\",\n    modelProperties: {\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      arguments: {\n        serializedName: \"arguments\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Dictionary\",\n              value: { type: { name: \"any\" } },\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const ErrorModel: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ErrorModel\",\n    modelProperties: {\n      reason: {\n        serializedName: \"reason\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const DecodeCalldataSource: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DecodeCalldataSource\",\n    modelProperties: {\n      source: {\n        serializedName: \"source\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      options: {\n        serializedName: \"options\",\n        type: {\n          name: \"Composite\",\n          className: \"CompileOpts\",\n        },\n      },\n      calldata: {\n        serializedName: \"calldata\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ByteCodeInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ByteCodeInput\",\n    modelProperties: {\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const FateAssembler: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"FateAssembler\",\n    modelProperties: {\n      fateAssembler: {\n        serializedName: \"fate-assembler\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ValidateByteCodeInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ValidateByteCodeInput\",\n    modelProperties: {\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      source: {\n        serializedName: \"source\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      options: {\n        serializedName: \"options\",\n        type: {\n          name: \"Composite\",\n          className: \"CompileOpts\",\n        },\n      },\n    },\n  },\n};\n\nexport const CompilerVersion: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CompilerVersion\",\n    modelProperties: {\n      version: {\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ApiVersion: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ApiVersion\",\n    modelProperties: {\n      apiVersion: {\n        serializedName: \"api-version\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const SophiaBinaryData: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SophiaBinaryData\",\n    modelProperties: {\n      sophiaType: {\n        serializedName: \"sophia-type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      data: {\n        serializedName: \"data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const SophiaJsonData: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SophiaJsonData\",\n    modelProperties: {\n      data: {\n        serializedName: \"data\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n    },\n  },\n};\n","import { OperationParameter, OperationURLParameter } from \"@azure/core-client\";\nimport {\n  Contract as ContractMapper,\n  SophiaCallResultInput as SophiaCallResultInputMapper,\n  BytecodeCallResultInput as BytecodeCallResultInputMapper,\n  FunctionCallInput as FunctionCallInputMapper,\n  DecodeCalldataBytecode as DecodeCalldataBytecodeMapper,\n  DecodeCalldataSource as DecodeCalldataSourceMapper,\n  ByteCodeInput as ByteCodeInputMapper,\n  ValidateByteCodeInput as ValidateByteCodeInputMapper,\n} from \"../models/mappers.js\";\n\nexport const contentType: OperationParameter = {\n  parameterPath: [\"options\", \"contentType\"],\n  mapper: {\n    defaultValue: \"application/json\",\n    isConstant: true,\n    serializedName: \"Content-Type\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const body: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: ContractMapper,\n};\n\nexport const accept: OperationParameter = {\n  parameterPath: \"accept\",\n  mapper: {\n    defaultValue: \"application/json\",\n    isConstant: true,\n    serializedName: \"Accept\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const $host: OperationURLParameter = {\n  parameterPath: \"$host\",\n  mapper: {\n    serializedName: \"$host\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n  skipEncoding: true,\n};\n\nexport const body1: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: SophiaCallResultInputMapper,\n};\n\nexport const body2: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: BytecodeCallResultInputMapper,\n};\n\nexport const body3: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: FunctionCallInputMapper,\n};\n\nexport const body4: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: DecodeCalldataBytecodeMapper,\n};\n\nexport const body5: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: DecodeCalldataSourceMapper,\n};\n\nexport const body6: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: ByteCodeInputMapper,\n};\n\nexport const body7: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: ValidateByteCodeInputMapper,\n};\n","import * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n  CompilerOptionalParams,\n  Contract,\n  GenerateACIOptionalParams,\n  GenerateACIResponse,\n  CompileContractOptionalParams,\n  CompileContractResponse,\n  SophiaCallResultInput,\n  DecodeCallResultOptionalParams,\n  DecodeCallResultResponse,\n  BytecodeCallResultInput,\n  DecodeCallResultBytecodeOptionalParams,\n  DecodeCallResultBytecodeResponse,\n  FunctionCallInput,\n  EncodeCalldataOptionalParams,\n  EncodeCalldataResponse,\n  DecodeCalldataBytecode,\n  DecodeCalldataBytecodeOptionalParams,\n  DecodeCalldataBytecodeResponse,\n  DecodeCalldataSource,\n  DecodeCalldataSourceOptionalParams,\n  DecodeCalldataSourceResponse,\n  ByteCodeInput,\n  GetFateAssemblerCodeOptionalParams,\n  GetFateAssemblerCodeResponse,\n  ValidateByteCodeInput,\n  ValidateByteCodeOptionalParams,\n  GetCompilerVersionOptionalParams,\n  GetCompilerVersionResponse,\n  VersionOptionalParams,\n  VersionResponse,\n  ApiVersionOptionalParams,\n  ApiVersionResponse,\n  ApiOptionalParams,\n  ApiResponse,\n} from \"./models/index.js\";\n\nexport class Compiler extends coreClient.ServiceClient {\n  readonly $host: string;\n\n  /**\n   * Initializes a new instance of the Compiler class.\n   * @param $host server parameter\n   * @param options The parameter options\n   */\n  constructor($host: string, options?: CompilerOptionalParams) {\n    if ($host === undefined) {\n      throw new Error(\"'$host' cannot be null\");\n    }\n\n    // Initializing default values for options\n    if (!options) {\n      options = {};\n    }\n    const defaults: CompilerOptionalParams = {\n      requestContentType: \"application/json; charset=utf-8\",\n    };\n\n    const packageDetails = `azsdk-js-compiler/1.0.0-beta.1`;\n    const userAgentPrefix =\n      options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n        ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n        : `${packageDetails}`;\n\n    const optionsWithDefaults = {\n      ...defaults,\n      ...options,\n      userAgentOptions: {\n        userAgentPrefix,\n      },\n      endpoint: options.endpoint ?? options.baseUri ?? \"{$host}\",\n    };\n    super(optionsWithDefaults);\n    // Parameter assignments\n    this.$host = $host;\n  }\n\n  /**\n   * Generate an Aeternity Contract Interface (ACI) for contract\n   * @param body contract code\n   * @param options The options parameters.\n   */\n  generateACI(\n    body: Contract,\n    options?: GenerateACIOptionalParams,\n  ): Promise<GenerateACIResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      generateACIOperationSpec,\n    );\n  }\n\n  /**\n   * Compile a sophia contract from source and return byte code and ACI\n   * @param body contract code\n   * @param options The options parameters.\n   */\n  compileContract(\n    body: Contract,\n    options?: CompileContractOptionalParams,\n  ): Promise<CompileContractResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      compileContractOperationSpec,\n    );\n  }\n\n  /**\n   * Decode the result of contract call\n   * @param body Binary data in Sophia ABI format\n   * @param options The options parameters.\n   */\n  decodeCallResult(\n    body: SophiaCallResultInput,\n    options?: DecodeCallResultOptionalParams,\n  ): Promise<DecodeCallResultResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      decodeCallResultOperationSpec,\n    );\n  }\n\n  /**\n   * Decode the result of contract call from Bytecode\n   * @param body Call result + compiled contract\n   * @param options The options parameters.\n   */\n  decodeCallResultBytecode(\n    body: BytecodeCallResultInput,\n    options?: DecodeCallResultBytecodeOptionalParams,\n  ): Promise<DecodeCallResultBytecodeResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      decodeCallResultBytecodeOperationSpec,\n    );\n  }\n\n  /**\n   * Encode Sophia function call according to sophia ABI.\n   * @param body Sophia function call - contract code + function name + arguments\n   * @param options The options parameters.\n   */\n  encodeCalldata(\n    body: FunctionCallInput,\n    options?: EncodeCalldataOptionalParams,\n  ): Promise<EncodeCalldataResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      encodeCalldataOperationSpec,\n    );\n  }\n\n  /**\n   * Identify function name and arguments in Calldata for a compiled contract\n   * @param body Calldata + compiled contract\n   * @param options The options parameters.\n   */\n  decodeCalldataBytecode(\n    body: DecodeCalldataBytecode,\n    options?: DecodeCalldataBytecodeOptionalParams,\n  ): Promise<DecodeCalldataBytecodeResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      decodeCalldataBytecodeOperationSpec,\n    );\n  }\n\n  /**\n   * Identify function name and arguments in Calldata for a (partial) contract\n   * @param body Calldata + contract (stub) code\n   * @param options The options parameters.\n   */\n  decodeCalldataSource(\n    body: DecodeCalldataSource,\n    options?: DecodeCalldataSourceOptionalParams,\n  ): Promise<DecodeCalldataSourceResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      decodeCalldataSourceOperationSpec,\n    );\n  }\n\n  /**\n   * Get FATE assembler code from bytecode\n   * @param body contract byte array\n   * @param options The options parameters.\n   */\n  getFateAssemblerCode(\n    body: ByteCodeInput,\n    options?: GetFateAssemblerCodeOptionalParams,\n  ): Promise<GetFateAssemblerCodeResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      getFateAssemblerCodeOperationSpec,\n    );\n  }\n\n  /**\n   * Verify that an encoded byte array is the result of compiling a given contract\n   * @param body contract byte array and source code\n   * @param options The options parameters.\n   */\n  validateByteCode(\n    body: ValidateByteCodeInput,\n    options?: ValidateByteCodeOptionalParams,\n  ): Promise<void> {\n    return this.sendOperationRequest(\n      { body, options },\n      validateByteCodeOperationSpec,\n    );\n  }\n\n  /**\n   * Extract compiler version from bytecode\n   * @param body contract byte array\n   * @param options The options parameters.\n   */\n  getCompilerVersion(\n    body: ByteCodeInput,\n    options?: GetCompilerVersionOptionalParams,\n  ): Promise<GetCompilerVersionResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      getCompilerVersionOperationSpec,\n    );\n  }\n\n  /**\n   * Get the version of the underlying Sophia compiler version\n   * @param options The options parameters.\n   */\n  version(options?: VersionOptionalParams): Promise<VersionResponse> {\n    return this.sendOperationRequest({ options }, versionOperationSpec);\n  }\n\n  /**\n   * Get the version of the API\n   * @param options The options parameters.\n   */\n  apiVersion(options?: ApiVersionOptionalParams): Promise<ApiVersionResponse> {\n    return this.sendOperationRequest({ options }, apiVersionOperationSpec);\n  }\n\n  /**\n   * Get the Api description\n   * @param options The options parameters.\n   */\n  api(options?: ApiOptionalParams): Promise<ApiResponse> {\n    return this.sendOperationRequest({ options }, apiOperationSpec);\n  }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst generateACIOperationSpec: coreClient.OperationSpec = {\n  path: \"/aci\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: { name: \"Dictionary\", value: { type: { name: \"any\" } } },\n          },\n        },\n      },\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst compileContractOperationSpec: coreClient.OperationSpec = {\n  path: \"/compile\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.CompileResult,\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst decodeCallResultOperationSpec: coreClient.OperationSpec = {\n  path: \"/decode-call-result\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: { type: { name: \"any\" } },\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body1,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst decodeCallResultBytecodeOperationSpec: coreClient.OperationSpec = {\n  path: \"/decode-call-result/bytecode\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.DecodedCallresult,\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body2,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst encodeCalldataOperationSpec: coreClient.OperationSpec = {\n  path: \"/encode-calldata\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Calldata,\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body3,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst decodeCalldataBytecodeOperationSpec: coreClient.OperationSpec = {\n  path: \"/decode-calldata/bytecode\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.DecodedCalldata,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body4,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst decodeCalldataSourceOperationSpec: coreClient.OperationSpec = {\n  path: \"/decode-calldata/source\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.DecodedCalldata,\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body5,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst getFateAssemblerCodeOperationSpec: coreClient.OperationSpec = {\n  path: \"/fate-assembler\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.FateAssembler,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body6,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst validateByteCodeOperationSpec: coreClient.OperationSpec = {\n  path: \"/validate-byte-code\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {},\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body7,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst getCompilerVersionOperationSpec: coreClient.OperationSpec = {\n  path: \"/compiler-version\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.CompilerVersion,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body6,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst versionOperationSpec: coreClient.OperationSpec = {\n  path: \"/version\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.CompilerVersion,\n    },\n    500: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst apiVersionOperationSpec: coreClient.OperationSpec = {\n  path: \"/api-version\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.ApiVersion,\n    },\n    500: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst apiOperationSpec: coreClient.OperationSpec = {\n  path: \"/api\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: {\n        type: { name: \"Dictionary\", value: { type: { name: \"any\" } } },\n      },\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\n","import {\n  RestError,\n  userAgentPolicyName,\n  setClientRequestIdPolicyName,\n} from '@azure/core-rest-pipeline';\nimport { OperationOptions } from '@azure/core-client';\nimport {\n  Compiler as CompilerApi,\n  ErrorModel,\n  CompilerError as CompilerErrorApi,\n} from '../../apis/compiler/index.js';\nimport { genErrorFormatterPolicy, genVersionCheckPolicy } from '../../utils/autorest.js';\nimport CompilerBase, { Aci, CompileResult } from './Base.js';\nimport { Encoded } from '../../utils/encoder.js';\nimport { CompilerError, NotImplementedError } from '../../utils/errors.js';\n\ntype GeneralCompilerError = ErrorModel & {\n  info?: object;\n  parameter?: string;\n};\n\n/**\n * Contract Compiler over HTTP\n *\n * This class include api call's related to contract compiler functionality.\n * @category contract\n * @example CompilerHttp('COMPILER_URL')\n */\nexport default class CompilerHttp extends CompilerBase {\n  readonly api: CompilerApi;\n\n  /**\n   * @param compilerUrl - Url for compiler API\n   * @param options - Options\n   * @param options.ignoreVersion - Print warning instead of throwing exception if compiler version\n   * is not supported, use with caution\n   */\n  constructor(compilerUrl: string, { ignoreVersion = false }: { ignoreVersion?: boolean } = {}) {\n    super();\n\n    let version: string | undefined;\n    const getVersion = async (opts: OperationOptions): Promise<string> => {\n      if (version != null) return version;\n      version = (await this.api.apiVersion(opts)).apiVersion;\n      return version;\n    };\n\n    this.api = new CompilerApi(compilerUrl, {\n      allowInsecureConnection: true,\n      additionalPolicies: [\n        genVersionCheckPolicy('compiler', getVersion, '8.0.0', '9.0.0', ignoreVersion),\n        genErrorFormatterPolicy((body: GeneralCompilerError | CompilerErrorApi[]) => {\n          let message = '';\n          if ('reason' in body) {\n            message += ` ${body.reason}${\n              body.parameter != null ? ` in ${body.parameter}` : ''\n              // TODO: revising after improving documentation https://github.com/aeternity/aesophia_http/issues/78\n            }${body.info != null ? ` (${JSON.stringify(body.info)})` : ''}`;\n          }\n          if (Array.isArray(body)) {\n            message += `\\n${body\n              .map(\n                (e) =>\n                  `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? ` (${e.context})` : ''}`,\n              )\n              .join('\\n')}`;\n          }\n          return message;\n        }),\n      ],\n    });\n    this.api.pipeline.removePolicy({ name: userAgentPolicyName });\n    this.api.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n  }\n\n  async compileBySourceCode(\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): CompileResult {\n    try {\n      const cmpOut = await this.api.compileContract({ code: sourceCode, options: { fileSystem } });\n      const warnings = cmpOut.warnings.map(({ type, ...warning }) => warning);\n      const res = { ...cmpOut, warnings };\n      // TODO: should be fixed when the compiledAci interface gets updated\n      return res as Awaited<CompileResult>;\n    } catch (error) {\n      if (error instanceof RestError && error.statusCode === 400) {\n        throw new CompilerError(error.message);\n      }\n      throw error;\n    }\n  }\n\n  // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n  async compile(path: string): CompileResult {\n    throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n  }\n\n  async generateAciBySourceCode(\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): Promise<Aci> {\n    try {\n      return await this.api.generateACI({ code: sourceCode, options: { fileSystem } });\n    } catch (error) {\n      if (error instanceof RestError && error.statusCode === 400) {\n        throw new CompilerError(error.message);\n      }\n      throw error;\n    }\n  }\n\n  // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n  async generateAci(path: string): Promise<Aci> {\n    throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n  }\n\n  async validateBySourceCode(\n    bytecode: Encoded.ContractBytearray,\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): Promise<boolean> {\n    try {\n      await this.api.validateByteCode({ bytecode, source: sourceCode, options: { fileSystem } });\n      return true;\n    } catch {\n      return false;\n    }\n  }\n\n  // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n  async validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean> {\n    throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n  }\n\n  async version(): Promise<string> {\n    return (await this.api.version()).version;\n  }\n}\n","/**\n * Convert string from snake_case to PascalCase\n * @param s - String to convert\n * @returns Converted string\n */\nexport function snakeToPascal(s: string): string {\n  return s.replace(/_./g, (match) => match[1].toUpperCase());\n}\n\n/**\n * Convert string from PascalCase to snake_case\n * @param s - String to convert\n * @returns Converted string\n */\nexport function pascalToSnake(s: string): string {\n  return s.replace(/[A-Z]/g, (match) => `_${match.toLowerCase()}`);\n}\n","import { default as websocket, ICloseEvent } from 'websocket';\nimport BigNumber from 'bignumber.js';\nimport type Channel from './Base.js';\nimport JsonBig from '../utils/json-big.js';\nimport { pascalToSnake } from '../utils/string.js';\nimport { Encoded } from '../utils/encoder.js';\nimport {\n  BaseError,\n  ChannelCallError,\n  ChannelPingTimedOutError,\n  UnexpectedTsError,\n  UnknownChannelStateError,\n  ChannelIncomingMessageError,\n  ChannelError,\n} from '../utils/errors.js';\nimport { buildContractId } from '../tx/builder/helpers.js';\nimport { ensureError } from '../utils/other.js';\n\nconst { w3cwebsocket: W3CWebSocket } = websocket;\n\nexport interface ChannelEvents {\n  statusChanged: (status: ChannelStatus) => void;\n  stateChanged: (tx: Encoded.Transaction | '') => void;\n  depositLocked: () => void;\n  ownDepositLocked: () => void;\n  withdrawLocked: () => void;\n  ownWithdrawLocked: () => void;\n  peerDisconnected: () => void;\n  channelReestablished: () => void;\n  error: (error: Error) => void;\n  onChainTx: (tx: Encoded.Transaction, details: { info: string; type: string }) => void;\n  message: (message: string | Object) => void;\n  newContract: (contractAddress: Encoded.ContractAddress) => void;\n}\n\nexport interface ChannelAction {\n  guard: (channel: Channel, state?: ChannelFsm) => boolean;\n  action: (channel: Channel, state?: ChannelFsm) => ChannelFsm;\n}\n\ninterface SignOptions {\n  updates?: any[];\n  [k: string]: any;\n}\nexport type SignTxWithTag = (\n  tag: string,\n  tx: Encoded.Transaction,\n  options?: SignOptions,\n) => Promise<Encoded.Transaction>;\n// TODO: SignTx shouldn't return number or null\nexport type SignTx = (\n  tx: Encoded.Transaction,\n  options?: SignOptions,\n) => Promise<Encoded.Transaction | number | null>;\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/6734de2e4c7cce7e5e626caa8305fb535785131d/node/api/channels_api_usage.md#channel-establishing-parameters}\n */\ninterface CommonChannelOptions {\n  /**\n   * Channel url (for example: \"ws://localhost:3001\")\n   */\n  url: string;\n\n  /**\n   * Initiator's public key\n   */\n  initiatorId: Encoded.AccountAddress;\n  /**\n   * Responder's public key\n   */\n  responderId: Encoded.AccountAddress;\n  /**\n   * Amount of blocks for disputing a solo close\n   */\n  lockPeriod: number;\n  /**\n   * Initial deposit in favour of the responder by the initiator\n   */\n  pushAmount: BigNumber | number;\n  /**\n   * Amount of coins the initiator has committed to the channel\n   */\n  initiatorAmount: BigNumber | number;\n  /**\n   * Amount of coins the responder has committed to the channel\n   */\n  responderAmount: BigNumber | number;\n  /**\n   * The minimum amount both peers need to maintain\n   */\n  channelReserve?: BigNumber | number;\n  /**\n   * Minimum block height to include the channel_create_tx\n   */\n  ttl?: number;\n  /**\n   * The port of the responder's node\n   */\n  port: number;\n  /**\n   * How to calculate minimum depth (default: txfee)\n   */\n  minimumDepthStrategy?: 'txfee' | 'plain';\n  /**\n   * The minimum amount of blocks to be mined\n   */\n  minimumDepth?: number;\n  /**\n   * The fee to be used for the channel open transaction\n   */\n  fee?: BigNumber | number;\n  /**\n   * Used for the fee computation of the channel open transaction\n   */\n  gasPrice?: BigNumber | number;\n\n  signedTx?: Encoded.Transaction;\n  /**\n   * Existing channel id (required if reestablishing a channel)\n   */\n  existingChannelId?: Encoded.Channel;\n  /**\n   * Existing FSM id (required if reestablishing a channel)\n   */\n  existingFsmId?: Encoded.Bytearray;\n  /**\n   * Needs to be provided if reconnecting with calling `leave` before\n   */\n  // TODO: remove after solving https://github.com/aeternity/aeternity/issues/4399\n  reestablish?: boolean;\n  /**\n   * The time waiting for a new event to be initiated (default: 600000)\n   */\n  timeoutIdle?: number;\n  /**\n   * The time waiting for the initiator to produce the create channel transaction after the noise\n   * session had been established (default: 120000)\n   */\n  timeoutFundingCreate?: number;\n  /**\n   * The time frame the other client has to sign an off-chain update after our client had initiated\n   * and signed it. This applies only for double signed on-chain intended updates: channel create\n   * transaction, deposit, withdrawal and etc. (default: 120000)\n   */\n  timeoutFundingSign?: number;\n  /**\n   * The time frame the other client has to confirm an on-chain transaction reaching maturity\n   * (passing minimum depth) after the local node has detected this. This applies only for double\n   * signed on-chain intended updates: channel create transaction, deposit, withdrawal and etc.\n   * (default: 360000)\n   */\n  timeoutFundingLock?: number;\n  /**\n   * The time frame the client has to return a signed off-chain update or to decline it.\n   * This applies for all off-chain updates (default: 500000)\n   */\n  timeoutSign?: number;\n  /**\n   * The time frame the other client has to react to an event. This applies for all off-chain\n   * updates that are not meant to land on-chain, as well as some special cases: opening a noise\n   * connection, mutual closing acknowledgement and reestablishing an existing channel\n   * (default: 120000)\n   */\n  timeoutAccept?: number;\n  /**\n   * the time frame the responder has to accept an incoming noise session.\n   * Applicable only for initiator (default: timeout_accept's value)\n   */\n  timeoutInitialized?: number;\n  /**\n   * The time frame the initiator has to start an outgoing noise session to the responder's node.\n   * Applicable only for responder (default: timeout_idle's value)\n   */\n  timeoutAwaitingOpen?: number;\n  /**\n   * Log websocket communication and state changes\n   */\n  debug?: boolean;\n  /**\n   * Function which verifies and signs transactions\n   */\n  sign: SignTxWithTag;\n}\n\nexport type ChannelOptions = CommonChannelOptions &\n  (\n    | {\n        /**\n         * Participant role\n         */\n        role: 'initiator';\n        /**\n         * Host of the responder's node\n         */\n        host: string;\n      }\n    | {\n        /**\n         * Participant role\n         */\n        role: 'responder';\n      }\n  );\n\nexport interface ChannelHandler extends Function {\n  enter?: Function;\n}\n\nexport interface ChannelState {\n  signedTx: Encoded.Transaction;\n  resolve: (r?: any) => void;\n  reject: (e: BaseError) => void;\n  sign: SignTx;\n  handler?: ChannelHandler;\n  /**\n   * Called when transaction has been posted on chain\n   */\n  onOnChainTx?: (tx: Encoded.Transaction) => void;\n  onOwnWithdrawLocked?: () => void;\n  onWithdrawLocked?: () => void;\n  onOwnDepositLocked?: () => void;\n  onDepositLocked?: () => void;\n  closeTx?: string;\n}\n\nexport interface ChannelFsm {\n  handler: ChannelHandler;\n  state?:\n    | ChannelState\n    | {\n        resolve: Function;\n        reject: Function;\n      };\n}\n\nexport interface ChannelMessage {\n  id?: number;\n  method: string;\n  params: any;\n  payload?: any;\n  data?: any;\n  error?: ChannelMessageError;\n}\n\ninterface ChannelMessageError {\n  code: number;\n  message: string;\n  data: [\n    {\n      message: string;\n      code: number;\n    },\n  ];\n  request: ChannelMessage;\n}\n\n// Send ping message every 10 seconds\nconst PING_TIMEOUT_MS = 10000;\n// Close connection if pong message is not received within 15 seconds\nconst PONG_TIMEOUT_MS = 15000;\n\nexport function emit<E extends keyof ChannelEvents>(\n  channel: Channel,\n  ...args: [E, ...Parameters<ChannelEvents[E]>]\n): void {\n  const [eventName, ...rest] = args;\n  channel._eventEmitter.emit(eventName, ...rest);\n}\n\nfunction enterState(channel: Channel, nextState: ChannelFsm): void {\n  if (nextState == null) {\n    throw new UnknownChannelStateError();\n  }\n  channel._debug('enter state', nextState.handler.name);\n  channel._fsm = nextState;\n  if (nextState?.handler?.enter != null) {\n    nextState.handler.enter(channel);\n  }\n  // eslint-disable-next-line @typescript-eslint/no-use-before-define\n  void dequeueAction(channel);\n}\n\n// TODO: rewrite to enum\nexport type ChannelStatus =\n  | 'connecting'\n  | 'connected'\n  | 'accepted'\n  | 'halfSigned'\n  | 'signed'\n  | 'open'\n  | 'closing'\n  | 'closed'\n  | 'died'\n  | 'disconnected';\n\nexport function changeStatus(channel: Channel, newStatus: ChannelStatus, debug?: unknown): void {\n  channel._debug(newStatus, `(prev. ${channel._status})`, debug ?? '');\n  if (newStatus === channel._status) return;\n  channel._status = newStatus;\n  emit(channel, 'statusChanged', newStatus);\n}\n\nexport function changeState(channel: Channel, newState: Encoded.Transaction | ''): void {\n  channel._state = newState;\n  emit(channel, 'stateChanged', newState);\n}\n\nfunction send(channel: Channel, message: ChannelMessage): void {\n  channel._debug('send message', message.method, message.params);\n  channel._websocket.send(JsonBig.stringify({ jsonrpc: '2.0', ...message }));\n}\n\nexport function notify(channel: Channel, method: string, params: object = {}): void {\n  send(channel, { method, params });\n}\n\nasync function dequeueAction(channel: Channel): Promise<void> {\n  if (channel._isActionQueueLocked) return;\n  const queue = channel._actionQueue;\n  if (queue.length === 0) return;\n  const index = queue.findIndex((action) => action.guard(channel, channel._fsm));\n  if (index === -1) return;\n  channel._actionQueue = queue.filter((_, i) => index !== i);\n  channel._isActionQueueLocked = true;\n  const nextState: ChannelFsm = await queue[index].action(channel, channel._fsm);\n  channel._isActionQueueLocked = false;\n  enterState(channel, nextState);\n}\n\nexport async function enqueueAction(\n  channel: Channel,\n  guard: ChannelAction['guard'],\n  action: () => { handler: ChannelHandler; state?: Partial<ChannelState> },\n): Promise<any> {\n  const promise = new Promise((resolve, reject) => {\n    channel._actionQueue.push({\n      guard,\n      action() {\n        const res = action();\n        return { ...res, state: { ...res.state, resolve, reject } };\n      },\n    });\n  });\n  void dequeueAction(channel);\n  return promise;\n}\n\nasync function handleMessage(channel: Channel, message: ChannelMessage): Promise<void> {\n  const { handler, state: st } = channel._fsm;\n  const nextState = await Promise.resolve(handler(channel, message, st));\n  enterState(channel, nextState);\n  // TODO: emit message and handler name (?) to move this code to Contract constructor\n  if (\n    message?.params?.data?.updates?.[0]?.op === 'OffChainNewContract' &&\n    // if name is channelOpen, the contract was created by other participant\n    nextState?.handler.name === 'channelOpen'\n  ) {\n    const round = channel.round();\n    if (round == null) throw new UnexpectedTsError('Round is null');\n    const owner = message?.params?.data?.updates?.[0]?.owner;\n    emit(channel, 'newContract', buildContractId(owner, round + 1));\n  }\n}\n\nasync function dequeueMessage(channel: Channel): Promise<void> {\n  if (channel._isMessageQueueLocked) return;\n  channel._isMessageQueueLocked = true;\n  while (channel._messageQueue.length > 0) {\n    const message = channel._messageQueue.shift();\n    if (message == null) throw new UnexpectedTsError();\n    try {\n      await handleMessage(channel, message);\n    } catch (error) {\n      ensureError(error);\n      emit(channel, 'error', new ChannelIncomingMessageError(error, message));\n    }\n  }\n  channel._isMessageQueueLocked = false;\n}\n\nexport function disconnect(channel: Channel): void {\n  channel._websocket.close();\n  clearTimeout(channel._pingTimeoutId);\n}\n\nfunction ping(channel: Channel): void {\n  clearTimeout(channel._pingTimeoutId);\n  channel._pingTimeoutId = setTimeout(() => {\n    notify(channel, 'channels.system', { action: 'ping' });\n    channel._pingTimeoutId = setTimeout(() => {\n      disconnect(channel);\n      emit(channel, 'error', new ChannelPingTimedOutError());\n    }, PONG_TIMEOUT_MS);\n  }, PING_TIMEOUT_MS);\n}\n\nfunction onMessage(channel: Channel, data: string): void {\n  const message = JsonBig.parse(data);\n  channel._debug('received message', message.method, message.params);\n  if (message.id != null) {\n    const callback = channel._rpcCallbacks.get(message.id);\n    if (callback == null) {\n      emit(channel, 'error', new ChannelError(`Can't find callback by id: ${message.id}`));\n      return;\n    }\n    try {\n      callback(message);\n    } finally {\n      channel._rpcCallbacks.delete(message.id);\n    }\n    return;\n  }\n  if (message.method === 'channels.message') {\n    emit(channel, 'message', message.params.data.message);\n    return;\n  }\n  if (message.method === 'channels.system.pong') {\n    if (message.params.channel_id === channel._channelId || channel._channelId == null) {\n      ping(channel);\n    }\n    return;\n  }\n  channel._messageQueue.push(message);\n  void dequeueMessage(channel);\n}\n\nexport async function call(channel: Channel, method: string, params: any): Promise<any> {\n  return new Promise((resolve, reject) => {\n    const id = channel._nextRpcMessageId;\n    channel._nextRpcMessageId += 1;\n    channel._rpcCallbacks.set(\n      id,\n      (message: { result: PromiseLike<any>; error?: ChannelMessageError }) => {\n        if (message.error != null) {\n          const details = message.error.data[0].message ?? '';\n          reject(new ChannelCallError(message.error.message + details));\n        } else resolve(message.result);\n      },\n    );\n    send(channel, { method, id, params });\n  });\n}\n\nexport async function initialize(\n  channel: Channel,\n  connectionHandler: Function,\n  openHandler: Function,\n  { url, ...channelOptions }: ChannelOptions,\n): Promise<void> {\n  channel._options = { url, ...channelOptions };\n\n  const wsUrl = new URL(url);\n  Object.entries(channelOptions)\n    .filter(([key]) => !['sign', 'debug'].includes(key))\n    .forEach(([key, value]) => wsUrl.searchParams.set(pascalToSnake(key), value.toString()));\n  wsUrl.searchParams.set('protocol', 'json-rpc');\n  changeStatus(channel, 'connecting');\n  channel._websocket = new W3CWebSocket(wsUrl.toString());\n  await new Promise<void>((resolve, reject) => {\n    Object.assign(channel._websocket, {\n      onerror: reject,\n      onopen: async (event: Event) => {\n        resolve();\n        changeStatus(channel, 'connected', event);\n        enterState(channel, { handler: connectionHandler });\n        ping(channel);\n      },\n      onclose: (event: ICloseEvent) => {\n        changeStatus(channel, 'disconnected', event);\n        clearTimeout(channel._pingTimeoutId);\n      },\n      onmessage: ({ data }: { data: string }) => onMessage(channel, data),\n    });\n  });\n}\n","/* eslint-disable consistent-return */\n/* eslint-disable default-case */\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport {\n  ChannelState,\n  changeStatus,\n  changeState,\n  notify,\n  emit,\n  disconnect,\n  ChannelMessage,\n  ChannelFsm,\n  SignTx,\n  ChannelStatus,\n  ChannelEvents,\n} from './internal.js';\nimport { unpackTx, buildTx } from '../tx/builder/index.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport {\n  IllegalArgumentError,\n  InsufficientBalanceError,\n  ChannelConnectionError,\n  UnexpectedChannelMessageError,\n  ChannelError,\n} from '../utils/errors.js';\nimport type Channel from './Base.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { snakeToPascal } from '../utils/string.js';\n\nexport async function appendSignature(\n  tx: Encoded.Transaction,\n  signFn: SignTx,\n): Promise<Encoded.Transaction | number | null> {\n  const { signatures, encodedTx } = unpackTx(tx, Tag.SignedTx);\n  const payloadTx = buildTx(encodedTx);\n  const result = await signFn(payloadTx);\n  if (typeof result === 'string') {\n    const { signatures: signatures2 } = unpackTx(result, Tag.SignedTx);\n    return buildTx({\n      tag: Tag.SignedTx,\n      signatures: signatures.concat(signatures2),\n      encodedTx: decode(payloadTx),\n    });\n  }\n  return result;\n}\n\nexport async function signAndNotify(\n  channel: Channel,\n  method: string,\n  data: {\n    tx?: Encoded.Transaction;\n    signed_tx?: Encoded.Transaction;\n  },\n  signFn: SignTx,\n): Promise<boolean> {\n  let signedTx;\n  if (data.tx != null) signedTx = await signFn(data.tx);\n  else if (data.signed_tx != null) signedTx = await appendSignature(data.signed_tx, signFn);\n  else throw new ChannelError(\"Can't find transaction in message\");\n  const isError = typeof signedTx !== 'string';\n  const key = data.tx != null ? 'tx' : 'signed_tx';\n  notify(channel, method, isError ? { error: signedTx ?? 1 } : { [key]: signedTx });\n  return isError;\n}\n\nexport function handleUnexpectedMessage(\n  _channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): ChannelFsm {\n  state?.reject?.(\n    Object.assign(\n      new UnexpectedChannelMessageError(\n        `Unexpected message received:\\n\\n${JSON.stringify(message)}`,\n      ),\n      { wsMessage: message },\n    ),\n  );\n  return { handler: channelOpen };\n}\n\nexport function awaitingCompletion(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n  onSuccess?: typeof handleUnexpectedMessage,\n): ChannelFsm {\n  if (onSuccess != null && message.method === 'channels.update') {\n    return onSuccess(channel, message, state);\n  }\n  if (message.method === 'channels.conflict') {\n    state.resolve({\n      accepted: false,\n      errorCode: message.params.data.error_code,\n      errorMessage: message.params.data.error_msg,\n    });\n    return { handler: channelOpen };\n  }\n  if (message.method === 'channels.info') {\n    if (message.params.data.event === 'aborted_update') {\n      state.resolve({ accepted: false });\n      return { handler: channelOpen };\n    }\n  }\n  if (message.error != null) {\n    const codes = message.error.data.map((d) => d.code);\n    if (codes.includes(1001)) {\n      state.reject(new InsufficientBalanceError('Insufficient balance'));\n    } else if (codes.includes(1002)) {\n      state.reject(new IllegalArgumentError('Amount cannot be negative'));\n    } else {\n      state.reject(new ChannelConnectionError(message.error.message));\n    }\n    return { handler: channelOpen };\n  }\n  return handleUnexpectedMessage(channel, message, state);\n}\n\nexport function awaitingConnection(\n  channel: Channel,\n  message: ChannelMessage,\n): ChannelFsm | undefined {\n  if (message.method === 'channels.info') {\n    const channelInfoStatus: string = message.params.data.event;\n\n    let nextStatus: ChannelStatus | null = null;\n    if (channelInfoStatus === 'channel_accept') nextStatus = 'accepted';\n    if (channelInfoStatus === 'funding_created') nextStatus = 'halfSigned';\n    if (nextStatus != null) {\n      changeStatus(channel, nextStatus);\n      return { handler: awaitingChannelCreateTx };\n    }\n\n    if (message.params.data.event === 'channel_reestablished') {\n      return { handler: awaitingOpenConfirmation };\n    }\n    if (message.params.data.event === 'fsm_up') {\n      channel._fsmId = message.params.data.fsm_id;\n      return { handler: awaitingConnection };\n    }\n    return { handler: awaitingConnection };\n  }\n  if (message.method === 'channels.error') {\n    emit(channel, 'error', new ChannelConnectionError(message?.payload?.message));\n    return { handler: channelClosed };\n  }\n}\n\nexport async function awaitingReestablish(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): Promise<ChannelFsm> {\n  if (message.method === 'channels.info' && message.params.data.event === 'fsm_up') {\n    channel._fsmId = message.params.data.fsm_id;\n    return {\n      handler: function awaitingChannelReestablished(\n        _: Channel,\n        message2: ChannelMessage,\n        state2: ChannelState,\n      ): ChannelFsm | undefined {\n        if (\n          message2.method === 'channels.info' &&\n          message2.params.data.event === 'channel_reestablished'\n        )\n          return { handler: awaitingOpenConfirmation };\n        return handleUnexpectedMessage(channel, message2, state2);\n      },\n    };\n  }\n  return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function awaitingReconnection(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): Promise<ChannelFsm> {\n  if (message.method === 'channels.info' && message.params.data.event === 'fsm_up') {\n    channel._fsmId = message.params.data.fsm_id;\n    const { signedTx } = await channel.state();\n    changeState(channel, signedTx == null ? '' : buildTx(signedTx));\n    return { handler: channelOpen };\n  }\n  return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function awaitingChannelCreateTx(\n  channel: Channel,\n  message: ChannelMessage,\n): Promise<ChannelFsm | undefined> {\n  const tag = channel._options.role === 'initiator' ? 'initiator_sign' : 'responder_sign';\n  if (message.method === `channels.sign.${tag}`) {\n    await signAndNotify(channel, `channels.${tag}`, message.params.data, async (tx) =>\n      channel._options.sign(tag, tx),\n    );\n    return { handler: awaitingOnChainTx };\n  }\n}\n\nexport function awaitingOnChainTx(\n  channel: Channel,\n  message: ChannelMessage,\n): ChannelFsm | undefined {\n  function awaitingBlockInclusion(_: Channel, message2: ChannelMessage): ChannelFsm | undefined {\n    if (message2.method === 'channels.info') {\n      switch (message2.params.data.event) {\n        case 'funding_created':\n        case 'own_funding_locked':\n          return { handler: awaitingBlockInclusion };\n        case 'funding_locked':\n          return { handler: awaitingOpenConfirmation };\n      }\n    }\n    if (message2.method === 'channels.on_chain_tx') {\n      emit(channel, 'onChainTx', message2.params.data.tx, {\n        info: message2.params.data.info,\n        type: message2.params.data.type,\n      });\n      return { handler: awaitingBlockInclusion };\n    }\n  }\n\n  if (message.method === 'channels.on_chain_tx') {\n    const { info } = message.params.data;\n    const { role } = channel._options;\n    if (\n      (info === 'funding_signed' && role === 'initiator') ||\n      (info === 'funding_created' && role === 'responder')\n    ) {\n      return { handler: awaitingBlockInclusion };\n    }\n  }\n  if (\n    message.method === 'channels.info' &&\n    message.params.data.event === 'funding_signed' &&\n    channel._options.role === 'initiator'\n  ) {\n    channel._channelId = message.params.channel_id;\n    changeStatus(channel, 'signed');\n    return { handler: awaitingOnChainTx };\n  }\n}\n\nfunction awaitingOpenConfirmation(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): ChannelFsm | undefined {\n  if (message.method === 'channels.info' && message.params.data.event === 'open') {\n    channel._channelId = message.params.channel_id;\n    return {\n      handler: function awaitingChannelsUpdate(\n        _: Channel,\n        message2: ChannelMessage,\n        state2: ChannelState,\n      ): ChannelFsm | undefined {\n        if (message2.method === 'channels.update') {\n          changeState(channel, message2.params.data.state);\n          return { handler: channelOpen };\n        }\n        return handleUnexpectedMessage(channel, message2, state2);\n      },\n    };\n  }\n  return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function channelOpen(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): Promise<ChannelFsm | undefined> {\n  switch (message.method) {\n    case 'channels.info':\n      switch (message.params.data.event) {\n        case 'update':\n        case 'withdraw_created':\n        case 'deposit_created':\n          return { handler: awaitingTxSignRequest };\n        case 'own_withdraw_locked':\n        case 'withdraw_locked':\n        case 'own_deposit_locked':\n        case 'deposit_locked':\n        case 'peer_disconnected':\n        case 'channel_reestablished':\n        case 'open':\n          // TODO: Better handling of peer_disconnected event.\n          //\n          //       We should enter intermediate state where offchain transactions\n          //       are blocked until channel is reestablished.\n          emit(channel, snakeToPascal(message.params.data.event) as keyof ChannelEvents);\n          return { handler: channelOpen };\n        case 'fsm_up':\n          channel._fsmId = message.params.data.fsm_id;\n          return { handler: channelOpen };\n        case 'timeout':\n        case 'close_mutual':\n          return { handler: channelOpen };\n        case 'closing':\n          changeStatus(channel, 'closing');\n          return { handler: channelOpen };\n        case 'closed_confirmed':\n          changeStatus(channel, 'closed');\n          return { handler: channelClosed };\n        case 'died':\n          changeStatus(channel, 'died');\n          return { handler: channelClosed };\n        case 'shutdown':\n          return { handler: channelOpen };\n      }\n      break;\n    case 'channels.on_chain_tx':\n      emit(channel, 'onChainTx', message.params.data.tx, {\n        info: message.params.data.info,\n        type: message.params.data.type,\n      });\n      return { handler: channelOpen };\n    case 'channels.leave':\n      // TODO: emit event\n      return { handler: channelOpen };\n    case 'channels.update':\n      changeState(channel, message.params.data.state);\n      return { handler: channelOpen };\n    case 'channels.sign.shutdown_sign_ack':\n      return awaitingTxSignRequest(channel, message, state);\n  }\n}\nchannelOpen.enter = (channel: Channel) => {\n  changeStatus(channel, 'open');\n};\n\nasync function awaitingTxSignRequest(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): Promise<ChannelFsm> {\n  const [, tag] = message.method.match(/^channels\\.sign\\.([^.]+)$/) ?? [];\n  if (tag == null) return handleUnexpectedMessage(channel, message, state);\n  const isError = await signAndNotify(channel, `channels.${tag}`, message.params.data, async (tx) =>\n    channel._options.sign(tag, tx, { updates: message.params.data.updates }),\n  );\n\n  function awaitingUpdateConflict(_: Channel, message2: ChannelMessage): ChannelFsm {\n    if (message2.error != null) {\n      return { handler: awaitingUpdateConflict, state };\n    }\n    if (message2.method === 'channels.conflict') {\n      return { handler: channelOpen };\n    }\n    return handleUnexpectedMessage(channel, message2, state);\n  }\n  return isError ? { handler: awaitingUpdateConflict, state } : { handler: channelOpen };\n}\n\nexport async function awaitingShutdownTx(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): Promise<ChannelFsm> {\n  if (message.method !== 'channels.sign.shutdown_sign') {\n    return handleUnexpectedMessage(channel, message, state);\n  }\n  await signAndNotify(channel, 'channels.shutdown_sign', message.params.data, async (tx) =>\n    state.sign(tx),\n  );\n  return {\n    handler(_: Channel, message2: ChannelMessage): ChannelFsm {\n      if (message2.method !== 'channels.on_chain_tx') {\n        return handleUnexpectedMessage(channel, message2, state);\n      }\n      // state.resolve(message.params.data.tx)\n      return { handler: channelClosed, state };\n    },\n    state,\n  };\n}\n\nexport function awaitingLeave(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): ChannelFsm {\n  if (message.method === 'channels.leave') {\n    state.resolve({ channelId: message.params.channel_id, signedTx: message.params.data.state });\n    disconnect(channel);\n    return { handler: channelClosed };\n  }\n  if (message.method === 'channels.error') {\n    state.reject(new ChannelConnectionError(message.data.message));\n    return { handler: channelOpen };\n  }\n  return handleUnexpectedMessage(channel, message, state);\n}\n\nexport function channelClosed(\n  _channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): ChannelFsm {\n  if (state == null) return { handler: channelClosed };\n  if (message.params.data.event === 'closing') return { handler: channelClosed, state };\n  if (message.params.data.info === 'channel_closed') {\n    state.closeTx = message.params.data.tx;\n    return { handler: channelClosed, state };\n  }\n  if (message.params.data.event === 'closed_confirmed') {\n    state.resolve(state.closeTx);\n    return { handler: channelClosed };\n  }\n  return { handler: channelClosed, state };\n}\n","import EventEmitter from 'events';\nimport { w3cwebsocket as W3CWebSocket } from 'websocket';\nimport { snakeToPascal } from '../utils/string.js';\nimport { unpackTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport * as handlers from './handlers.js';\nimport {\n  initialize,\n  enqueueAction,\n  notify,\n  call,\n  disconnect as channelDisconnect,\n  SignTx,\n  ChannelOptions,\n  ChannelState,\n  ChannelHandler,\n  ChannelAction,\n  ChannelStatus,\n  ChannelFsm,\n  ChannelMessage,\n  ChannelEvents,\n} from './internal.js';\nimport { ChannelError, IllegalArgumentError } from '../utils/errors.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { TxUnpacked } from '../tx/builder/schema.generated.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\nimport { unpackEntry } from '../tx/builder/entry/index.js';\nimport { EntUnpacked } from '../tx/builder/entry/schema.generated.js';\n\nfunction snakeToPascalObjKeys<Type>(obj: object): Type {\n  return Object.entries(obj).reduce(\n    (result, [key, val]) => ({\n      ...result,\n      [snakeToPascal(key)]: val,\n    }),\n    {},\n  ) as Type;\n}\n\nlet channelCounter = 0;\n\n/**\n * Channel\n * @example\n * ```js\n * await Channel.initialize({\n *   url: 'ws://localhost:3001',\n *   role: 'initiator'\n *   initiatorId: 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n *   responderId: 'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E',\n *   initiatorAmount: 1e18,\n *   responderAmount: 1e18,\n *   pushAmount: 0,\n *   channelReserve: 0,\n *   ttl: 1000,\n *   host: 'localhost',\n *   port: 3002,\n *   lockPeriod: 10,\n *   async sign (tag, tx) => await account.signTransaction(tx)\n * })\n * ```\n */\nexport default class Channel {\n  _eventEmitter = new EventEmitter();\n\n  _pingTimeoutId!: NodeJS.Timeout;\n\n  _nextRpcMessageId = 0;\n\n  _rpcCallbacks = new Map<number, (message: object) => void>();\n\n  _fsmId?: Encoded.Bytearray;\n\n  _messageQueue: ChannelMessage[] = [];\n\n  _isMessageQueueLocked = false;\n\n  _actionQueue: ChannelAction[] = [];\n\n  _isActionQueueLocked = false;\n\n  _status: ChannelStatus = 'disconnected';\n\n  _fsm!: ChannelFsm;\n\n  _websocket!: W3CWebSocket;\n\n  _state: Encoded.Transaction | '' = '';\n\n  _options!: ChannelOptions;\n\n  readonly #debugId: number;\n\n  _channelId?: Encoded.Channel;\n\n  protected constructor() {\n    channelCounter += 1;\n    this.#debugId = channelCounter;\n  }\n\n  _debug(...args: any[]): void {\n    if (this._options.debug !== true) return;\n    console.debug(`Channel #${this.#debugId}`, ...args);\n  }\n\n  /**\n   * @param options - Channel params\n   */\n  static async initialize(options: ChannelOptions): Promise<Channel> {\n    return Channel._initialize(new Channel(), options);\n  }\n\n  static async _initialize<T extends Channel>(channel: T, options: ChannelOptions): Promise<T> {\n    const reconnect = (options.existingFsmId ?? options.existingChannelId) != null;\n    if (reconnect && (options.existingFsmId == null || options.existingChannelId == null)) {\n      throw new IllegalArgumentError(\n        '`existingChannelId`, `existingFsmId` should be both provided or missed',\n      );\n    }\n    const reconnectHandler =\n      handlers[options.reestablish === true ? 'awaitingReestablish' : 'awaitingReconnection'];\n    await initialize(\n      channel,\n      reconnect ? reconnectHandler : handlers.awaitingConnection,\n      handlers.channelOpen,\n      options,\n    );\n    return channel;\n  }\n\n  /**\n   * Register event listener function\n   *\n   * Possible events:\n   *\n   *   - \"error\"\n   *   - \"stateChanged\"\n   *   - \"statusChanged\"\n   *   - \"message\"\n   *   - \"peerDisconnected\"\n   *   - \"onChainTx\"\n   *   - \"ownWithdrawLocked\"\n   *   - \"withdrawLocked\"\n   *   - \"ownDepositLocked\"\n   *   - \"depositLocked\"\n   *   - \"channelReestablished\"\n   *   - \"newContract\"\n   *\n   *\n   * @param eventName - Event name\n   * @param callback - Callback function\n   */\n  on<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void {\n    this._eventEmitter.on(eventName, callback);\n  }\n\n  /**\n   * Remove event listener function\n   * @param eventName - Event name\n   * @param callback - Callback function\n   */\n  off<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void {\n    this._eventEmitter.removeListener(eventName, callback);\n  }\n\n  /**\n   * Close the connection\n   */\n  disconnect(): void {\n    return channelDisconnect(this);\n  }\n\n  /**\n   * Get current status\n   */\n  status(): ChannelStatus {\n    return this._status;\n  }\n\n  /**\n   * Get current state\n   */\n  async state(): Promise<{\n    calls: EntUnpacked & { tag: EntryTag.CallsMtree };\n    halfSignedTx?: TxUnpacked & { tag: Tag.SignedTx };\n    signedTx?: TxUnpacked & { tag: Tag.SignedTx };\n    trees: EntUnpacked & { tag: EntryTag.StateTrees };\n  }> {\n    const res = snakeToPascalObjKeys<{\n      calls: Encoded.CallStateTree;\n      halfSignedTx: Encoded.Transaction | '';\n      signedTx: Encoded.Transaction | '';\n      trees: Encoded.StateTrees;\n    }>(await call(this, 'channels.get.offchain_state', {}));\n    return {\n      calls: unpackEntry(res.calls),\n      ...(res.halfSignedTx !== '' && { halfSignedTx: unpackTx(res.halfSignedTx, Tag.SignedTx) }),\n      ...(res.signedTx !== '' && { signedTx: unpackTx(res.signedTx, Tag.SignedTx) }),\n      trees: unpackEntry(res.trees),\n    };\n  }\n\n  /**\n   * Get current round\n   *\n   * If round cannot be determined (for example when channel has not been opened)\n   * it will return `null`.\n   */\n  round(): number | null {\n    if (this._state === '') {\n      return null;\n    }\n    const params = unpackTx(this._state, Tag.SignedTx).encodedTx;\n    switch (params.tag) {\n      case Tag.ChannelCreateTx:\n        return 1;\n      case Tag.ChannelOffChainTx:\n      case Tag.ChannelWithdrawTx:\n      case Tag.ChannelDepositTx:\n        return params.round;\n      default:\n        return null;\n    }\n  }\n\n  /**\n   * Get channel id\n   *\n   */\n  id(): Encoded.Channel {\n    if (this._channelId == null) throw new ChannelError('Channel is not initialized');\n    return this._channelId;\n  }\n\n  /**\n   * Get channel's fsm id\n   *\n   */\n  fsmId(): Encoded.Bytearray {\n    if (this._fsmId == null) throw new ChannelError('Channel is not initialized');\n    return this._fsmId;\n  }\n\n  protected async enqueueAction(\n    action: () => { handler: ChannelHandler; state?: Partial<ChannelState> },\n  ): Promise<any> {\n    return enqueueAction(this, (channel, state) => state?.handler === handlers.channelOpen, action);\n  }\n\n  /**\n   * Leave channel\n   *\n   * It is possible to leave a channel and then later reestablish the channel\n   * off-chain state and continue operation. When a leave method is called,\n   * the channel fsm passes it on to the peer fsm, reports the current mutually\n   * signed state and then terminates.\n   *\n   * The channel can be reestablished by instantiating another Channel instance\n   * with two extra params: existingChannelId and existingFsmId.\n   *\n   * @example\n   * ```js\n   * channel.leave().then(({ channelId, signedTx }) => {\n   *   console.log(channelId)\n   *   console.log(signedTx)\n   * })\n   * ```\n   */\n  async leave(): Promise<{ channelId: Encoded.Channel; signedTx: Encoded.Transaction }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.leave');\n      return { handler: handlers.awaitingLeave };\n    });\n  }\n\n  /**\n   * Trigger mutual close\n   *\n   * At any moment after the channel is opened, a closing procedure can be triggered.\n   * This can be done by either of the parties. The process is similar to the off-chain updates.\n   *\n   * @param sign - Function which verifies and signs mutual close transaction\n   * @example\n   * ```js\n   * channel.shutdown(\n   *   async (tx) => await account.signTransaction(tx)\n   * ).then(tx => console.log('on_chain_tx', tx))\n   * ```\n   */\n  async shutdown(sign: SignTx): Promise<Encoded.Transaction> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.shutdown');\n      return {\n        handler: handlers.awaitingShutdownTx,\n        state: { sign },\n      };\n    });\n  }\n}\n","import BigNumber from 'bignumber.js';\nimport {\n  notify,\n  call,\n  SignTx,\n  ChannelState,\n  ChannelMessage,\n  ChannelFsm,\n  changeState,\n} from './internal.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { pause } from '../utils/other.js';\nimport Channel from './Base.js';\nimport { ChannelConnectionError } from '../utils/errors.js';\nimport {\n  awaitingCompletion,\n  channelOpen,\n  handleUnexpectedMessage,\n  signAndNotify,\n} from './handlers.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\nimport { EntUnpacked } from '../tx/builder/entry/schema.generated.js';\nimport { unpackEntry } from '../tx/builder/entry/index.js';\n\nexport default class ChannelSpend extends Channel {\n  /**\n   * Trigger a transfer update\n   *\n   * The transfer update is moving coins from one channel account to another.\n   * The update is a change to be applied on top of the latest state.\n   *\n   * Sender and receiver are the channel parties. Both the initiator and responder\n   * can take those roles. Any public key outside the channel is considered invalid.\n   *\n   * @param from - Sender's public address\n   * @param to - Receiver's public address\n   * @param amount - Transaction amount\n   * @param sign - Function which verifies and signs offchain transaction\n   * @param metadata - Metadata\n\n   * @example\n   * ```js\n   * channel.update(\n   *   'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n   *   'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E',\n   *   10,\n   *   async (tx) => await account.signTransaction(tx)\n   * ).then(({ accepted, signedTx }) =>\n   *   if (accepted) {\n   *     console.log('Update has been accepted')\n   *   }\n   * )\n   * ```\n   */\n  async update(\n    from: Encoded.AccountAddress,\n    to: Encoded.AccountAddress,\n    amount: number | BigNumber,\n    sign: SignTx,\n    metadata: string[] = [],\n  ): Promise<{\n    accepted: boolean;\n    signedTx?: Encoded.Transaction;\n    errorCode?: number;\n    errorMessage?: string;\n  }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.update.new', {\n        from,\n        to,\n        amount,\n        meta: metadata,\n      });\n\n      const awaitingOffChainTx = async (\n        _: Channel,\n        message: ChannelMessage,\n        state: ChannelState,\n      ): Promise<ChannelFsm> => {\n        if (message.method === 'channels.sign.update') {\n          const isError = await signAndNotify(\n            this,\n            'channels.update',\n            message.params.data,\n            async (tx) => sign(tx, { updates: message.params.data.updates }),\n          );\n          if (isError) return { handler: awaitingOffChainTx, state };\n          return {\n            handler: (_2: Channel, message2: ChannelMessage): ChannelFsm =>\n              awaitingCompletion(this, message2, state, () => {\n                changeState(this, message2.params.data.state);\n                state.resolve({ accepted: true, signedTx: message2.params.data.state });\n                return { handler: channelOpen };\n              }),\n            state,\n          };\n        }\n        if (message.method === 'channels.error') {\n          state.reject(new ChannelConnectionError(message.data.message));\n          return { handler: channelOpen };\n        }\n        return awaitingCompletion(this, message, state);\n      };\n\n      return { handler: awaitingOffChainTx };\n    });\n  }\n\n  /**\n   * Get proof of inclusion\n   *\n   * If a certain address of an account or a contract is not found\n   * in the state tree - the response is an error.\n   *\n   * @param addresses - Addresses\n   * @param addresses.accounts - List of account addresses to include in poi\n   * @param addresses.contracts - List of contract addresses to include in poi\n   * @example\n   * ```js\n   * channel.poi({\n   *   accounts: [\n   *     'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n   *     'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E'\n   *   ],\n   *   contracts: ['ct_2dCUAWYZdrWfACz3a2faJeKVTVrfDYxCQHCqAt5zM15f3u2UfA']\n   * }).then(poi => console.log(poi))\n   * ```\n   */\n  async poi({\n    accounts,\n    contracts,\n  }: {\n    accounts: Encoded.AccountAddress[];\n    contracts?: Encoded.ContractAddress[];\n  }): Promise<EntUnpacked & { tag: EntryTag.TreesPoi }> {\n    const { poi }: { poi: Encoded.Poi } = await call(this, 'channels.get.poi', {\n      accounts,\n      contracts,\n    });\n    return unpackEntry(poi);\n  }\n\n  /**\n   * Get balances\n   *\n   * The accounts param contains a list of addresses to fetch balances of.\n   * Those can be either account balances or a contract ones, encoded as an account addresses.\n   *\n   * If a certain account address had not being found in the state tree - it is simply\n   * skipped in the response.\n   *\n   * @param accounts - List of addresses to fetch balances from\n   * @example\n   * ```js\n   * channel.balances([\n   *   'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n   *   'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E'\n   *   'ct_2dCUAWYZdrWfACz3a2faJeKVTVrfDYxCQHCqAt5zM15f3u2UfA'\n   * ]).then(balances =>\n   *   console.log(balances['ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH'])\n   * )\n   * ```\n   */\n  async balances(\n    accounts: Encoded.AccountAddress[],\n  ): Promise<{ [key: Encoded.AccountAddress]: string }> {\n    return Object.fromEntries(\n      (await call(this, 'channels.get.balances', { accounts })).map(\n        (item: { account: Encoded.AccountAddress; balance: string }) => [\n          item.account,\n          item.balance,\n        ],\n      ),\n    );\n  }\n\n  private async awaitingActionTx(\n    action: 'deposit' | 'withdraw',\n    message: ChannelMessage,\n    state: ChannelState,\n  ): Promise<ChannelFsm> {\n    if (message.method !== `channels.sign.${action}_tx`) {\n      return handleUnexpectedMessage(this, message, state);\n    }\n\n    const awaitingActionCompletion = (_: Channel, message2: ChannelMessage): ChannelFsm => {\n      if (message2.method === 'channels.on_chain_tx') {\n        state.onOnChainTx?.(message2.params.data.tx);\n        return { handler: awaitingActionCompletion, state };\n      }\n      if (\n        message2.method === 'channels.info' &&\n        [`own_${action}_locked`, `${action}_locked`].includes(message2.params.data.event)\n      ) {\n        const Action = action === 'deposit' ? 'Deposit' : 'Withdraw';\n        const isOwn: boolean = message2.params.data.event.startsWith('own_');\n        state[`on${isOwn ? 'Own' : ''}${Action}Locked`]?.();\n        return { handler: awaitingActionCompletion, state };\n      }\n      return awaitingCompletion(this, message2, state, () => {\n        changeState(this, message2.params.data.state);\n        state.resolve({ accepted: true, signedTx: message2.params.data.state });\n        return { handler: channelOpen };\n      });\n    };\n\n    const { sign } = state;\n    await signAndNotify(this, `channels.${action}_tx`, message.params.data, async (tx) =>\n      sign(tx, { updates: message.params.data.updates }),\n    );\n    return { handler: awaitingActionCompletion, state };\n  }\n\n  /**\n   * Withdraw coins from the channel\n   *\n   * After the channel had been opened any of the participants can initiate a withdrawal.\n   * The process closely resembles the update. The most notable difference is that the\n   * transaction has been co-signed: it is channel_withdraw_tx and after the procedure\n   * is finished - it is being posted on-chain.\n   *\n   * Any of the participants can initiate a withdrawal. The only requirements are:\n   *\n   *   - Channel is already opened\n   *   - No off-chain update/deposit/withdrawal is currently being performed\n   *   - Channel is not being closed or in a solo closing state\n   *   - The withdrawal amount must be equal to or greater than zero, and cannot exceed\n   *     the available balance on the channel (minus the channel_reserve)\n   *\n   * After the other party had signed the withdraw transaction, the transaction is posted\n   * on-chain and onOnChainTx callback is called with on-chain transaction as first argument.\n   * After computing transaction hash it can be tracked on the chain: entering the mempool,\n   * block inclusion and a number of confirmations.\n   *\n   * After the minimum_depth block confirmations onOwnWithdrawLocked callback is called\n   * (without any arguments).\n   *\n   * When the other party had confirmed that the block height needed is reached\n   * onWithdrawLocked callback is called (without any arguments).\n   *\n   * @param amount - Amount of coins to withdraw\n   * @param sign - Function which verifies and signs withdraw transaction\n   * @param callbacks - Callbacks\n   * @example\n   * ```js\n   * channel.withdraw(\n   *   100,\n   *   async (tx) => await account.signTransaction(tx),\n   *   { onOnChainTx: (tx) => console.log('on_chain_tx', tx) }\n   * ).then(({ accepted, signedTx }) => {\n   *   if (accepted) {\n   *     console.log('Withdrawal has been accepted')\n   *   } else {\n   *     console.log('Withdrawal has been rejected')\n   *   }\n   * })\n   * ```\n   */\n  async withdraw(\n    amount: number | BigNumber,\n    sign: SignTx,\n    {\n      onOnChainTx,\n      onOwnWithdrawLocked,\n      onWithdrawLocked,\n    }: Pick<ChannelState, 'onOnChainTx' | 'onOwnWithdrawLocked' | 'onWithdrawLocked'> = {},\n  ): Promise<{ accepted: boolean; signedTx: Encoded.Transaction }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.withdraw', { amount });\n      return {\n        handler: async (\n          _: Channel,\n          message: ChannelMessage,\n          state: ChannelState,\n        ): Promise<ChannelFsm> => this.awaitingActionTx('withdraw', message, state),\n        state: {\n          sign,\n          onOnChainTx,\n          onOwnWithdrawLocked,\n          onWithdrawLocked,\n        },\n      };\n    });\n  }\n\n  /**\n   * Deposit coins into the channel\n   *\n   * After the channel had been opened any of the participants can initiate a deposit.\n   * The process closely resembles the update. The most notable difference is that the\n   * transaction has been co-signed: it is channel_deposit_tx and after the procedure\n   * is finished - it is being posted on-chain.\n   *\n   * Any of the participants can initiate a deposit. The only requirements are:\n   *\n   *   - Channel is already opened\n   *   - No off-chain update/deposit/withdrawal is currently being performed\n   *   - Channel is not being closed or in a solo closing state\n   *   - The deposit amount must be equal to or greater than zero, and cannot exceed\n   *     the available balance on the channel (minus the channel_reserve)\n   *\n   * After the other party had signed the deposit transaction, the transaction is posted\n   * on-chain and onOnChainTx callback is called with on-chain transaction as first argument.\n   * After computing transaction hash it can be tracked on the chain: entering the mempool,\n   * block inclusion and a number of confirmations.\n   *\n   * After the minimum_depth block confirmations onOwnDepositLocked callback is called\n   * (without any arguments).\n   *\n   * When the other party had confirmed that the block height needed is reached\n   * onDepositLocked callback is called (without any arguments).\n   *\n   * @param amount - Amount of coins to deposit\n   * @param sign - Function which verifies and signs deposit transaction\n   * @param callbacks - Callbacks\n   * @example\n   * ```js\n   * channel.deposit(\n   *   100,\n   *   async (tx) => await account.signTransaction(tx),\n   *   { onOnChainTx: (tx) => console.log('on_chain_tx', tx) }\n   * ).then(({ accepted, state }) => {\n   *   if (accepted) {\n   *     console.log('Deposit has been accepted')\n   *     console.log('The new state is:', state)\n   *   } else {\n   *     console.log('Deposit has been rejected')\n   *   }\n   * })\n   * ```\n   */\n  async deposit(\n    amount: number | BigNumber,\n    sign: SignTx,\n    {\n      onOnChainTx,\n      onOwnDepositLocked,\n      onDepositLocked,\n    }: Pick<ChannelState, 'onOnChainTx' | 'onOwnDepositLocked' | 'onDepositLocked'> = {},\n  ): Promise<{ accepted: boolean; state: ChannelState }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.deposit', { amount });\n      return {\n        handler: async (\n          _: Channel,\n          message: ChannelMessage,\n          state: ChannelState,\n        ): Promise<ChannelFsm> => this.awaitingActionTx('deposit', message, state),\n        state: {\n          sign,\n          onOnChainTx,\n          onOwnDepositLocked,\n          onDepositLocked,\n        },\n      };\n    });\n  }\n\n  /**\n   * Send generic message\n   *\n   * If message is an object it will be serialized into JSON string\n   * before sending.\n   *\n   * If there is ongoing update that has not yet been finished the message\n   * will be sent after that update is finalized.\n   *\n   * @param message - Message\n   * @param recipient - Address of the recipient\n   * @example\n   * ```js\n   * channel.sendMessage(\n   *   'hello world',\n   *   'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH'\n   * )\n   * ```\n   */\n  async sendMessage(message: string | object, recipient: Encoded.AccountAddress): Promise<void> {\n    const info = typeof message === 'object' ? JSON.stringify(message) : message;\n    if (this.status() === 'connecting') {\n      await new Promise<void>((resolve) => {\n        const onStatusChanged = (status: string): void => {\n          if (status === 'connecting') return;\n          resolve();\n          this.off('statusChanged', onStatusChanged);\n        };\n        this.on('statusChanged', onStatusChanged);\n      });\n      // For some reason we can't immediately send a message when connection is\n      // established. Thus we wait 500ms which seems to work.\n      await pause(500);\n    }\n    notify(this, 'channels.message', { info, to: recipient });\n  }\n}\n","import BigNumber from 'bignumber.js';\nimport { snakeToPascal } from '../utils/string.js';\nimport { MIN_GAS_PRICE, Tag, AbiVersion, VmVersion } from '../tx/builder/constants.js';\nimport {\n  signAndNotify,\n  awaitingCompletion,\n  channelClosed,\n  channelOpen,\n  handleUnexpectedMessage,\n} from './handlers.js';\nimport {\n  notify,\n  call,\n  SignTx,\n  ChannelState,\n  ChannelOptions,\n  ChannelMessage,\n  ChannelFsm,\n  changeState,\n  emit,\n} from './internal.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { ContractCallObjectReturnType } from '../apis/node/index.js';\nimport { ContractCallObject } from '../contract/Contract.js';\nimport Channel from './Base.js';\nimport ChannelSpend from './Spend.js';\nimport { ChannelError, UnexpectedChannelMessageError } from '../utils/errors.js';\nimport { unpackTx } from '../tx/builder/index.js';\nimport { buildContractId } from '../tx/builder/helpers.js';\n\nfunction snakeToPascalObjKeys<Type>(obj: object): Type {\n  return Object.entries(obj).reduce(\n    (result, [key, val]) => ({\n      ...result,\n      [snakeToPascal(key)]: val,\n    }),\n    {},\n  ) as Type;\n}\n\ninterface CallContractOptions {\n  /**\n   * Amount the caller of the contract commits to it\n   */\n  amount?: number | BigNumber;\n  /**\n   * ABI encoded compiled AEVM call data for the code\n   */\n  callData?: Encoded.ContractBytearray;\n  /**\n   * Version of the ABI\n   */\n  abiVersion?: AbiVersion;\n  /**\n   * Address of the contract to call\n   */\n  contract?: Encoded.ContractAddress;\n}\n\ninterface CallContractResult extends CallContractOptions {\n  returnValue?: any;\n  gasUsed?: number | BigNumber;\n  gasPrice?: number | BigNumber;\n  height?: number;\n  callerNonce?: number;\n  log?: any;\n  returnType?: ContractCallObjectReturnType;\n}\n\ninterface Contract {\n  abiVersion: AbiVersion;\n  active: boolean;\n  deposit: number | BigNumber;\n  id: string;\n  ownerId: string;\n  referrerIds: string[];\n  vmVersion: VmVersion;\n}\n\n/**\n * @category state channel\n */\nexport default class ChannelContract extends ChannelSpend {\n  static override async initialize(options: ChannelOptions): Promise<ChannelContract> {\n    return Channel._initialize(new ChannelContract(), options);\n  }\n\n  /**\n   * Trigger create contract update\n   *\n   * The create contract update is creating a contract inside the channel's internal state tree.\n   * The update is a change to be applied on top of the latest state.\n   *\n   * That would create a contract with the poster being the owner of it. Poster commits initially\n   * a deposit amount of coins to the new contract.\n   *\n   * @param options - Options\n   * @param options.code - Api encoded compiled AEVM byte code\n   * @param options.callData - Api encoded compiled AEVM call data for the code\n   * @param options.deposit - Initial amount the owner of the contract commits to it\n   * @param options.vmVersion - Version of the Virtual Machine\n   * @param options.abiVersion - Version of the Application Binary Interface\n   * @param sign - Function which verifies and signs create contract transaction\n   * @example\n   * ```js\n   * channel.createContract({\n   *   code: 'cb_HKtpipK4aCgYb17wZ...',\n   *   callData: 'cb_1111111111111111...',\n   *   deposit: 10,\n   *   vmVersion: 3,\n   *   abiVersion: 1\n   * }).then(({ accepted, signedTx, address }) => {\n   *   if (accepted) {\n   *     console.log('New contract has been created')\n   *     console.log('Contract address:', address)\n   *   } else {\n   *     console.log('New contract has been rejected')\n   *   }\n   * })\n   * ```\n   */\n  async createContract(\n    {\n      code,\n      callData,\n      deposit,\n      vmVersion,\n      abiVersion,\n    }: {\n      code: Encoded.ContractBytearray;\n      callData: Encoded.ContractBytearray;\n      deposit: number | BigNumber;\n      vmVersion: VmVersion;\n      abiVersion: AbiVersion;\n    },\n    sign: SignTx,\n  ): Promise<{\n    accepted: boolean;\n    signedTx: Encoded.Transaction;\n    address: Encoded.ContractAddress;\n  }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.update.new_contract', {\n        code,\n        call_data: callData,\n        deposit,\n        vm_version: vmVersion,\n        abi_version: abiVersion,\n      });\n      return {\n        handler: async (\n          _: Channel,\n          message: ChannelMessage,\n          state: ChannelState,\n        ): Promise<ChannelFsm> => {\n          if (message.method !== 'channels.sign.update') {\n            return handleUnexpectedMessage(this, message, state);\n          }\n          await signAndNotify(this, 'channels.update', message.params.data, async (tx) =>\n            state.sign(tx),\n          );\n          return {\n            handler: (_2: Channel, message2: ChannelMessage, state2: ChannelState): ChannelFsm =>\n              awaitingCompletion(this, message2, state2, () => {\n                const params = unpackTx(message2.params.data.state, Tag.SignedTx).encodedTx;\n                if (params.tag !== Tag.ChannelOffChainTx) {\n                  throw new ChannelError(\n                    `Tag should be ${Tag[Tag.ChannelOffChainTx]}, got ${Tag[params.tag]} instead`,\n                  );\n                }\n                const addressKey =\n                  this._options.role === 'initiator' ? 'initiatorId' : 'responderId';\n                const owner = this._options[addressKey];\n                changeState(this, message2.params.data.state);\n                const address = buildContractId(owner, params.round);\n                emit(this, 'newContract', address);\n                state2.resolve({ accepted: true, address, signedTx: message2.params.data.state });\n                return { handler: channelOpen };\n              }),\n            state,\n          };\n        },\n        state: { sign },\n      };\n    });\n  }\n\n  /**\n   * Trigger call a contract update\n   *\n   * The call contract update is calling a preexisting contract inside the channel's\n   * internal state tree. The update is a change to be applied on top of the latest state.\n   *\n   * That would call a contract with the poster being the caller of it. Poster commits\n   * an amount of coins to the contract.\n   *\n   * The call would also create a call object inside the channel state tree. It contains\n   * the result of the contract call.\n   *\n   * It is worth mentioning that the gas is not consumed, because this is an off-chain\n   * contract call. It would be consumed if it were an on-chain one. This could happen\n   * if a call with a similar computation amount is to be forced on-chain.\n   *\n   * @param options - Options\n   * @param sign - Function which verifies and signs contract call transaction\n   * @example\n   * ```js\n   * channel.callContract({\n   *   contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n   *   callData: 'cb_1111111111111111...',\n   *   amount: 0,\n   *   abiVersion: 1\n   * }).then(({ accepted, signedTx }) => {\n   *   if (accepted) {\n   *     console.log('Contract called succesfully')\n   *   } else {\n   *     console.log('Contract call has been rejected')\n   *   }\n   * })\n   * ```\n   */\n  async callContract(\n    { amount, callData, contract, abiVersion }: CallContractOptions,\n    sign: SignTx,\n  ): Promise<{ accepted: boolean; signedTx: Encoded.Transaction }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.update.call_contract', {\n        amount,\n        call_data: callData,\n        contract_id: contract,\n        abi_version: abiVersion,\n      });\n      return {\n        handler: async (\n          _: Channel,\n          message: ChannelMessage,\n          state: ChannelState,\n        ): Promise<ChannelFsm> => {\n          if (message.method !== 'channels.sign.update') {\n            return handleUnexpectedMessage(this, message, state);\n          }\n          await signAndNotify(this, 'channels.update', message.params.data, async (tx) =>\n            state.sign(tx, { updates: message.params.data.updates }),\n          );\n          return {\n            handler: (_2: Channel, message2: ChannelMessage, state2: ChannelState): ChannelFsm =>\n              awaitingCompletion(this, message2, state2, () => {\n                changeState(this, message2.params.data.state);\n                state2.resolve({ accepted: true, signedTx: message2.params.data.state });\n                return { handler: channelOpen };\n              }),\n            state,\n          };\n        },\n        state: { sign },\n      };\n    });\n  }\n\n  /**\n   * Trigger a force progress contract call\n   * This call is going on-chain\n   * @param options - Options\n   * @param sign - Function which verifies and signs contract force progress transaction\n   * @param callbacks - Callbacks\n   * @example\n   * ```js\n   * channel.forceProgress({\n   *   contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n   *   callData: 'cb_1111111111111111...',\n   *   amount: 0,\n   *   abiVersion: 1,\n   *   gasPrice: 1000005554\n   * }).then(({ accepted, signedTx }) => {\n   *   if (accepted) {\n   *     console.log('Contract force progress call successful')\n   *   } else {\n   *     console.log('Contract force progress call has been rejected')\n   *   }\n   * })\n   * ```\n   */\n  async forceProgress(\n    {\n      amount,\n      callData,\n      contract,\n      abiVersion,\n      gasLimit = 1000000,\n      gasPrice = MIN_GAS_PRICE,\n    }: CallContractOptions & {\n      gasLimit?: number;\n      gasPrice?: number;\n    },\n    sign: SignTx,\n    { onOnChainTx }: Pick<ChannelState, 'onOnChainTx'> = {},\n  ): Promise<{\n    accepted: boolean;\n    signedTx: Encoded.Transaction;\n    tx: Encoded.Transaction | Uint8Array;\n  }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.force_progress', {\n        amount,\n        call_data: callData,\n        contract_id: contract,\n        abi_version: abiVersion,\n        gas_price: gasPrice,\n        gas: gasLimit,\n      });\n      return {\n        handler: async (\n          _: Channel,\n          message: ChannelMessage,\n          state: ChannelState,\n        ): Promise<ChannelFsm> => {\n          if (message.method !== 'channels.sign.force_progress_tx') {\n            return handleUnexpectedMessage(this, message, state);\n          }\n          await signAndNotify(\n            this,\n            'channels.force_progress_sign',\n            message.params.data,\n            async (tx) => state.sign(tx, { updates: message.params.data.updates }),\n          );\n          return {\n            handler: (_2: Channel, message2: ChannelMessage, state2: ChannelState): ChannelFsm => {\n              if (message2.method === 'channels.on_chain_tx') {\n                state2.onOnChainTx?.(message2.params.data.tx);\n                emit(this, 'onChainTx', message2.params.data.tx, {\n                  info: message2.params.data.info,\n                  type: message2.params.data.type,\n                });\n                state2.resolve({ accepted: true, tx: message2.params.data.tx });\n                // TODO: shouldn't be unexpected message in this case\n              }\n              return handleUnexpectedMessage(this, message2, state2);\n            },\n            state,\n          };\n        },\n        state: { sign, onOnChainTx },\n      };\n    });\n  }\n\n  /**\n   * Call contract using dry-run\n   *\n   * In order to get the result of a potential contract call, one might need to\n   * dry-run a contract call. It takes the exact same arguments as a call would\n   * and returns the call object.\n   *\n   * The call is executed in the channel's state, but it does not impact the state\n   * whatsoever. It uses as an environment the latest channel's state and the current\n   * top of the blockchain as seen by the node.\n   *\n   * @param options - Options\n   * @example\n   * ```js\n   * channel.callContractStatic({\n   *   contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n   *   callData: 'cb_1111111111111111...',\n   *   amount: 0,\n   *   abiVersion: 1\n   * }).then(({ returnValue, gasUsed }) => {\n   *   console.log('Returned value:', returnValue)\n   *   console.log('Gas used:', gasUsed)\n   * })\n   * ```\n   */\n  async callContractStatic({\n    amount,\n    callData,\n    contract,\n    abiVersion,\n  }: CallContractOptions): Promise<CallContractResult> {\n    return snakeToPascalObjKeys(\n      await call(this, 'channels.dry_run.call_contract', {\n        amount,\n        call_data: callData,\n        contract_id: contract,\n        abi_version: abiVersion,\n      }),\n    );\n  }\n\n  /**\n   * Get contract call result\n   *\n   * The combination of a caller, contract and a round of execution determines the\n   * contract call. Providing an incorrect set of those results in an error response.\n   *\n   * @param options - Options\n   * @param options.caller - Address of contract caller\n   * @param options.contract - Address of the contract\n   * @param options.round - Round when contract was called\n   * @example\n   * ```js\n   * channel.getContractCall({\n   *   caller: 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n   *   contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n   *   round: 3\n   * }).then(({ returnType, returnValue }) => {\n   *   if (returnType === 'ok') console.log(returnValue)\n   * })\n   * ```\n   */\n  async getContractCall({\n    caller,\n    contract,\n    round,\n  }: {\n    caller: Encoded.AccountAddress;\n    contract: Encoded.ContractAddress;\n    round: number;\n  }): Promise<ContractCallObject> {\n    return snakeToPascalObjKeys(\n      await call(this, 'channels.get.contract_call', {\n        caller_id: caller,\n        contract_id: contract,\n        round,\n      }),\n    );\n  }\n\n  /**\n   * Get the latest contract state\n   *\n   * @param contract - Address of the contract\n   * @example\n   * ```js\n   * channel.getContractState(\n   *   'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa'\n   * ).then(({ contract }) => {\n   *   console.log('deposit:', contract.deposit)\n   * })\n   * ```\n   */\n  async getContractState(\n    contract: Encoded.ContractAddress,\n  ): Promise<{ contract: Contract; contractState: object }> {\n    const result = await call(this, 'channels.get.contract', { pubkey: contract });\n    return snakeToPascalObjKeys({\n      ...result,\n      contract: snakeToPascalObjKeys(result.contract),\n    });\n  }\n\n  /**\n   * Clean up all locally stored contract calls\n   *\n   * Contract calls are kept locally in order for the participant to be able to look them up.\n   * They consume memory and in order for the participant to free it - one can prune all messages.\n   * This cleans up all locally stored contract calls and those will no longer be available for\n   * fetching and inspection.\n   */\n  async cleanContractCalls(): Promise<void> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.clean_contract_calls');\n      return {\n        handler(_: Channel, message: ChannelMessage, state: ChannelState): ChannelFsm {\n          if (message.method === 'channels.calls_pruned.reply') {\n            state.resolve();\n            return { handler: channelOpen };\n          }\n          state.reject(new UnexpectedChannelMessageError('Unexpected message received'));\n          return { handler: channelClosed };\n        },\n      };\n    });\n  }\n}\n","/* eslint-disable max-classes-per-file */\nimport WebSocket from 'isomorphic-ws';\nimport { BaseError, UnexpectedTsError, InternalError } from './utils/errors.js';\nimport { Encoded } from './utils/encoder.js';\n\ninterface Message {\n  payload: Object;\n  source: Source.Middleware | Source.Node;\n  subscription: 'KeyBlocks' | 'MicroBlocks' | 'Transactions' | 'Object';\n  target?: string;\n}\n\nenum Source {\n  Middleware = 'mdw',\n  Node = 'node',\n  All = 'all',\n}\n\nexport class MiddlewareSubscriberError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'MiddlewareSubscriberError';\n  }\n}\n\nexport class MiddlewareSubscriberDisconnected extends MiddlewareSubscriberError {\n  constructor(readonly closeEvent: WebSocket.CloseEvent) {\n    super('Connection closed');\n    this.name = 'MiddlewareSubscriberDisconnected';\n  }\n}\n\n/**\n * @category middleware\n */\nexport default class MiddlewareSubscriber {\n  #subscriptions: Array<readonly [target: string, s: Source, cb: (p?: Object, e?: Error) => void]> =\n    [];\n\n  readonly #requestQueue: Array<[isSubscribe: boolean, target: string]> = [];\n\n  #webSocket?: WebSocket;\n\n  get webSocket(): WebSocket | undefined {\n    return this.#webSocket;\n  }\n\n  get #targets(): Set<string> {\n    return new Set(this.#subscriptions.map(([target]) => target));\n  }\n\n  #sendMessage(message: any): void {\n    if (this.#webSocket == null) throw new UnexpectedTsError();\n    this.#webSocket.send(JSON.stringify(message));\n  }\n\n  #sendSubscribe(isSubscribe: boolean, target: string): void {\n    if (this.#webSocket == null) return;\n    const payload = ['KeyBlocks', 'MicroBlocks', 'Transactions'].includes(target)\n      ? target\n      : 'Object';\n    this.#sendMessage({\n      op: isSubscribe ? 'Subscribe' : 'Unsubscribe',\n      payload,\n      ...(payload === 'Object' && { target }),\n    });\n    this.#requestQueue.push([isSubscribe, target]);\n  }\n\n  #emit(condition: (target: string, source: Source) => boolean, p?: Object, e?: Error): void {\n    this.#subscriptions\n      .filter(([target, source]) => condition(target, source))\n      .forEach(([, , cb]) => cb(p, e));\n  }\n\n  constructor(readonly url: string) {}\n\n  #disconnect(onlyReset = false): void {\n    if (this.#webSocket == null) return;\n    if (!onlyReset) this.#webSocket.close();\n    Object.assign(this.#webSocket, {\n      onopen: undefined,\n      onerror: undefined,\n      onmessage: undefined,\n    });\n    this.#webSocket = undefined;\n  }\n\n  async reconnect(): Promise<void> {\n    this.#disconnect();\n    this.#webSocket = await new Promise((resolve) => {\n      const webSocket = new WebSocket(this.url);\n      Object.assign(webSocket, {\n        onopen: () => resolve(webSocket),\n        onerror: (errorEvent: WebSocket.ErrorEvent) => {\n          this.#emit(() => true, undefined, errorEvent.error);\n        },\n        onmessage: (event: WebSocket.MessageEvent) => {\n          if (typeof event.data !== 'string') {\n            throw new InternalError(`Unknown incoming message type: ${typeof event.data}`);\n          }\n          this.#messageHandler(JSON.parse(event.data));\n        },\n        onclose: (event: WebSocket.CloseEvent) => {\n          this.#emit(() => true, undefined, new MiddlewareSubscriberDisconnected(event));\n          this.#disconnect(true);\n        },\n      });\n    });\n    await Promise.all([...this.#targets].map((target) => this.#sendSubscribe(true, target)));\n  }\n\n  #messageHandler(message: string | string[] | Message): void {\n    if (typeof message === 'string' || Array.isArray(message)) {\n      const request = this.#requestQueue.shift();\n      if (request == null) throw new InternalError('Request queue is empty');\n      const [isSubscribe, target] = request;\n      let error;\n      if (typeof message === 'string') error = new MiddlewareSubscriberError(message);\n      if (message.includes(target) !== isSubscribe) {\n        error = new InternalError(\n          `Expected ${target} to be${isSubscribe ? '' : ' not'} included into ${message}`,\n        );\n      }\n      if (error != null) this.#emit((t) => target === t, undefined, error);\n      return;\n    }\n    this.#emit(\n      (target, source) =>\n        (target === message.subscription || target === message.target) &&\n        (source === message.source || source === Source.All),\n      message.payload,\n    );\n  }\n\n  #subscribe(target: string, source: Source, cb: (p?: Object, e?: Error) => void): () => void {\n    const subscription = [target, source, cb] as const;\n    if (this.#targets.size === 0) this.reconnect();\n    if (!this.#targets.has(target)) this.#sendSubscribe(true, target);\n    this.#subscriptions.push(subscription);\n    return () => {\n      this.#subscriptions = this.#subscriptions.filter((item) => item !== subscription);\n      if (!this.#targets.has(target)) this.#sendSubscribe(false, target);\n      if (this.#targets.size === 0) this.#disconnect();\n    };\n  }\n\n  // TODO: replace p?: any with a proper type definition\n\n  subscribeKeyBlocks(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('KeyBlocks', Source.Middleware, cb);\n  }\n\n  subscribeKeyBlocksNode(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('KeyBlocks', Source.Node, cb);\n  }\n\n  subscribeKeyBlocksAll(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('KeyBlocks', Source.All, cb);\n  }\n\n  subscribeMicroBlocks(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('MicroBlocks', Source.Middleware, cb);\n  }\n\n  subscribeMicroBlocksNode(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('MicroBlocks', Source.Node, cb);\n  }\n\n  subscribeMicroBlocksAll(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('MicroBlocks', Source.All, cb);\n  }\n\n  subscribeTransactions(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('Transactions', Source.Middleware, cb);\n  }\n\n  subscribeTransactionsNode(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('Transactions', Source.Node, cb);\n  }\n\n  subscribeTransactionsAll(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('Transactions', Source.All, cb);\n  }\n\n  subscribeObject(\n    target:\n      | Encoded.KeyBlockHash\n      | Encoded.Channel\n      | Encoded.ContractAddress\n      | Encoded.OracleAddress\n      | Encoded.OracleQueryId\n      | Encoded.AccountAddress\n      | Encoded.Name\n      | `${string}.chain`,\n    cb: (p?: any, e?: Error) => void,\n  ): () => void {\n    return this.#subscribe(target, Source.Middleware, cb);\n  }\n\n  subscribeObjectNode(\n    target:\n      | Encoded.KeyBlockHash\n      | Encoded.Channel\n      | Encoded.ContractAddress\n      | Encoded.OracleAddress\n      | Encoded.OracleQueryId\n      | Encoded.AccountAddress\n      | Encoded.Name\n      | `${string}.chain`,\n    cb: (p?: any, e?: Error) => void,\n  ): () => void {\n    return this.#subscribe(target, Source.Node, cb);\n  }\n\n  subscribeObjectAll(\n    target:\n      | Encoded.KeyBlockHash\n      | Encoded.Channel\n      | Encoded.ContractAddress\n      | Encoded.OracleAddress\n      | Encoded.OracleQueryId\n      | Encoded.AccountAddress\n      | Encoded.Name\n      | `${string}.chain`,\n    cb: (p?: any, e?: Error) => void,\n  ): () => void {\n    return this.#subscribe(target, Source.All, cb);\n  }\n}\n","import {\n  OperationParameter,\n  OperationURLParameter,\n  OperationQueryParameter,\n} from \"@azure/core-client\";\n\nexport const accept: OperationParameter = {\n  parameterPath: \"accept\",\n  mapper: {\n    defaultValue: \"application/json\",\n    isConstant: true,\n    serializedName: \"Accept\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const $host: OperationURLParameter = {\n  parameterPath: \"$host\",\n  mapper: {\n    serializedName: \"$host\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n  skipEncoding: true,\n};\n\nexport const accountId: OperationURLParameter = {\n  parameterPath: \"accountId\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"accountId\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const ownedOnly: OperationQueryParameter = {\n  parameterPath: [\"options\", \"ownedOnly\"],\n  mapper: {\n    serializedName: \"owned_only\",\n    type: {\n      name: \"Boolean\",\n    },\n  },\n};\n\nexport const typeParam: OperationQueryParameter = {\n  parameterPath: [\"options\", \"type\"],\n  mapper: {\n    serializedName: \"type\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\n        \"transactions\",\n        \"aexn\",\n        \"aex9\",\n        \"aex141\",\n        \"contract\",\n        \"transfers\",\n        \"claims\",\n        \"swaps\",\n      ],\n    },\n  },\n};\n\nexport const limit: OperationQueryParameter = {\n  parameterPath: [\"options\", \"limit\"],\n  mapper: {\n    defaultValue: 10,\n    constraints: {\n      InclusiveMaximum: 100,\n      InclusiveMinimum: 1,\n    },\n    serializedName: \"limit\",\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const scope: OperationQueryParameter = {\n  parameterPath: [\"options\", \"scope\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"(gen):\\\\d+(-\\\\d+)?\"),\n    },\n    serializedName: \"scope\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const contract: OperationQueryParameter = {\n  parameterPath: [\"options\", \"contract\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n    },\n    serializedName: \"contract\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction2: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction3: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction4: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const by: OperationQueryParameter = {\n  parameterPath: [\"options\", \"by\"],\n  mapper: {\n    serializedName: \"by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"creation\", \"name\", \"symbol\"],\n    },\n  },\n};\n\nexport const prefix: OperationQueryParameter = {\n  parameterPath: [\"options\", \"prefix\"],\n  mapper: {\n    serializedName: \"prefix\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const exact: OperationQueryParameter = {\n  parameterPath: [\"options\", \"exact\"],\n  mapper: {\n    serializedName: \"exact\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction5: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const contractId: OperationURLParameter = {\n  parameterPath: \"contractId\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n    },\n    serializedName: \"contractId\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction6: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const templateId: OperationURLParameter = {\n  parameterPath: \"templateId\",\n  mapper: {\n    serializedName: \"templateId\",\n    required: true,\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const direction7: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const tokenId: OperationURLParameter = {\n  parameterPath: \"tokenId\",\n  mapper: {\n    serializedName: \"tokenId\",\n    required: true,\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const direction8: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const fromParam: OperationQueryParameter = {\n  parameterPath: [\"options\", \"from\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"from\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const to: OperationQueryParameter = {\n  parameterPath: [\"options\", \"to\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"to\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const id: OperationURLParameter = {\n  parameterPath: \"id\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n    },\n    serializedName: \"id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction9: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const by1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"by\"],\n  mapper: {\n    serializedName: \"by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"creation\", \"name\", \"symbol\"],\n    },\n  },\n};\n\nexport const direction10: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const by2: OperationQueryParameter = {\n  parameterPath: [\"options\", \"by\"],\n  mapper: {\n    serializedName: \"by\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const blockHash: OperationQueryParameter = {\n  parameterPath: [\"options\", \"blockHash\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n    },\n    serializedName: \"block_hash\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const hash: OperationQueryParameter = {\n  parameterPath: [\"options\", \"hash\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n    },\n    serializedName: \"hash\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction11: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction12: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const state: OperationQueryParameter = {\n  parameterPath: [\"options\", \"state\"],\n  mapper: {\n    serializedName: \"state\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"active\", \"inactive\"],\n    },\n  },\n};\n\nexport const id1: OperationURLParameter = {\n  parameterPath: \"id\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ch_\\\\w{38,50}$\"),\n    },\n    serializedName: \"id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction13: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const contractId1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"contractId\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n    },\n    serializedName: \"contract_id\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const event: OperationQueryParameter = {\n  parameterPath: [\"options\", \"event\"],\n  mapper: {\n    serializedName: \"event\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const functionParam: OperationQueryParameter = {\n  parameterPath: [\"options\", \"function\"],\n  mapper: {\n    serializedName: \"function\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const functionPrefix: OperationQueryParameter = {\n  parameterPath: [\"options\", \"functionPrefix\"],\n  mapper: {\n    serializedName: \"function_prefix\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const data: OperationQueryParameter = {\n  parameterPath: [\"options\", \"data\"],\n  mapper: {\n    serializedName: \"data\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const aexnArgs: OperationQueryParameter = {\n  parameterPath: [\"options\", \"aexnArgs\"],\n  mapper: {\n    serializedName: \"aexn-args\",\n    type: {\n      name: \"Boolean\",\n    },\n  },\n};\n\nexport const direction14: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction15: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction16: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const contractId2: OperationURLParameter = {\n  parameterPath: \"contractId\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n    },\n    serializedName: \"contract_id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction17: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const scope1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"scope\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"(epoch):\\\\d+(-\\\\d+)?\"),\n    },\n    serializedName: \"scope\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction18: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const height: OperationURLParameter = {\n  parameterPath: \"height\",\n  mapper: {\n    serializedName: \"height\",\n    required: true,\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const direction19: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const validator: OperationURLParameter = {\n  parameterPath: \"validator\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"validator\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction20: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction21: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction22: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const hashOrKbi: OperationURLParameter = {\n  parameterPath: \"hashOrKbi\",\n  mapper: {\n    serializedName: \"hash_or_kbi\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction23: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const hash1: OperationURLParameter = {\n  parameterPath: \"hash\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n    },\n    serializedName: \"hash\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const ownedBy: OperationQueryParameter = {\n  parameterPath: [\"options\", \"ownedBy\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"owned_by\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const state1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"state\"],\n  mapper: {\n    serializedName: \"state\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction24: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction25: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const id2: OperationURLParameter = {\n  parameterPath: \"id\",\n  mapper: {\n    serializedName: \"id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction26: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction27: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction28: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction29: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction30: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction31: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const id3: OperationURLParameter = {\n  parameterPath: \"id\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n    },\n    serializedName: \"id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const intervalBy: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction32: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const minStartDate: OperationQueryParameter = {\n  parameterPath: [\"options\", \"minStartDate\"],\n  mapper: {\n    serializedName: \"min_start_date\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const maxStartDate: OperationQueryParameter = {\n  parameterPath: [\"options\", \"maxStartDate\"],\n  mapper: {\n    serializedName: \"max_start_date\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction33: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy2: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const typeParam1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"type\"],\n  mapper: {\n    serializedName: \"type\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"key\", \"micro\"],\n    },\n  },\n};\n\nexport const direction34: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy3: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction35: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction36: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy4: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction37: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy5: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction38: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction39: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy6: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction40: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction41: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy7: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction42: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy8: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const txType: OperationQueryParameter = {\n  parameterPath: [\"options\", \"txType\"],\n  mapper: {\n    serializedName: \"tx_type\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction43: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const typeParam2: OperationQueryParameter = {\n  parameterPath: [\"options\", \"type\"],\n  mapper: {\n    serializedName: \"type\",\n    type: {\n      name: \"Sequence\",\n      element: {\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"channel_close_mutual\",\n            \"channel_close_solo\",\n            \"channel_create\",\n            \"channel_deposit\",\n            \"channel_force_progress\",\n            \"channel_offchain\",\n            \"channel_settle\",\n            \"channel_slash\",\n            \"channel_snapshot_solo\",\n            \"channel_withdraw\",\n            \"contract_call\",\n            \"contract_create\",\n            \"ga_attach\",\n            \"ga_meta\",\n            \"name_claim\",\n            \"name_preclaim\",\n            \"name_revoke\",\n            \"name_transfer\",\n            \"name_update\",\n            \"oracle_extend\",\n            \"oracle_query\",\n            \"oracle_register\",\n            \"oracle_response\",\n            \"paying_for\",\n            \"spend\",\n          ],\n        },\n      },\n    },\n  },\n  collectionFormat: \"Multi\",\n};\n\nexport const typeGroup: OperationQueryParameter = {\n  parameterPath: [\"options\", \"typeGroup\"],\n  mapper: {\n    serializedName: \"type_group\",\n    type: {\n      name: \"Sequence\",\n      element: {\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"channel\",\n            \"contract\",\n            \"ga\",\n            \"name\",\n            \"oracle\",\n            \"paying_for\",\n            \"spend\",\n          ],\n        },\n      },\n    },\n  },\n  collectionFormat: \"Multi\",\n};\n\nexport const account: OperationQueryParameter = {\n  parameterPath: [\"options\", \"account\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"account\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const channel: OperationQueryParameter = {\n  parameterPath: [\"options\", \"channel\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ch_\\\\w{38,50}$\"),\n    },\n    serializedName: \"channel\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const oracle: OperationQueryParameter = {\n  parameterPath: [\"options\", \"oracle\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n    },\n    serializedName: \"oracle\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const senderId: OperationQueryParameter = {\n  parameterPath: [\"options\", \"senderId\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"sender_id\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const recipientId: OperationQueryParameter = {\n  parameterPath: [\"options\", \"recipientId\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"recipient_id\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const entrypoint: OperationQueryParameter = {\n  parameterPath: [\"options\", \"entrypoint\"],\n  mapper: {\n    serializedName: \"entrypoint\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const scope2: OperationQueryParameter = {\n  parameterPath: [\"options\", \"scope\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"(time|gen):\\\\d+(-\\\\d+)?\"),\n    },\n    serializedName: \"scope\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction44: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const id4: OperationQueryParameter = {\n  parameterPath: [\"options\", \"id\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"id\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction45: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const hash2: OperationURLParameter = {\n  parameterPath: \"hash\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n    },\n    serializedName: \"hash\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction46: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n","import * as coreClient from \"@azure/core-client\";\n\nexport const PathsBx0Ya3V3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsBx0Ya3V3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Activity\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Activity: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Activity\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockTime: {\n        serializedName: \"block_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"SpendTxEvent\",\n            \"OracleRegisterTxEvent\",\n            \"OracleExtendTxEvent\",\n            \"OracleQueryTxEvent\",\n            \"OracleResponseTxEvent\",\n            \"NamePreclaimTxEvent\",\n            \"NameClaimTxEvent\",\n            \"NameTransferTxEvent\",\n            \"NameUpdateTxEvent\",\n            \"NameRevokeTxEvent\",\n            \"ContractCreateTxEvent\",\n            \"ContractCallTxEvent\",\n            \"GaAttachTxEvent\",\n            \"GaMetaTxEvent\",\n            \"ChannelCreateTxEvent\",\n            \"ChannelDepositTxEvent\",\n            \"ChannelWithdrawTxEvent\",\n            \"ChannelForceProgressTxEvent\",\n            \"ChannelCloseMutualTxEvent\",\n            \"ChannelCloseSoloTxEvent\",\n            \"ChannelSlashTxEvent\",\n            \"ChannelSettleTxEvent\",\n            \"ChannelSnapshotSoloTxEvent\",\n            \"ChannelSetDelegatesTxEvent\",\n            \"ChannelOffchainTxEvent\",\n            \"ChannelClientReconnectTxEvent\",\n            \"PayingForTxEvent\",\n          ],\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        type: {\n          name: \"Composite\",\n          className: \"ActivityPayload\",\n        },\n      },\n    },\n  },\n};\n\nexport const ActivityPayload: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ActivityPayload\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      encodedTx: {\n        constraints: {\n          Pattern: new RegExp(\"^tx_\\\\w+$\"),\n        },\n        serializedName: \"encoded_tx\",\n        type: {\n          name: \"String\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"Tx\",\n        },\n      },\n      amount: {\n        serializedName: \"amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      recipientId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"recipient_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      senderId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      recipient: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"recipient\",\n        type: {\n          name: \"String\",\n        },\n      },\n      sender: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender\",\n        type: {\n          name: \"String\",\n        },\n      },\n      tokenId: {\n        serializedName: \"token_id\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      callTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"call_tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        type: {\n          name: \"String\",\n        },\n      },\n      internalTx: {\n        serializedName: \"internal_tx\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      kind: {\n        serializedName: \"kind\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"accounts_extra_lima\",\n            \"accounts_fortuna\",\n            \"accounts_genesis\",\n            \"accounts_lima\",\n            \"accounts_minerva\",\n            \"contracts_lima\",\n            \"reward_dev\",\n            \"reward_block\",\n            \"fee_refund_oracle\",\n            \"fee_lock_name\",\n            \"fee_refund_name\",\n            \"fee_spend_name\",\n            \"reward_oracle\",\n          ],\n        },\n      },\n      refTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ref_tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Tx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Tx\",\n    modelProperties: {\n      recipientId: {\n        serializedName: \"recipient_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorId: {\n        serializedName: \"initiator_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderId: {\n        serializedName: \"responder_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      responderAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelReserve: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_reserve\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockPeriod: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"lock_period\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        type: {\n          name: \"Composite\",\n          className: \"Delegates\",\n        },\n      },\n      channelId: {\n        serializedName: \"channel_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      toId: {\n        serializedName: \"to_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      update: {\n        serializedName: \"update\",\n        type: {\n          name: \"Composite\",\n          className: \"OffChainUpdate\",\n        },\n      },\n      offchainTrees: {\n        serializedName: \"offchain_trees\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorDelegateIds: {\n        serializedName: \"initiator_delegate_ids\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responderDelegateIds: {\n        serializedName: \"responder_delegate_ids\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      queryFormat: {\n        serializedName: \"query_format\",\n        type: {\n          name: \"String\",\n        },\n      },\n      responseFormat: {\n        serializedName: \"response_format\",\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        type: {\n          name: \"String\",\n        },\n      },\n      queryTtl: {\n        serializedName: \"query_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      queryId: {\n        serializedName: \"query_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        type: {\n          name: \"String\",\n        },\n      },\n      commitmentId: {\n        serializedName: \"commitment_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      name: {\n        serializedName: \"name\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nameSalt: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_salt\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      nameFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nameId: {\n        serializedName: \"name_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nameTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointer\",\n            },\n          },\n        },\n      },\n      clientTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"client_ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      ownerId: {\n        serializedName: \"owner_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        type: {\n          name: \"String\",\n        },\n      },\n      callerId: {\n        serializedName: \"caller_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authFun: {\n        constraints: {\n          Pattern: new RegExp(\"^(0x|0X)?[a-fA-F0-9]+$\"),\n        },\n        serializedName: \"auth_fun\",\n        type: {\n          name: \"String\",\n        },\n      },\n      gaId: {\n        serializedName: \"ga_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authData: {\n        serializedName: \"auth_data\",\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n      payerId: {\n        serializedName: \"payer_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"SpendTx\",\n            \"ChannelCreateTx\",\n            \"ChannelDepositTx\",\n            \"ChannelWithdrawTx\",\n            \"ChannelForceProgressTx\",\n            \"ChannelCloseMutualTx\",\n            \"ChannelCloseSoloTx\",\n            \"ChannelSlashTx\",\n            \"ChannelSettleTx\",\n            \"ChannelSnapshotSoloTx\",\n            \"ChannelSetDelegatesTx\",\n            \"OracleRegisterTx\",\n            \"OracleExtendTx\",\n            \"OracleQueryTx\",\n            \"OracleRespondTx\",\n            \"NamePreclaimTx\",\n            \"NameClaimTx\",\n            \"NameUpdateTx\",\n            \"NameTransferTx\",\n            \"NameRevokeTx\",\n            \"ContractCreateTx\",\n            \"ContractCallTx\",\n            \"GAAttachTx\",\n            \"GAMetaTx\",\n            \"PayingForTx\",\n          ],\n        },\n      },\n    },\n  },\n};\n\nexport const Delegates: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Delegates\",\n    modelProperties: {\n      initiator: {\n        serializedName: \"initiator\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responder: {\n        serializedName: \"responder\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainUpdate: coreClient.CompositeMapper = {\n  serializedName: \"OffChainUpdate\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainUpdate\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: {\n      serializedName: \"op\",\n      clientName: \"op\",\n    },\n    modelProperties: {\n      op: {\n        serializedName: \"op\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const RelativeTTL: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"RelativeTTL\",\n    modelProperties: {\n      type: {\n        defaultValue: \"delta\",\n        isConstant: true,\n        serializedName: \"type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      value: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"value\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Ttl: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Ttl\",\n    modelProperties: {\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"delta\", \"block\"],\n        },\n      },\n      value: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"value\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NamePointer: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NamePointer\",\n    modelProperties: {\n      key: {\n        serializedName: \"key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      encodedKey: {\n        serializedName: \"encoded_key\",\n        type: {\n          name: \"String\",\n        },\n      },\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const SignedTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SignedTx\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"Tx\",\n        },\n      },\n      blockHeight: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: -1,\n        },\n        serializedName: \"block_height\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        serializedName: \"block_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      hash: {\n        serializedName: \"hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encodedTx: {\n        serializedName: \"encoded_tx\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const PaginatedResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PaginatedResponse\",\n    modelProperties: {\n      next: {\n        serializedName: \"next\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prev: {\n        serializedName: \"prev\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ErrorResponse\",\n    modelProperties: {\n      error: {\n        serializedName: \"error\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141TokenResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141TokenResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141TokenResponse\",\n    modelProperties: {\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ownerId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"owner_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      tokenId: {\n        serializedName: \"token_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex9BalanceResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex9BalanceResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex9BalanceResponse\",\n    modelProperties: {\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      blockHash: {\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      decimals: {\n        serializedName: \"decimals\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      tokenName: {\n        serializedName: \"token_name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tokenSymbol: {\n        serializedName: \"token_symbol\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txIndex: {\n        serializedName: \"tx_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      txType: {\n        serializedName: \"tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths10R8Q7PV3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths10R8Q7PV3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"DexSwap\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const DexSwap: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DexSwap\",\n    modelProperties: {\n      amounts: {\n        serializedName: \"amounts\",\n        type: {\n          name: \"Composite\",\n          className: \"DexSwapAmounts\",\n        },\n      },\n      action: {\n        serializedName: \"action\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"SWAP\", \"BUY\", \"SELL\"],\n        },\n      },\n      caller: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"caller\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromToken: {\n        serializedName: \"from_token\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      toToken: {\n        serializedName: \"to_token\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      toAccount: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"to_account\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromContract: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"from_contract\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      toContract: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"to_contract\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromAmount: {\n        serializedName: \"from_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      toAmount: {\n        serializedName: \"to_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fromDecimals: {\n        serializedName: \"from_decimals\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      toDecimals: {\n        serializedName: \"to_decimals\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const DexSwapAmounts: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DexSwapAmounts\",\n    modelProperties: {\n      amount0In: {\n        serializedName: \"amount0_in\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      amount1In: {\n        serializedName: \"amount1_in\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      amount0Out: {\n        serializedName: \"amount0_out\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      amount1Out: {\n        serializedName: \"amount1_out\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths16G4GzrV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths16G4GzrV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"NameClaim\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const NameClaim: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameClaim\",\n    modelProperties: {\n      activeFrom: {\n        serializedName: \"active_from\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"NameClaimTx\",\n        },\n      },\n      internalSource: {\n        serializedName: \"internal_source\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameClaimTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameClaimTx\",\n    modelProperties: {\n      name: {\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameSalt: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_salt\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      nameFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NotFoundResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NotFoundResponse\",\n    modelProperties: {\n      error: {\n        serializedName: \"error\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsA60QxwV3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsA60QxwV3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Pointee\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Pointee: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Pointee\",\n    modelProperties: {\n      active: {\n        serializedName: \"active\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      name: {\n        constraints: {\n          Pattern: new RegExp(\"^\\\\w+\\\\.chain$\"),\n        },\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      key: {\n        serializedName: \"key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"NameUpdateTx\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockTime: {\n        serializedName: \"block_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameUpdateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameUpdateTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointer\",\n            },\n          },\n        },\n      },\n      clientTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"client_ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsXcg812V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsXcg812V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        contractCreateTx: {\n          serializedName: \"contract_create_tx\",\n          type: {\n            name: \"Composite\",\n            className: \"Get200ApplicationJsonProperties\",\n          },\n        },\n        contractCallTx: {\n          serializedName: \"contract_call_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsEvgmfsV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx\",\n          },\n        },\n        gaAttachTx: {\n          serializedName: \"ga_attach_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1Mat0BzV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx\",\n          },\n        },\n        gaMetaTx: {\n          serializedName: \"ga_meta_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1Smy8TV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx\",\n          },\n        },\n        channelCloseMutualTx: {\n          serializedName: \"channel_close_mutual_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsTachlnV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseMutualTx\",\n          },\n        },\n        channelCloseSoloTx: {\n          serializedName: \"channel_close_solo_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1AeqodeV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx\",\n          },\n        },\n        channelCreateTx: {\n          serializedName: \"channel_create_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsGp6EyrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx\",\n          },\n        },\n        channelDepositTx: {\n          serializedName: \"channel_deposit_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths10Z6Jt8V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx\",\n          },\n        },\n        channelForceProgressTx: {\n          serializedName: \"channel_force_progress_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1Jkl3L3V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx\",\n          },\n        },\n        channelSetDelegatesTx: {\n          serializedName: \"channel_set_delegates_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsN9Iv8YV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx\",\n          },\n        },\n        channelSettleTx: {\n          serializedName: \"channel_settle_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsCsym65V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx\",\n          },\n        },\n        channelSlashTx: {\n          serializedName: \"channel_slash_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsEwav40V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx\",\n          },\n        },\n        channelSnapshotSoloTx: {\n          serializedName: \"channel_snapshot_solo_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths5Ehb0PV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx\",\n          },\n        },\n        channelWithdrawTx: {\n          serializedName: \"channel_withdraw_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1Qk8BkgV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx\",\n          },\n        },\n        nameClaimTx: {\n          serializedName: \"name_claim_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsC7WhtoV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx\",\n          },\n        },\n        namePreclaimTx: {\n          serializedName: \"name_preclaim_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1R4Z885V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx\",\n          },\n        },\n        nameRevokeTx: {\n          serializedName: \"name_revoke_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsKrpz02V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx\",\n          },\n        },\n        nameTransferTx: {\n          serializedName: \"name_transfer_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsPs07B4V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx\",\n          },\n        },\n        nameUpdateTx: {\n          serializedName: \"name_update_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsTug6HrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx\",\n          },\n        },\n        oracleExtendTx: {\n          serializedName: \"oracle_extend_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths17Dchb7V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx\",\n          },\n        },\n        oracleQueryTx: {\n          serializedName: \"oracle_query_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1Ngkd7FV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx\",\n          },\n        },\n        oracleRegisterTx: {\n          serializedName: \"oracle_register_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsMvqgifV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx\",\n          },\n        },\n        oracleResponseTx: {\n          serializedName: \"oracle_response_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1U2Ve7RV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx\",\n          },\n        },\n        payingForTx: {\n          serializedName: \"paying_for_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1N757S0V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx\",\n          },\n        },\n        spendTx: {\n          serializedName: \"spend_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths11Bqs5V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx\",\n          },\n        },\n        channelOffchainTx: {\n          serializedName: \"channel_offchain_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths4Pjk8DV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx\",\n          },\n        },\n        total: {\n          serializedName: \"total\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Get200ApplicationJsonProperties: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Get200ApplicationJsonProperties\",\n    modelProperties: {\n      ownerId: {\n        serializedName: \"owner_id\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsEvgmfsV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsEvgmfsV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx\",\n      modelProperties: {\n        contractId: {\n          serializedName: \"contract_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        callerId: {\n          serializedName: \"caller_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Mat0BzV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Mat0BzV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx\",\n      modelProperties: {\n        ownerId: {\n          serializedName: \"owner_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Smy8TV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Smy8TV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx\",\n      modelProperties: {\n        gaId: {\n          serializedName: \"ga_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsTachlnV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseMutualTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsTachlnV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseMutualTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1AeqodeV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1AeqodeV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsGp6EyrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsGp6EyrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx\",\n      modelProperties: {\n        initiatorId: {\n          serializedName: \"initiator_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        responderId: {\n          serializedName: \"responder_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths10Z6Jt8V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths10Z6Jt8V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Jkl3L3V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Jkl3L3V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsN9Iv8YV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsN9Iv8YV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsCsym65V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsCsym65V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsEwav40V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsEwav40V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths5Ehb0PV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths5Ehb0PV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Qk8BkgV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Qk8BkgV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        toId: {\n          serializedName: \"to_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsC7WhtoV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsC7WhtoV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx\",\n      modelProperties: {\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1R4Z885V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1R4Z885V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx\",\n      modelProperties: {\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        commitmentId: {\n          serializedName: \"commitment_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsKrpz02V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsKrpz02V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx\",\n      modelProperties: {\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        nameId: {\n          serializedName: \"name_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsPs07B4V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsPs07B4V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx\",\n      modelProperties: {\n        recipientId: {\n          serializedName: \"recipient_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        nameId: {\n          serializedName: \"name_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsTug6HrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsTug6HrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx\",\n      modelProperties: {\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        nameId: {\n          serializedName: \"name_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths17Dchb7V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths17Dchb7V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx\",\n      modelProperties: {\n        oracleId: {\n          serializedName: \"oracle_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Ngkd7FV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Ngkd7FV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx\",\n      modelProperties: {\n        senderId: {\n          serializedName: \"sender_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        oracleId: {\n          serializedName: \"oracle_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsMvqgifV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsMvqgifV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx\",\n      modelProperties: {\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1U2Ve7RV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1U2Ve7RV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx\",\n      modelProperties: {\n        oracleId: {\n          serializedName: \"oracle_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1N757S0V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1N757S0V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx\",\n      modelProperties: {\n        payerId: {\n          serializedName: \"payer_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths11Bqs5V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths11Bqs5V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx\",\n      modelProperties: {\n        senderId: {\n          serializedName: \"sender_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        recipientId: {\n          serializedName: \"recipient_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths4Pjk8DV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths4Pjk8DV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141Response\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141Response: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141Response\",\n    modelProperties: {\n      baseUrl: {\n        serializedName: \"base_url\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      extensions: {\n        serializedName: \"extensions\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      limits: {\n        serializedName: \"limits\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      invalid: {\n        serializedName: \"invalid\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      creationTime: {\n        serializedName: \"creation_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141TemplatesResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141TemplatesResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141TemplatesResponse\",\n    modelProperties: {\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      edition: {\n        serializedName: \"edition\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      templateId: {\n        serializedName: \"template_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141TemplateTokensResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141TemplateTokensResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141TemplateTokensResponse\",\n    modelProperties: {\n      ownerId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      tokenId: {\n        serializedName: \"token_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141TokenResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141TokenDetailResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141TokenDetailResponse\",\n    modelProperties: {\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ownerId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tokenId: {\n        serializedName: \"token_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      metadata: {\n        serializedName: \"metadata\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141TransferEvent\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141TransferEvent: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141TransferEvent\",\n    modelProperties: {\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      recipient: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"recipient\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sender: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tokenId: {\n        serializedName: \"token_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex9Response\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex9Response: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex9Response\",\n    modelProperties: {\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initialSupply: {\n        serializedName: \"initial_supply\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      eventSupply: {\n        serializedName: \"event_supply\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      decimals: {\n        serializedName: \"decimals\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      extensions: {\n        serializedName: \"extensions\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      holders: {\n        serializedName: \"holders\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      name: {\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      symbol: {\n        serializedName: \"symbol\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      invalid: {\n        serializedName: \"invalid\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex9ContractBalanceResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex9ContractBalanceResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex9ContractBalanceResponse\",\n    modelProperties: {\n      accountId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      blockHash: {\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lastTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"last_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lastLogIdx: {\n        serializedName: \"last_log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        account: {\n          constraints: {\n            Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n          },\n          serializedName: \"account\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        amount: {\n          serializedName: \"amount\",\n          required: true,\n          type: {\n            // @ts-expect-error we are extending autorest with BigInt support\n            name: \"BigInt\",\n          },\n        },\n        contract: {\n          constraints: {\n            Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n          },\n          serializedName: \"contract\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Get200ApplicationJsonAllOfPropertiesItemsItem\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Get200ApplicationJsonAllOfPropertiesItemsItem: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className: \"Get200ApplicationJsonAllOfPropertiesItemsItem\",\n      modelProperties: {\n        account: {\n          constraints: {\n            Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n          },\n          serializedName: \"account\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        amount: {\n          serializedName: \"amount\",\n          required: true,\n          type: {\n            // @ts-expect-error we are extending autorest with BigInt support\n            name: \"BigInt\",\n          },\n        },\n        contract: {\n          constraints: {\n            Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n          },\n          serializedName: \"contract\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        height: {\n          serializedName: \"height\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Channel\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Channel: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Channel\",\n    modelProperties: {\n      active: {\n        serializedName: \"active\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channel: {\n        constraints: {\n          Pattern: new RegExp(\"^ch_\\\\w{38,50}$\"),\n        },\n        serializedName: \"channel\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      channelReserve: {\n        serializedName: \"channel_reserve\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      initiator: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"initiator\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmount: {\n        serializedName: \"initiator_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lastUpdatedHeight: {\n        serializedName: \"last_updated_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lastUpdatedTxType: {\n        serializedName: \"last_updated_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lastUpdatedTime: {\n        serializedName: \"last_updated_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      lastUpdatedTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"last_updated_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lockPeriod: {\n        serializedName: \"lock_period\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lockedUntil: {\n        serializedName: \"locked_until\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      responder: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"responder\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responderAmount: {\n        serializedName: \"responder_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      round: {\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      soloRound: {\n        serializedName: \"solo_round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        constraints: {\n          Pattern: new RegExp(\"^st_\\\\w+$\"),\n        },\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      updatesCount: {\n        serializedName: \"updates_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"ContractCall\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const ContractCall: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCall\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"call_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      internalTx: {\n        serializedName: \"internal_tx\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      localIdx: {\n        serializedName: \"local_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"ContractLog\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const ContractLog: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractLog\",\n    modelProperties: {\n      args: {\n        serializedName: \"args\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockTime: {\n        serializedName: \"block_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      callTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"call_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      data: {\n        serializedName: \"data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      eventHash: {\n        serializedName: \"event_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      eventName: {\n        serializedName: \"event_name\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      extCallerContractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ext_caller_contract_id\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      extCallerContractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ext_caller_contract_tx_hash\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      parentContractId: {\n        serializedName: \"parent_contract_id\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Contract: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Contract\",\n    modelProperties: {\n      aexnType: {\n        serializedName: \"aexn_type\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contract: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      createTx: {\n        serializedName: \"create_tx\",\n        type: {\n          name: \"Composite\",\n          className: \"ContractCreateTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractCreateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCreateTx\",\n    modelProperties: {\n      ownerId: {\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"DexSwap\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"DexSwap\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1F8GzwrV3HyperchainEpochsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1F8GzwrV3HyperchainEpochsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"EpochInfo\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const EpochInfo: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"EpochInfo\",\n    modelProperties: {\n      epoch: {\n        serializedName: \"epoch\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      first: {\n        serializedName: \"first\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      last: {\n        serializedName: \"last\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      length: {\n        serializedName: \"length\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      seed: {\n        serializedName: \"seed\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lastPinHeight: {\n        serializedName: \"last_pin_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      parentBlockHash: {\n        serializedName: \"parent_block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lastLeader: {\n        serializedName: \"last_leader\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      epochStartTime: {\n        serializedName: \"epoch_start_time\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      validators: {\n        serializedName: \"validators\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"EpochInfoValidatorsItem\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const EpochInfoValidatorsItem: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"EpochInfoValidatorsItem\",\n    modelProperties: {\n      validator: {\n        serializedName: \"validator\",\n        type: {\n          name: \"String\",\n        },\n      },\n      stake: {\n        serializedName: \"stake\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths7W5O80V3HyperchainScheduleGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths7W5O80V3HyperchainScheduleGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Schedule\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Schedule: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Schedule\",\n    modelProperties: {\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      leader: {\n        serializedName: \"leader\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Qg7SclV3HyperchainValidatorsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Qg7SclV3HyperchainValidatorsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Validator\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Validator: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Validator\",\n    modelProperties: {\n      epoch: {\n        serializedName: \"epoch\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      validator: {\n        serializedName: \"validator\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      totalStakes: {\n        serializedName: \"total_stakes\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      delegates: {\n        serializedName: \"delegates\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      rewardsEarned: {\n        serializedName: \"rewards_earned\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pinningHistory: {\n        serializedName: \"pinning_history\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"Number\" } },\n        },\n      },\n    },\n  },\n};\n\nexport const Paths7Ks32NV3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths7Ks32NV3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Delegate\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Delegate: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Delegate\",\n    modelProperties: {\n      epoch: {\n        serializedName: \"epoch\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      delegate: {\n        serializedName: \"delegate\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stake: {\n        serializedName: \"stake\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      validator: {\n        serializedName: \"validator\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsDwhnfdV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsDwhnfdV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Delegate\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"KeyBlockExtended\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const KeyBlock: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"KeyBlock\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      prevHash: {\n        serializedName: \"prev_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevKeyHash: {\n        serializedName: \"prev_key_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      miner: {\n        serializedName: \"miner\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      beneficiary: {\n        serializedName: \"beneficiary\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      target: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"target\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pow: {\n        constraints: {\n          MinItems: 42,\n          MaxItems: 42,\n        },\n        serializedName: \"pow\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              InclusiveMaximum: 4294967295,\n              InclusiveMinimum: 0,\n            },\n            type: {\n              name: \"Number\",\n            },\n          },\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      time: {\n        serializedName: \"time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      info: {\n        serializedName: \"info\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"MicroBlockExtended\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const MicroBlockHeader: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"MicroBlockHeader\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pofHash: {\n        serializedName: \"pof_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevHash: {\n        serializedName: \"prev_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevKeyHash: {\n        serializedName: \"prev_key_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txsHash: {\n        serializedName: \"txs_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      signature: {\n        serializedName: \"signature\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      time: {\n        serializedName: \"time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Transaction\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Transaction: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Transaction\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      encodedTx: {\n        constraints: {\n          Pattern: new RegExp(\"^tx_\\\\w+$\"),\n        },\n        serializedName: \"encoded_tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"Tx\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Name\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Name: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Name\",\n    modelProperties: {\n      active: {\n        serializedName: \"active\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^nm_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      activeFrom: {\n        serializedName: \"active_from\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      approximateActivationTime: {\n        serializedName: \"approximate_activation_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      approximateExpireTime: {\n        serializedName: \"approximate_expire_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      expireHeight: {\n        serializedName: \"expire_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointer\",\n            },\n          },\n        },\n      },\n      auction: {\n        serializedName: \"auction\",\n        type: {\n          name: \"Composite\",\n          className: \"Auction\",\n        },\n      },\n      auctionTimeout: {\n        serializedName: \"auction_timeout\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      ownership: {\n        serializedName: \"ownership\",\n        type: {\n          name: \"Composite\",\n          className: \"NameOwnership\",\n        },\n      },\n      name: {\n        constraints: {\n          Pattern: new RegExp(\"^\\\\w+\\\\.chain$\"),\n        },\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameFee: {\n        serializedName: \"name_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      revoke: {\n        serializedName: \"revoke\",\n        type: {\n          name: \"Composite\",\n          className: \"NameTx\",\n        },\n      },\n      claimsCount: {\n        serializedName: \"claims_count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Auction: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Auction\",\n    modelProperties: {\n      auctionEnd: {\n        serializedName: \"auction_end\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      activationTime: {\n        serializedName: \"activation_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      approximateExpireTime: {\n        serializedName: \"approximate_expire_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      lastBid: {\n        serializedName: \"last_bid\",\n        type: {\n          name: \"Composite\",\n          className: \"AuctionLastBid\",\n        },\n      },\n      name: {\n        constraints: {\n          Pattern: new RegExp(\"^\\\\w+\\\\.chain$\"),\n        },\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameFee: {\n        serializedName: \"name_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      claimsCount: {\n        serializedName: \"claims_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const AuctionLastBid: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"AuctionLastBid\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      encodedTx: {\n        constraints: {\n          Pattern: new RegExp(\"^tx_\\\\w+$\"),\n        },\n        serializedName: \"encoded_tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"AuctionLastBidTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const Components17W16A5SchemasAuctionPropertiesLastBidPropertiesTxAllof1: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Components17W16A5SchemasAuctionPropertiesLastBidPropertiesTxAllof1\",\n      modelProperties: {\n        nameId: {\n          constraints: {\n            Pattern: new RegExp(\"^nm_\\\\w{38,50}$\"),\n          },\n          serializedName: \"name_id\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        type: {\n          serializedName: \"type\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        version: {\n          serializedName: \"version\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const NameOwnership: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameOwnership\",\n    modelProperties: {\n      current: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"current\",\n        type: {\n          name: \"String\",\n        },\n      },\n      original: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"original\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameTx\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"NameTxTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameRevokeTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameRevokeTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Components171VsjiSchemasNametxPropertiesTxAllof1: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className: \"Components171VsjiSchemasNametxPropertiesTxAllof1\",\n      modelProperties: {\n        type: {\n          serializedName: \"type\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        version: {\n          serializedName: \"version\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Auction\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"NameClaim\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"NameClaim\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"NameTransfer\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const NameTransfer: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameTransfer\",\n    modelProperties: {\n      activeFrom: {\n        serializedName: \"active_from\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"NameTransferTx\",\n        },\n      },\n      internalSource: {\n        serializedName: \"internal_source\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameTransferTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameTransferTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      recipientId: {\n        serializedName: \"recipient_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"NameUpdate\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const NameUpdate: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameUpdate\",\n    modelProperties: {\n      activeFrom: {\n        serializedName: \"active_from\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"NameUpdateTx\",\n        },\n      },\n      internalSource: {\n        serializedName: \"internal_source\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Oracle\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Oracle: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Oracle\",\n    modelProperties: {\n      active: {\n        serializedName: \"active\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      activeFrom: {\n        serializedName: \"active_from\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      approximateExpireTime: {\n        serializedName: \"approximate_expire_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      expireHeight: {\n        serializedName: \"expire_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      registerTime: {\n        serializedName: \"register_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      registerTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"register_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      format: {\n        serializedName: \"format\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleFormat\",\n        },\n      },\n      oracle: {\n        constraints: {\n          Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n        },\n        serializedName: \"oracle\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      register: {\n        serializedName: \"register\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleFormat: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleFormat\",\n    modelProperties: {\n      query: {\n        serializedName: \"query\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleTx\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      encodedTx: {\n        constraints: {\n          Pattern: new RegExp(\"^tx_\\\\w+$\"),\n        },\n        serializedName: \"encoded_tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleTxTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleRegisterTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleRegisterTx\",\n    modelProperties: {\n      queryFormat: {\n        serializedName: \"query_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseFormat: {\n        serializedName: \"response_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Components1Viuqa3SchemasOracletxPropertiesTxAllof1: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className: \"Components1Viuqa3SchemasOracletxPropertiesTxAllof1\",\n      modelProperties: {\n        oracleId: {\n          constraints: {\n            Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n          },\n          serializedName: \"oracle_id\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        type: {\n          serializedName: \"type\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        version: {\n          serializedName: \"version\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n        txHash: {\n          constraints: {\n            Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n          },\n          serializedName: \"tx_hash\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"OracleExtend\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const OracleExtend: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleExtend\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleExtendTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleExtendTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleExtendTx\",\n    modelProperties: {\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"OracleQuery\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const OracleQuery: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleQuery\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockTime: {\n        serializedName: \"block_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      queryId: {\n        constraints: {\n          Pattern: new RegExp(\"^oq_\\\\w{38,50}$\"),\n        },\n        serializedName: \"query_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleResponse\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        constraints: {\n          Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n        },\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      queryTtl: {\n        serializedName: \"query_ttl\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      senderId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        serializedName: \"ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleResponse\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockTime: {\n        serializedName: \"block_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      queryId: {\n        constraints: {\n          Pattern: new RegExp(\"^oq_\\\\w{38,50}$\"),\n        },\n        serializedName: \"query_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleQuery\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        constraints: {\n          Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n        },\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      ttl: {\n        serializedName: \"ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"OracleResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Stats: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Stats\",\n    modelProperties: {\n      minersCount: {\n        serializedName: \"miners_count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      feesTrend: {\n        serializedName: \"fees_trend\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      last24HsAverageTransactionFees: {\n        serializedName: \"last_24hs_average_transaction_fees\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      last24HsTransactions: {\n        serializedName: \"last_24hs_transactions\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      maxTransactionsPerSecond: {\n        serializedName: \"max_transactions_per_second\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      maxTransactionsPerSecondBlockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^kh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"max_transactions_per_second_block_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      transactionsTrend: {\n        serializedName: \"transactions_trend\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsFso5IiV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsFso5IiV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Stat: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Stat\",\n    modelProperties: {\n      count: {\n        serializedName: \"count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      startDate: {\n        serializedName: \"start_date\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      endDate: {\n        serializedName: \"end_date\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Fl1Lh2V3StatsAex9TransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Fl1Lh2V3StatsAex9TransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1A27TirV3StatsBlocksGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1A27TirV3StatsBlocksGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths72Dp44V3StatsContractsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths72Dp44V3StatsContractsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1J83O75V3StatsDeltaGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1J83O75V3StatsDeltaGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"DeltaStat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const DeltaStat: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DeltaStat\",\n    modelProperties: {\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      auctionsStarted: {\n        serializedName: \"auctions_started\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockReward: {\n        serializedName: \"block_reward\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      burnedInAuctions: {\n        serializedName: \"burned_in_auctions\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelsClosed: {\n        serializedName: \"channels_closed\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      channelsOpened: {\n        serializedName: \"channels_opened\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractsCreated: {\n        serializedName: \"contracts_created\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      devReward: {\n        serializedName: \"dev_reward\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      namesActivated: {\n        serializedName: \"names_activated\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      namesExpired: {\n        serializedName: \"names_expired\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      namesRevoked: {\n        serializedName: \"names_revoked\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      oraclesExpired: {\n        serializedName: \"oracles_expired\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      oraclesRegistered: {\n        serializedName: \"oracles_registered\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lastTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"last_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lockedInAuctions: {\n        serializedName: \"locked_in_auctions\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockedInChannels: {\n        serializedName: \"locked_in_channels\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Qw6KhfV3StatsDifficultyGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Qw6KhfV3StatsDifficultyGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1IskjkV3StatsHashrateGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1IskjkV3StatsHashrateGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths50Qhc7V3StatsMinersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths50Qhc7V3StatsMinersGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Miner\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Miner: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Miner\",\n    modelProperties: {\n      miner: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"miner\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      totalReward: {\n        serializedName: \"total_reward\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsD92Xl6V3StatsNamesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsD92Xl6V3StatsNamesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1K55ZdgV3StatsTotalGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1K55ZdgV3StatsTotalGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"TotalStat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const TotalStat: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"TotalStat\",\n    modelProperties: {\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contracts: {\n        serializedName: \"contracts\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lockedInAuctions: {\n        serializedName: \"locked_in_auctions\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      burnedInAuctions: {\n        serializedName: \"burned_in_auctions\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockedInChannels: {\n        serializedName: \"locked_in_channels\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      activeAuctions: {\n        serializedName: \"active_auctions\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      activeNames: {\n        serializedName: \"active_names\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      inactiveNames: {\n        serializedName: \"inactive_names\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      activeOracles: {\n        serializedName: \"active_oracles\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      inactiveOracles: {\n        serializedName: \"inactive_oracles\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      openChannels: {\n        serializedName: \"open_channels\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      sumBlockReward: {\n        serializedName: \"sum_block_reward\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      sumDevReward: {\n        serializedName: \"sum_dev_reward\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      totalTokenSupply: {\n        serializedName: \"total_token_supply\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lastTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"last_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths3Bfys0V3StatsTotalAccountsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths3Bfys0V3StatsTotalAccountsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths6PaqluV3StatsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths6PaqluV3StatsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Status: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Status\",\n    modelProperties: {\n      mdwAsyncTasks: {\n        serializedName: \"mdw_async_tasks\",\n        type: {\n          name: \"Composite\",\n          className: \"StatusMdwAsyncTasks\",\n        },\n      },\n      mdwGensPerMinute: {\n        serializedName: \"mdw_gens_per_minute\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      mdwHeight: {\n        serializedName: \"mdw_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      mdwLastMigration: {\n        serializedName: \"mdw_last_migration\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      mdwRevision: {\n        serializedName: \"mdw_revision\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      mdwSynced: {\n        serializedName: \"mdw_synced\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      mdwSyncing: {\n        serializedName: \"mdw_syncing\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      mdwTxIndex: {\n        serializedName: \"mdw_tx_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      mdwVersion: {\n        serializedName: \"mdw_version\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeHeight: {\n        serializedName: \"node_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      nodeProgress: {\n        serializedName: \"node_progress\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      nodeRevision: {\n        serializedName: \"node_revision\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeSyncing: {\n        serializedName: \"node_syncing\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      nodeVersion: {\n        serializedName: \"node_version\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const StatusMdwAsyncTasks: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"StatusMdwAsyncTasks\",\n    modelProperties: {\n      longTasks: {\n        serializedName: \"long_tasks\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      producerBuffer: {\n        serializedName: \"producer_buffer\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      totalPending: {\n        serializedName: \"total_pending\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Transaction\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsI72FylV3TransactionsPendingGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsI72FylV3TransactionsPendingGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"PendingTransaction\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const PendingTransaction: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PendingTransaction\",\n    modelProperties: {\n      blockHash: {\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      encodedTx: {\n        constraints: {\n          Pattern: new RegExp(\"^tx_\\\\w+$\"),\n        },\n        serializedName: \"encoded_tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      failures: {\n        serializedName: \"failures\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"Tx\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Transfer\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Transfer: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Transfer\",\n    modelProperties: {\n      accountId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      kind: {\n        serializedName: \"kind\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"reward_dev\", \"reward_block\"],\n        },\n      },\n      refBlockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ref_block_hash\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      refTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ref_tx_hash\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      refTxType: {\n        serializedName: \"ref_tx_type\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Aex9TransferEvent: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex9TransferEvent\",\n    modelProperties: {\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      recipientId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"recipient_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      senderId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Aex9TransferResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex9TransferResponse\",\n    modelProperties: {\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      callTxi: {\n        serializedName: \"call_txi\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      recipient: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"recipient\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sender: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const InternalContractCallEvent: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"InternalContractCallEvent\",\n    modelProperties: {\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"call_tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      internalTx: {\n        serializedName: \"internal_tx\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const InternalTransferEvent: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"InternalTransferEvent\",\n    modelProperties: {\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      kind: {\n        serializedName: \"kind\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"accounts_extra_lima\",\n            \"accounts_fortuna\",\n            \"accounts_genesis\",\n            \"accounts_lima\",\n            \"accounts_minerva\",\n            \"contracts_lima\",\n            \"reward_dev\",\n            \"reward_block\",\n            \"fee_refund_oracle\",\n            \"fee_lock_name\",\n            \"fee_refund_name\",\n            \"fee_spend_name\",\n            \"reward_oracle\",\n          ],\n        },\n      },\n      refTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ref_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameClaimEvent: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameClaimEvent\",\n    modelProperties: {\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n    },\n  },\n};\n\nexport const SpendTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SpendTx\",\n    modelProperties: {\n      recipientId: {\n        serializedName: \"recipient_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCreateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCreateTx\",\n    modelProperties: {\n      initiatorId: {\n        serializedName: \"initiator_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderId: {\n        serializedName: \"responder_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responderAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelReserve: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_reserve\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockPeriod: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"lock_period\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        type: {\n          name: \"Composite\",\n          className: \"Delegates\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelDepositTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelDepositTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelWithdrawTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelWithdrawTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      toId: {\n        serializedName: \"to_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelForceProgressTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelForceProgressTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      update: {\n        serializedName: \"update\",\n        type: {\n          name: \"Composite\",\n          className: \"OffChainUpdate\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      offchainTrees: {\n        serializedName: \"offchain_trees\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCloseMutualTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCloseMutualTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCloseSoloTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCloseSoloTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSlashTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSlashTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSettleTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSettleTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSnapshotSoloTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSnapshotSoloTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSetDelegatesTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSetDelegatesTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorDelegateIds: {\n        serializedName: \"initiator_delegate_ids\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responderDelegateIds: {\n        serializedName: \"responder_delegate_ids\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleQueryTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleQueryTx\",\n    modelProperties: {\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      queryTtl: {\n        serializedName: \"query_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleRespondTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleRespondTx\",\n    modelProperties: {\n      queryId: {\n        serializedName: \"query_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NamePreclaimTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NamePreclaimTx\",\n    modelProperties: {\n      commitmentId: {\n        serializedName: \"commitment_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractCallTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCallTx\",\n    modelProperties: {\n      callerId: {\n        serializedName: \"caller_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GAAttachTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GAAttachTx\",\n    modelProperties: {\n      ownerId: {\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      authFun: {\n        constraints: {\n          Pattern: new RegExp(\"^(0x|0X)?[a-fA-F0-9]+$\"),\n        },\n        serializedName: \"auth_fun\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GAMetaTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GAMetaTx\",\n    modelProperties: {\n      gaId: {\n        serializedName: \"ga_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      authData: {\n        serializedName: \"auth_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const PayingForTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PayingForTx\",\n    modelProperties: {\n      payerId: {\n        serializedName: \"payer_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1EfdbjrV3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1EfdbjrV3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsBx0Ya3V3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PaginatedResponse.type.modelProperties,\n        ...PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1\n          .type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsZpy8S9V3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsZpy8S9V3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths10R8Q7PV3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths16Cyh9EV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths16Cyh9EV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths16G4GzrV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Mheci5V3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Mheci5V3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsA60QxwV3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PaginatedResponse.type.modelProperties,\n        ...Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1\n          .type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths194Lg3IV3HyperchainEpochsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths194Lg3IV3HyperchainEpochsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1F8GzwrV3HyperchainEpochsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1S5Zlt1V3HyperchainScheduleGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1S5Zlt1V3HyperchainScheduleGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths7W5O80V3HyperchainScheduleGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Ibn686V3HyperchainValidatorsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Ibn686V3HyperchainValidatorsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Qg7SclV3HyperchainValidatorsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1I4U8D5V3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1I4U8D5V3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths7Ks32NV3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths15K0AlgV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths15K0AlgV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsDwhnfdV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsCgzmimV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsCgzmimV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsFso5IiV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1UxyhelV3StatsAex9TransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1UxyhelV3StatsAex9TransfersGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Fl1Lh2V3StatsAex9TransfersGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Sxjoy0V3StatsBlocksGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Sxjoy0V3StatsBlocksGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1A27TirV3StatsBlocksGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsWbrhqnV3StatsContractsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsWbrhqnV3StatsContractsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths72Dp44V3StatsContractsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths5Xf9ScV3StatsDeltaGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths5Xf9ScV3StatsDeltaGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1J83O75V3StatsDeltaGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1D7Up0DV3StatsDifficultyGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1D7Up0DV3StatsDifficultyGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Qw6KhfV3StatsDifficultyGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsR51VshV3StatsHashrateGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsR51VshV3StatsHashrateGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1IskjkV3StatsHashrateGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsA8Q6T7V3StatsMinersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsA8Q6T7V3StatsMinersGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths50Qhc7V3StatsMinersGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsCeyhpaV3StatsNamesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsCeyhpaV3StatsNamesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsD92Xl6V3StatsNamesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsJoz7P5V3StatsTotalGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsJoz7P5V3StatsTotalGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1K55ZdgV3StatsTotalGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths15F3FfuV3StatsTotalAccountsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths15F3FfuV3StatsTotalAccountsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths3Bfys0V3StatsTotalAccountsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1IfhshmV3StatsTransactionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1IfhshmV3StatsTransactionsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths6PaqluV3StatsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsUq0T7JV3TransactionsPendingGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsUq0T7JV3TransactionsPendingGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsI72FylV3TransactionsPendingGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const AuctionLastBidTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"AuctionLastBidTx\",\n    modelProperties: {\n      ...NameClaimTx.type.modelProperties,\n      ...Components17W16A5SchemasAuctionPropertiesLastBidPropertiesTxAllof1.type\n        .modelProperties,\n    },\n  },\n};\n\nexport const KeyBlockExtended: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"KeyBlockExtended\",\n    modelProperties: {\n      ...KeyBlock.type.modelProperties,\n      beneficiaryReward: {\n        serializedName: \"beneficiary_reward\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      flags: {\n        constraints: {\n          Pattern: new RegExp(\"^ba_\\\\w+$\"),\n        },\n        serializedName: \"flags\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      microBlocksCount: {\n        serializedName: \"micro_blocks_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      transactionsCount: {\n        serializedName: \"transactions_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const MicroBlockExtended: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"MicroBlockExtended\",\n    modelProperties: {\n      ...MicroBlockHeader.type.modelProperties,\n      microBlockIndex: {\n        serializedName: \"micro_block_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      transactionsCount: {\n        serializedName: \"transactions_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gas: {\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      flags: {\n        constraints: {\n          Pattern: new RegExp(\"^ba_\\\\w+$\"),\n        },\n        serializedName: \"flags\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameTxTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameTxTx\",\n    modelProperties: {\n      ...NameRevokeTx.type.modelProperties,\n      ...Components171VsjiSchemasNametxPropertiesTxAllof1.type.modelProperties,\n    },\n  },\n};\n\nexport const OracleTxTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleTxTx\",\n    modelProperties: {\n      ...OracleRegisterTx.type.modelProperties,\n      ...Components1Viuqa3SchemasOracletxPropertiesTxAllof1.type\n        .modelProperties,\n    },\n  },\n};\n\nexport let discriminators = {\n  \"OffChainUpdate.OffChainUpdate\": OffChainUpdate,\n};\n","import { createSerializer } from \"../../utils/autorest.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n  MiddlewareOptionalParams,\n  GetAccountActivitiesOptionalParams,\n  GetAccountActivitiesResponse,\n  GetAex141OwnedTokensOptionalParams,\n  GetAex141OwnedTokensResponse,\n  GetAex9AccountBalancesOptionalParams,\n  GetAex9AccountBalancesResponse,\n  GetAccountDexSwapsOptionalParams,\n  GetAccountDexSwapsResponse,\n  GetAccountNameClaimsOptionalParams,\n  GetAccountNameClaimsResponse,\n  GetAccountPointeesOptionalParams,\n  GetAccountPointeesResponse,\n  GetAccountTransactionsCountOptionalParams,\n  GetAccountTransactionsCountResponse,\n  GetSortedAex141ContractsOptionalParams,\n  GetSortedAex141ContractsResponse,\n  GetAex141ContractTemplatesOptionalParams,\n  GetAex141ContractTemplatesResponse,\n  GetAex141TemplateTokensOptionalParams,\n  GetAex141TemplateTokensResponse,\n  GetAex141ContractTokensOptionalParams,\n  GetAex141ContractTokensResponse,\n  GetAex141TokenOwnerOptionalParams,\n  GetAex141TokenOwnerResponse,\n  GetAex141ContractTransfersOptionalParams,\n  GetAex141ContractTransfersResponse,\n  GetAex141ByContractOptionalParams,\n  GetAex141ByContractResponse,\n  GetSortedAex9TokensOptionalParams,\n  GetSortedAex9TokensResponse,\n  GetAex9TokensCountOptionalParams,\n  GetAex9TokensCountResponse,\n  GetAex9ContractBalancesOptionalParams,\n  GetAex9ContractBalancesResponse,\n  GetAex9ContractAccountBalanceOptionalParams,\n  GetAex9ContractAccountBalanceResponse,\n  GetAex9ContractAccountBalanceHistoryOptionalParams,\n  GetAex9ContractAccountBalanceHistoryResponse,\n  GetAex9ByContractOptionalParams,\n  GetAex9ByContractResponse,\n  GetChannelsOptionalParams,\n  GetChannelsResponse,\n  GetChannelOptionalParams,\n  GetChannelResponse,\n  GetContractCallsOptionalParams,\n  GetContractCallsResponse,\n  GetContractLogsOptionalParams,\n  GetContractLogsResponse,\n  GetContractOptionalParams,\n  GetContractResponse,\n  GetDexSwapsOptionalParams,\n  GetDexSwapsResponse,\n  GetDexSwapsByContractIdOptionalParams,\n  GetDexSwapsByContractIdResponse,\n  GetEpochsOptionalParams,\n  GetEpochsResponse,\n  GetEpochTopOptionalParams,\n  GetEpochTopResponse,\n  GetSchedulesOptionalParams,\n  GetSchedulesResponse,\n  GetScheduleOptionalParams,\n  GetScheduleResponse,\n  GetValidatorsOptionalParams,\n  GetValidatorsResponse,\n  GetValidatorOptionalParams,\n  GetValidatorResponse,\n  GetValidatorDelegatesOptionalParams,\n  GetValidatorDelegatesResponse,\n  GetTopValidatorDelegatesOptionalParams,\n  GetTopValidatorDelegatesResponse,\n  GetKeyBlocksOptionalParams,\n  GetKeyBlocksResponse,\n  GetKeyBlockOptionalParams,\n  GetKeyBlockResponse,\n  GetKeyBlockMicroBlocksOptionalParams,\n  GetKeyBlockMicroBlocksResponse,\n  GetMicroBlockOptionalParams,\n  GetMicroBlockResponse,\n  GetMicroBlockTransactionsOptionalParams,\n  GetMicroBlockTransactionsResponse,\n  GetNamesOptionalParams,\n  GetNamesResponse,\n  GetNamesAuctionsOptionalParams,\n  GetNamesAuctionsResponse,\n  GetNameAuctionOptionalParams,\n  GetNameAuctionResponse,\n  GetNameAuctionClaimsOptionalParams,\n  GetNameAuctionClaimsResponse,\n  GetNamesCountOptionalParams,\n  GetNamesCountResponse,\n  GetNameOptionalParams,\n  GetNameResponse,\n  GetNameClaimsOptionalParams,\n  GetNameClaimsResponse,\n  GetNameTransfersOptionalParams,\n  GetNameTransfersResponse,\n  GetNameUpdatesOptionalParams,\n  GetNameUpdatesResponse,\n  GetOraclesOptionalParams,\n  GetOraclesResponse,\n  GetOracleOptionalParams,\n  GetOracleResponse,\n  GetOracleExtendsOptionalParams,\n  GetOracleExtendsResponse,\n  GetOracleQueriesOptionalParams,\n  GetOracleQueriesResponse,\n  GetOracleResponsesOptionalParams,\n  GetOracleResponsesResponse,\n  GetStatsOptionalParams,\n  GetStatsResponse,\n  GetActiveAccountsStatsOptionalParams,\n  GetActiveAccountsStatsResponse,\n  GetAex9TransfersStatsOptionalParams,\n  GetAex9TransfersStatsResponse,\n  GetBlocksStatsOptionalParams,\n  GetBlocksStatsResponse,\n  GetContractsStatsOptionalParams,\n  GetContractsStatsResponse,\n  GetDeltaStatsOptionalParams,\n  GetDeltaStatsResponse,\n  GetDifficultyStatsOptionalParams,\n  GetDifficultyStatsResponse,\n  GetHashrateStatsOptionalParams,\n  GetHashrateStatsResponse,\n  GetMinerStatsOptionalParams,\n  GetMinerStatsResponse,\n  GetNamesStatsOptionalParams,\n  GetNamesStatsResponse,\n  GetTotalStatsOptionalParams,\n  GetTotalStatsResponse,\n  GetTotalAccountsStatsOptionalParams,\n  GetTotalAccountsStatsResponse,\n  GetTransactionsStatsOptionalParams,\n  GetTransactionsStatsResponse,\n  GetStatusOptionalParams,\n  GetStatusResponse,\n  GetTransactionsOptionalParams,\n  GetTransactionsResponse,\n  GetTransactionsCountOptionalParams,\n  GetTransactionsCountResponse,\n  GetPendingTransactionsOptionalParams,\n  GetPendingTransactionsResponse,\n  GetPendingTransactionsCountOptionalParams,\n  GetPendingTransactionsCountResponse,\n  GetTransactionOptionalParams,\n  GetTransactionResponse,\n  GetTransfersOptionalParams,\n  GetTransfersResponse,\n} from \"./models/index.js\";\n\nexport class Middleware extends coreClient.ServiceClient {\n  readonly $host: string;\n\n  /**\n   * Initializes a new instance of the Middleware class.\n   * @param $host server parameter\n   * @param options The parameter options\n   */\n  constructor($host: string, options?: MiddlewareOptionalParams) {\n    if ($host === undefined) {\n      throw new Error(\"'$host' cannot be null\");\n    }\n\n    // Initializing default values for options\n    if (!options) {\n      options = {};\n    }\n    const defaults: MiddlewareOptionalParams = {\n      requestContentType: \"application/json; charset=utf-8\",\n    };\n\n    const packageDetails = `azsdk-js-middleware/1.0.0-beta.1`;\n    const userAgentPrefix =\n      options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n        ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n        : `${packageDetails}`;\n\n    const optionsWithDefaults = {\n      ...defaults,\n      ...options,\n      userAgentOptions: {\n        userAgentPrefix,\n      },\n      endpoint: options.endpoint ?? options.baseUri ?? \"{$host}\",\n    };\n    super(optionsWithDefaults);\n    // Parameter assignments\n    this.$host = $host;\n  }\n\n  /**\n   * Get an account activities.\n   * @param accountId The account address Account address\n   * @param options The options parameters.\n   */\n  getAccountActivities(\n    accountId: `ak_${string}`,\n    options?: GetAccountActivitiesOptionalParams,\n  ): Promise<GetAccountActivitiesResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAccountActivitiesOperationSpec,\n    );\n  }\n\n  /**\n   * Get tokens owned by an account.\n   * @param accountId The account id Account address\n   * @param options The options parameters.\n   */\n  getAex141OwnedTokens(\n    accountId: `ak_${string}`,\n    options?: GetAex141OwnedTokensOptionalParams,\n  ): Promise<GetAex141OwnedTokensResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAex141OwnedTokensOperationSpec,\n    );\n  }\n\n  /**\n   * Get all AEX9 balances for an account on the last block.\n   * @param accountId Account id Account address\n   * @param options The options parameters.\n   */\n  getAex9AccountBalances(\n    accountId: `ak_${string}`,\n    options?: GetAex9AccountBalancesOptionalParams,\n  ): Promise<GetAex9AccountBalancesResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAex9AccountBalancesOperationSpec,\n    );\n  }\n\n  /**\n   * Get DEX swap tokens\n   * @param accountId The account id Account address\n   * @param options The options parameters.\n   */\n  getAccountDexSwaps(\n    accountId: `ak_${string}`,\n    options?: GetAccountDexSwapsOptionalParams,\n  ): Promise<GetAccountDexSwapsResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAccountDexSwapsOperationSpec,\n    );\n  }\n\n  /**\n   * Get all name claims of an account\n   * @param accountId The account that made the claims Account address\n   * @param options The options parameters.\n   */\n  getAccountNameClaims(\n    accountId: `ak_${string}`,\n    options?: GetAccountNameClaimsOptionalParams,\n  ): Promise<GetAccountNameClaimsResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAccountNameClaimsOperationSpec,\n    );\n  }\n\n  /**\n   * Get account pointees\n   * @param accountId The account that names point to Account address\n   * @param options The options parameters.\n   */\n  getAccountPointees(\n    accountId: `ak_${string}`,\n    options?: GetAccountPointeesOptionalParams,\n  ): Promise<GetAccountPointeesResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAccountPointeesOperationSpec,\n    );\n  }\n\n  /**\n   * Get transactions count and its type for given aeternity ID.\n   * @param accountId The ID of the address/name/oracle/etc Account address\n   * @param options The options parameters.\n   */\n  getAccountTransactionsCount(\n    accountId: `ak_${string}`,\n    options?: GetAccountTransactionsCountOptionalParams,\n  ): Promise<GetAccountTransactionsCountResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAccountTransactionsCountOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX141 contracts sorted by creation time, name or symbol.\n   * @param options The options parameters.\n   */\n  getSortedAex141Contracts(\n    options?: GetSortedAex141ContractsOptionalParams,\n  ): Promise<GetSortedAex141ContractsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getSortedAex141ContractsOperationSpec,\n    );\n  }\n\n  /**\n   * Get templates AEX-141 contract tokens.\n   * @param contractId The contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex141ContractTemplates(\n    contractId: `ct_${string}`,\n    options?: GetAex141ContractTemplatesOptionalParams,\n  ): Promise<GetAex141ContractTemplatesResponse> {\n    return this.sendOperationRequest(\n      { contractId, options },\n      getAex141ContractTemplatesOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX-141 template tokens.\n   * @param contractId Contract id Contract address\n   * @param templateId Template id\n   * @param options The options parameters.\n   */\n  getAex141TemplateTokens(\n    contractId: `ct_${string}`,\n    templateId: number,\n    options?: GetAex141TemplateTokensOptionalParams,\n  ): Promise<GetAex141TemplateTokensResponse> {\n    return this.sendOperationRequest(\n      { contractId, templateId, options },\n      getAex141TemplateTokensOperationSpec,\n    );\n  }\n\n  /**\n   * Get owners of tokens of a AEX-141 contract.\n   * @param contractId The contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex141ContractTokens(\n    contractId: `ct_${string}`,\n    options?: GetAex141ContractTokensOptionalParams,\n  ): Promise<GetAex141ContractTokensResponse> {\n    return this.sendOperationRequest(\n      { contractId, options },\n      getAex141ContractTokensOperationSpec,\n    );\n  }\n\n  /**\n   * Get owner of a NFT (AEX-141 token).\n   * @param contractId The contract id Contract address\n   * @param tokenId The nft token id\n   * @param options The options parameters.\n   */\n  getAex141TokenOwner(\n    contractId: `ct_${string}`,\n    tokenId: number,\n    options?: GetAex141TokenOwnerOptionalParams,\n  ): Promise<GetAex141TokenOwnerResponse> {\n    return this.sendOperationRequest(\n      { contractId, tokenId, options },\n      getAex141TokenOwnerOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX-141 transfers on a contract.\n   * @param contractId Contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex141ContractTransfers(\n    contractId: `ct_${string}`,\n    options?: GetAex141ContractTransfersOptionalParams,\n  ): Promise<GetAex141ContractTransfersResponse> {\n    return this.sendOperationRequest(\n      { contractId, options },\n      getAex141ContractTransfersOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX141 contract meta-info, extensions, limits and stats.\n   * @param id The contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex141ByContract(\n    id: `ct_${string}`,\n    options?: GetAex141ByContractOptionalParams,\n  ): Promise<GetAex141ByContractResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getAex141ByContractOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 tokens sorted by creation time, name or symbol.\n   * @param options The options parameters.\n   */\n  getSortedAex9Tokens(\n    options?: GetSortedAex9TokensOptionalParams,\n  ): Promise<GetSortedAex9TokensResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getSortedAex9TokensOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 tokens count.\n   * @param options The options parameters.\n   */\n  getAex9TokensCount(\n    options?: GetAex9TokensCountOptionalParams,\n  ): Promise<GetAex9TokensCountResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getAex9TokensCountOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 balances on a contract.\n   * @param contractId Contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex9ContractBalances(\n    contractId: `ct_${string}`,\n    options?: GetAex9ContractBalancesOptionalParams,\n  ): Promise<GetAex9ContractBalancesResponse> {\n    return this.sendOperationRequest(\n      { contractId, options },\n      getAex9ContractBalancesOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 balance for an account on a contract.\n   * @param contractId Contract id Contract address\n   * @param accountId Account id Account address\n   * @param options The options parameters.\n   */\n  getAex9ContractAccountBalance(\n    contractId: `ct_${string}`,\n    accountId: `ak_${string}`,\n    options?: GetAex9ContractAccountBalanceOptionalParams,\n  ): Promise<GetAex9ContractAccountBalanceResponse> {\n    return this.sendOperationRequest(\n      { contractId, accountId, options },\n      getAex9ContractAccountBalanceOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 account balance on a contract throughout all heights when changed.\n   * @param contractId Contract id Contract address\n   * @param accountId Account id Account address\n   * @param options The options parameters.\n   */\n  getAex9ContractAccountBalanceHistory(\n    contractId: `ct_${string}`,\n    accountId: `ak_${string}`,\n    options?: GetAex9ContractAccountBalanceHistoryOptionalParams,\n  ): Promise<GetAex9ContractAccountBalanceHistoryResponse> {\n    return this.sendOperationRequest(\n      { contractId, accountId, options },\n      getAex9ContractAccountBalanceHistoryOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 creation and meta_info information by contract id.\n   * @param id The contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex9ByContract(\n    id: `ct_${string}`,\n    options?: GetAex9ByContractOptionalParams,\n  ): Promise<GetAex9ByContractResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getAex9ByContractOperationSpec,\n    );\n  }\n\n  /**\n   * Get multiple channels.\n   * @param options The options parameters.\n   */\n  getChannels(\n    options?: GetChannelsOptionalParams,\n  ): Promise<GetChannelsResponse> {\n    return this.sendOperationRequest({ options }, getChannelsOperationSpec);\n  }\n\n  /**\n   * Get a single channel.\n   * @param id The channel Channel ID\n   * @param options The options parameters.\n   */\n  getChannel(\n    id: `ch_${string}`,\n    options?: GetChannelOptionalParams,\n  ): Promise<GetChannelResponse> {\n    return this.sendOperationRequest({ id, options }, getChannelOperationSpec);\n  }\n\n  /**\n   * Get contract calls.\n   * @param options The options parameters.\n   */\n  getContractCalls(\n    options?: GetContractCallsOptionalParams,\n  ): Promise<GetContractCallsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getContractCallsOperationSpec,\n    );\n  }\n\n  /**\n   * Get contract logs.\n   * @param options The options parameters.\n   */\n  getContractLogs(\n    options?: GetContractLogsOptionalParams,\n  ): Promise<GetContractLogsResponse> {\n    return this.sendOperationRequest({ options }, getContractLogsOperationSpec);\n  }\n\n  /**\n   * Gets contract creation info.\n   * @param id Contract that emitted the logs Contract address\n   * @param options The options parameters.\n   */\n  getContract(\n    id: `ct_${string}`,\n    options?: GetContractOptionalParams,\n  ): Promise<GetContractResponse> {\n    return this.sendOperationRequest({ id, options }, getContractOperationSpec);\n  }\n\n  /**\n   * Get DEX swap tokens\n   * @param options The options parameters.\n   */\n  getDexSwaps(\n    options?: GetDexSwapsOptionalParams,\n  ): Promise<GetDexSwapsResponse> {\n    return this.sendOperationRequest({ options }, getDexSwapsOperationSpec);\n  }\n\n  /**\n   * Get DEX swap tokens\n   * @param contractId The contract id Contract address\n   * @param options The options parameters.\n   */\n  getDexSwapsByContractId(\n    contractId: `ct_${string}`,\n    options?: GetDexSwapsByContractIdOptionalParams,\n  ): Promise<GetDexSwapsByContractIdResponse> {\n    return this.sendOperationRequest(\n      { contractId, options },\n      getDexSwapsByContractIdOperationSpec,\n    );\n  }\n\n  /**\n   * Get Epoch information\n   * @param options The options parameters.\n   */\n  getEpochs(options?: GetEpochsOptionalParams): Promise<GetEpochsResponse> {\n    return this.sendOperationRequest({ options }, getEpochsOperationSpec);\n  }\n\n  /**\n   * Get Top Epoch information\n   * @param options The options parameters.\n   */\n  getEpochTop(\n    options?: GetEpochTopOptionalParams,\n  ): Promise<GetEpochTopResponse> {\n    return this.sendOperationRequest({ options }, getEpochTopOperationSpec);\n  }\n\n  /**\n   * Get Schedule information\n   * @param options The options parameters.\n   */\n  getSchedules(\n    options?: GetSchedulesOptionalParams,\n  ): Promise<GetSchedulesResponse> {\n    return this.sendOperationRequest({ options }, getSchedulesOperationSpec);\n  }\n\n  /**\n   * Get Schedule information\n   * @param height Schedule height\n   * @param options The options parameters.\n   */\n  getSchedule(\n    height: number,\n    options?: GetScheduleOptionalParams,\n  ): Promise<GetScheduleResponse> {\n    return this.sendOperationRequest(\n      { height, options },\n      getScheduleOperationSpec,\n    );\n  }\n\n  /**\n   * Get Validators information\n   * @param options The options parameters.\n   */\n  getValidators(\n    options?: GetValidatorsOptionalParams,\n  ): Promise<GetValidatorsResponse> {\n    return this.sendOperationRequest({ options }, getValidatorsOperationSpec);\n  }\n\n  /**\n   * Get Validator information\n   * @param validator Validator address Account address\n   * @param options The options parameters.\n   */\n  getValidator(\n    validator: `ak_${string}`,\n    options?: GetValidatorOptionalParams,\n  ): Promise<GetValidatorResponse> {\n    return this.sendOperationRequest(\n      { validator, options },\n      getValidatorOperationSpec,\n    );\n  }\n\n  /**\n   * Get Delegates information for validator\n   * @param validator Validator address Account address\n   * @param options The options parameters.\n   */\n  getValidatorDelegates(\n    validator: `ak_${string}`,\n    options?: GetValidatorDelegatesOptionalParams,\n  ): Promise<GetValidatorDelegatesResponse> {\n    return this.sendOperationRequest(\n      { validator, options },\n      getValidatorDelegatesOperationSpec,\n    );\n  }\n\n  /**\n   * Get top Delegates information for validator\n   * @param validator Validator address Account address\n   * @param options The options parameters.\n   */\n  getTopValidatorDelegates(\n    validator: `ak_${string}`,\n    options?: GetTopValidatorDelegatesOptionalParams,\n  ): Promise<GetTopValidatorDelegatesResponse> {\n    return this.sendOperationRequest(\n      { validator, options },\n      getTopValidatorDelegatesOperationSpec,\n    );\n  }\n\n  /**\n   * Get multiple key blocks.\n   * @param options The options parameters.\n   */\n  getKeyBlocks(\n    options?: GetKeyBlocksOptionalParams,\n  ): Promise<GetKeyBlocksResponse> {\n    return this.sendOperationRequest({ options }, getKeyBlocksOperationSpec);\n  }\n\n  /**\n   * Get a single key block.\n   * @param hashOrKbi The key block encoded hash or key block index \n   * @param options The options parameters.\n   */\n  getKeyBlock(\n    hashOrKbi: `kh_${string}` | number,\n    options?: GetKeyBlockOptionalParams,\n  ): Promise<GetKeyBlockResponse> {\n    return this.sendOperationRequest(\n      { hashOrKbi, options },\n      getKeyBlockOperationSpec,\n    );\n  }\n\n  /**\n   * Get the key block micro blocks.\n   * @param hashOrKbi The key block encoded hash or key block index \n   * @param options The options parameters.\n   */\n  getKeyBlockMicroBlocks(\n    hashOrKbi: `kh_${string}` | number,\n    options?: GetKeyBlockMicroBlocksOptionalParams,\n  ): Promise<GetKeyBlockMicroBlocksResponse> {\n    return this.sendOperationRequest(\n      { hashOrKbi, options },\n      getKeyBlockMicroBlocksOperationSpec,\n    );\n  }\n\n  /**\n   * Get a micro block\n   * @param hash The micro block encoded hash Micro block hash\n   * @param options The options parameters.\n   */\n  getMicroBlock(\n    hash: `mh_${string}`,\n    options?: GetMicroBlockOptionalParams,\n  ): Promise<GetMicroBlockResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getMicroBlockOperationSpec,\n    );\n  }\n\n  /**\n   * Get a micro block transactions\n   * @param hash The micro block encoded hash Micro block hash\n   * @param options The options parameters.\n   */\n  getMicroBlockTransactions(\n    hash: `mh_${string}`,\n    options?: GetMicroBlockTransactionsOptionalParams,\n  ): Promise<GetMicroBlockTransactionsResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getMicroBlockTransactionsOperationSpec,\n    );\n  }\n\n  /**\n   * Get multiple names.\n   * @param options The options parameters.\n   */\n  getNames(options?: GetNamesOptionalParams): Promise<GetNamesResponse> {\n    return this.sendOperationRequest({ options }, getNamesOperationSpec);\n  }\n\n  /**\n   * Get multiple names.\n   * @param options The options parameters.\n   */\n  getNamesAuctions(\n    options?: GetNamesAuctionsOptionalParams,\n  ): Promise<GetNamesAuctionsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getNamesAuctionsOperationSpec,\n    );\n  }\n\n  /**\n   * Get name auction\n   * @param id The name \n   * @param options The options parameters.\n   */\n  getNameAuction(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameAuctionOptionalParams,\n  ): Promise<GetNameAuctionResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getNameAuctionOperationSpec,\n    );\n  }\n\n  /**\n   * Get name auction claims\n   * @param id The name \n   * @param options The options parameters.\n   */\n  getNameAuctionClaims(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameAuctionClaimsOptionalParams,\n  ): Promise<GetNameAuctionClaimsResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getNameAuctionClaimsOperationSpec,\n    );\n  }\n\n  /**\n   * Get the total number of active names.\n   * @param options The options parameters.\n   */\n  getNamesCount(\n    options?: GetNamesCountOptionalParams,\n  ): Promise<GetNamesCountResponse> {\n    return this.sendOperationRequest({ options }, getNamesCountOperationSpec);\n  }\n\n  /**\n   * Get a single name.\n   * @param id The name \n   * @param options The options parameters.\n   */\n  getName(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameOptionalParams,\n  ): Promise<GetNameResponse> {\n    return this.sendOperationRequest({ id, options }, getNameOperationSpec);\n  }\n\n  /**\n   * Get name claims\n   * @param id The name or name hash \n   * @param options The options parameters.\n   */\n  getNameClaims(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameClaimsOptionalParams,\n  ): Promise<GetNameClaimsResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getNameClaimsOperationSpec,\n    );\n  }\n\n  /**\n   * Get name transfers\n   * @param id The name or name hash \n   * @param options The options parameters.\n   */\n  getNameTransfers(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameTransfersOptionalParams,\n  ): Promise<GetNameTransfersResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getNameTransfersOperationSpec,\n    );\n  }\n\n  /**\n   * Get name updates\n   * @param id The name or name hash \n   * @param options The options parameters.\n   */\n  getNameUpdates(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameUpdatesOptionalParams,\n  ): Promise<GetNameUpdatesResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getNameUpdatesOperationSpec,\n    );\n  }\n\n  /**\n   * Get multiple oracles.\n   * @param options The options parameters.\n   */\n  getOracles(options?: GetOraclesOptionalParams): Promise<GetOraclesResponse> {\n    return this.sendOperationRequest({ options }, getOraclesOperationSpec);\n  }\n\n  /**\n   * Get a single oracle.\n   * @param id The oracle Oracle address\n   * @param options The options parameters.\n   */\n  getOracle(\n    id: `ok_${string}`,\n    options?: GetOracleOptionalParams,\n  ): Promise<GetOracleResponse> {\n    return this.sendOperationRequest({ id, options }, getOracleOperationSpec);\n  }\n\n  /**\n   * Get an oracle's extensions.\n   * @param id The oracle Oracle address\n   * @param options The options parameters.\n   */\n  getOracleExtends(\n    id: `ok_${string}`,\n    options?: GetOracleExtendsOptionalParams,\n  ): Promise<GetOracleExtendsResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getOracleExtendsOperationSpec,\n    );\n  }\n\n  /**\n   * Get an oracle's queries.\n   * @param id The oracle Oracle address\n   * @param options The options parameters.\n   */\n  getOracleQueries(\n    id: `ok_${string}`,\n    options?: GetOracleQueriesOptionalParams,\n  ): Promise<GetOracleQueriesResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getOracleQueriesOperationSpec,\n    );\n  }\n\n  /**\n   * Get an oracle's responses.\n   * @param id The oracle Oracle address\n   * @param options The options parameters.\n   */\n  getOracleResponses(\n    id: `ok_${string}`,\n    options?: GetOracleResponsesOptionalParams,\n  ): Promise<GetOracleResponsesResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getOracleResponsesOperationSpec,\n    );\n  }\n\n  /**\n   * Get stats.\n   * @param options The options parameters.\n   */\n  getStats(options?: GetStatsOptionalParams): Promise<GetStatsResponse> {\n    return this.sendOperationRequest({ options }, getStatsOperationSpec);\n  }\n\n  /**\n   * Get active accounts stats.\n   * @param options The options parameters.\n   */\n  getActiveAccountsStats(\n    options?: GetActiveAccountsStatsOptionalParams,\n  ): Promise<GetActiveAccountsStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getActiveAccountsStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get total AEx9 token transfers.\n   * @param options The options parameters.\n   */\n  getAex9TransfersStats(\n    options?: GetAex9TransfersStatsOptionalParams,\n  ): Promise<GetAex9TransfersStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getAex9TransfersStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get total blocks count stats.\n   * @param options The options parameters.\n   */\n  getBlocksStats(\n    options?: GetBlocksStatsOptionalParams,\n  ): Promise<GetBlocksStatsResponse> {\n    return this.sendOperationRequest({ options }, getBlocksStatsOperationSpec);\n  }\n\n  /**\n   * Get the created contracts count per interval.\n   * @param options The options parameters.\n   */\n  getContractsStats(\n    options?: GetContractsStatsOptionalParams,\n  ): Promise<GetContractsStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getContractsStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get delta stats.\n   * @param options The options parameters.\n   */\n  getDeltaStats(\n    options?: GetDeltaStatsOptionalParams,\n  ): Promise<GetDeltaStatsResponse> {\n    return this.sendOperationRequest({ options }, getDeltaStatsOperationSpec);\n  }\n\n  /**\n   * Get total blocks difficulty stats.\n   * @param options The options parameters.\n   */\n  getDifficultyStats(\n    options?: GetDifficultyStatsOptionalParams,\n  ): Promise<GetDifficultyStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getDifficultyStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get total blocks hashrate stats.\n   * @param options The options parameters.\n   */\n  getHashrateStats(\n    options?: GetHashrateStatsOptionalParams,\n  ): Promise<GetHashrateStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getHashrateStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get miners list with total rewards obtained through mining.\n   * @param options The options parameters.\n   */\n  getMinerStats(\n    options?: GetMinerStatsOptionalParams,\n  ): Promise<GetMinerStatsResponse> {\n    return this.sendOperationRequest({ options }, getMinerStatsOperationSpec);\n  }\n\n  /**\n   * Get total names count stats.\n   * @param options The options parameters.\n   */\n  getNamesStats(\n    options?: GetNamesStatsOptionalParams,\n  ): Promise<GetNamesStatsResponse> {\n    return this.sendOperationRequest({ options }, getNamesStatsOperationSpec);\n  }\n\n  /**\n   * Get total accumulated stats.\n   * @param options The options parameters.\n   */\n  getTotalStats(\n    options?: GetTotalStatsOptionalParams,\n  ): Promise<GetTotalStatsResponse> {\n    return this.sendOperationRequest({ options }, getTotalStatsOperationSpec);\n  }\n\n  /**\n   * Get total accounts created per interval stats.\n   * @param options The options parameters.\n   */\n  getTotalAccountsStats(\n    options?: GetTotalAccountsStatsOptionalParams,\n  ): Promise<GetTotalAccountsStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getTotalAccountsStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get total transactions count stats.\n   * @param options The options parameters.\n   */\n  getTransactionsStats(\n    options?: GetTransactionsStatsOptionalParams,\n  ): Promise<GetTransactionsStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getTransactionsStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Gets the current syncing status of both middleware and the node\n   * @param options The options parameters.\n   */\n  getStatus(options?: GetStatusOptionalParams): Promise<GetStatusResponse> {\n    return this.sendOperationRequest({ options }, getStatusOperationSpec);\n  }\n\n  /**\n   * Get multiple transactions.\n   * @param options The options parameters.\n   */\n  getTransactions(\n    options?: GetTransactionsOptionalParams,\n  ): Promise<GetTransactionsResponse> {\n    return this.sendOperationRequest({ options }, getTransactionsOperationSpec);\n  }\n\n  /**\n   * Get count of transactions at the latest height.\n   * @param options The options parameters.\n   */\n  getTransactionsCount(\n    options?: GetTransactionsCountOptionalParams,\n  ): Promise<GetTransactionsCountResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getTransactionsCountOperationSpec,\n    );\n  }\n\n  /**\n   * Get pending transactions.\n   * @param options The options parameters.\n   */\n  getPendingTransactions(\n    options?: GetPendingTransactionsOptionalParams,\n  ): Promise<GetPendingTransactionsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getPendingTransactionsOperationSpec,\n    );\n  }\n\n  /**\n   * Get count of pending transactions.\n   * @param options The options parameters.\n   */\n  getPendingTransactionsCount(\n    options?: GetPendingTransactionsCountOptionalParams,\n  ): Promise<GetPendingTransactionsCountResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getPendingTransactionsCountOperationSpec,\n    );\n  }\n\n  /**\n   * Get a single transaction.\n   * @param hash The transaction encoded hash Transaction hash\n   * @param options The options parameters.\n   */\n  getTransaction(\n    hash: `th_${string}`,\n    options?: GetTransactionOptionalParams,\n  ): Promise<GetTransactionResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getTransactionOperationSpec,\n    );\n  }\n\n  /**\n   * Get multiple transfers.\n   * @param options The options parameters.\n   */\n  getTransfers(\n    options?: GetTransfersOptionalParams,\n  ): Promise<GetTransfersResponse> {\n    return this.sendOperationRequest({ options }, getTransfersOperationSpec);\n  }\n}\n// Operation Specifications\nconst serializer = createSerializer(Mappers, /* isXml */ false);\n\nconst getAccountActivitiesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/activities\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1EfdbjrV3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.ownedOnly,\n    Parameters.typeParam,\n    Parameters.limit,\n    Parameters.scope,\n    Parameters.direction,\n  ],\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141OwnedTokensOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/aex141/tokens\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.direction1,\n    Parameters.contract,\n  ],\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9AccountBalancesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/aex9/balances\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountDexSwapsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/dex/swaps\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsZpy8S9V3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.direction2],\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountNameClaimsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/names/claims\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths16Cyh9EV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction3],\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountPointeesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/names/pointees\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Mheci5V3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountTransactionsCountOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/transactions/count\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsXcg812V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getSortedAex141ContractsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.direction4,\n    Parameters.by,\n    Parameters.prefix,\n    Parameters.exact,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141ContractTemplatesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{contractId}/templates\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.direction5],\n  urlParameters: [Parameters.$host, Parameters.contractId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141TemplateTokensOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{contractId}/templates/{templateId}/tokens\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.direction6],\n  urlParameters: [\n    Parameters.$host,\n    Parameters.contractId,\n    Parameters.templateId,\n  ],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141ContractTokensOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{contractId}/tokens\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.direction7],\n  urlParameters: [Parameters.$host, Parameters.contractId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141TokenOwnerOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{contractId}/tokens/{tokenId}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Aex141TokenDetailResponse,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.contractId, Parameters.tokenId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141ContractTransfersOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{contractId}/transfers\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.direction8,\n    Parameters.fromParam,\n    Parameters.to,\n  ],\n  urlParameters: [Parameters.$host, Parameters.contractId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141ByContractOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Aex141Response,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getSortedAex9TokensOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex9\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.prefix,\n    Parameters.exact,\n    Parameters.direction9,\n    Parameters.by1,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9TokensCountOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex9/count\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9ContractBalancesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex9/{contractId}/balances\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.direction10,\n    Parameters.by2,\n    Parameters.blockHash,\n  ],\n  urlParameters: [Parameters.$host, Parameters.contractId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9ContractAccountBalanceOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex9/{contractId}/balances/{accountId}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.hash],\n  urlParameters: [\n    Parameters.$host,\n    Parameters.accountId,\n    Parameters.contractId,\n  ],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9ContractAccountBalanceHistoryOperationSpec: coreClient.OperationSpec =\n  {\n    path: \"/v3/aex9/{contractId}/balances/{accountId}/history\",\n    httpMethod: \"GET\",\n    responses: {\n      200: {\n        bodyMapper:\n          Mappers.Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema,\n      },\n      400: {\n        bodyMapper: Mappers.ErrorResponse,\n        isError: true,\n      },\n    },\n    queryParameters: [\n      Parameters.limit,\n      Parameters.scope,\n      Parameters.direction11,\n    ],\n    urlParameters: [\n      Parameters.$host,\n      Parameters.accountId,\n      Parameters.contractId,\n    ],\n    headerParameters: [Parameters.accept],\n    serializer,\n  };\nconst getAex9ByContractOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex9/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Aex9Response,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getChannelsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/channels\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope,\n    Parameters.direction12,\n    Parameters.state,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getChannelOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/channels/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Channel,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id1],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractCallsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/calls\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction13],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractLogsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/logs\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope,\n    Parameters.contractId1,\n    Parameters.event,\n    Parameters.functionParam,\n    Parameters.functionPrefix,\n    Parameters.data,\n    Parameters.aexnArgs,\n    Parameters.direction14,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Contract,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getDexSwapsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/dex/swaps\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.direction15],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getDexSwapsByContractIdOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/dex/{contract_id}/swaps\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.direction16],\n  urlParameters: [Parameters.$host, Parameters.contractId2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getEpochsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/epochs\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths194Lg3IV3HyperchainEpochsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.direction17,\n    Parameters.scope1,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getEpochTopOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/epochs/top\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.EpochInfo,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getSchedulesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/schedule\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1S5Zlt1V3HyperchainScheduleGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope1,\n    Parameters.direction18,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getScheduleOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/schedule/height/{height}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Schedule,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.height],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getValidatorsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/validators\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Ibn686V3HyperchainValidatorsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope1,\n    Parameters.direction19,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getValidatorOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/validators/{validator}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Validator,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.validator],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getValidatorDelegatesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/validators/{validator}/delegates\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1I4U8D5V3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope1,\n    Parameters.direction20,\n  ],\n  urlParameters: [Parameters.$host, Parameters.validator],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTopValidatorDelegatesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/validators/{validator}/delegates/top\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths15K0AlgV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope1,\n    Parameters.direction21,\n  ],\n  urlParameters: [Parameters.$host, Parameters.validator],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getKeyBlocksOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction22],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getKeyBlockOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/{hash_or_kbi}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.KeyBlockExtended,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hashOrKbi],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getKeyBlockMicroBlocksOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/{hash_or_kbi}/micro-blocks\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction23],\n  urlParameters: [Parameters.$host, Parameters.hashOrKbi],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMicroBlockOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/micro-blocks/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.MicroBlockExtended,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash1],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMicroBlockTransactionsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/micro-blocks/{hash}/transactions\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash1],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNamesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.prefix,\n    Parameters.by2,\n    Parameters.ownedBy,\n    Parameters.state1,\n    Parameters.direction24,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNamesAuctionsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/auctions\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction25],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameAuctionOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/auctions/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Auction,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction26],\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameAuctionClaimsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/auctions/{id}/claims\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction27],\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNamesCountOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/count\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: { type: { name: \"Number\" } },\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.ownedBy],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Name,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameClaimsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/{id}/claims\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction28],\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameTransfersOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/{id}/transfers\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction29],\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameUpdatesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/{id}/updates\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction30],\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOraclesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope,\n    Parameters.state1,\n    Parameters.direction31,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Oracle,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id3],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleExtendsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{id}/extends\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id3],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleQueriesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{id}/queries\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id3],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleResponsesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{id}/responses\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id3],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Stats,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getActiveAccountsStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/active-accounts\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsCgzmimV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.intervalBy,\n    Parameters.direction32,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9TransfersStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/aex9-transfers\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1UxyhelV3StatsAex9TransfersGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.intervalBy1,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.direction33,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getBlocksStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/blocks\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Sxjoy0V3StatsBlocksGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy2,\n    Parameters.typeParam1,\n    Parameters.direction34,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractsStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/contracts\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsWbrhqnV3StatsContractsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy3,\n    Parameters.direction35,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getDeltaStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/delta\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths5Xf9ScV3StatsDeltaGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction36],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getDifficultyStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/difficulty\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1D7Up0DV3StatsDifficultyGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy4,\n    Parameters.direction37,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getHashrateStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/hashrate\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsR51VshV3StatsHashrateGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy5,\n    Parameters.direction38,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMinerStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/miners\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsA8Q6T7V3StatsMinersGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.direction39],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNamesStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/names\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsCeyhpaV3StatsNamesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy6,\n    Parameters.direction40,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTotalStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/total\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsJoz7P5V3StatsTotalGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction41],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTotalAccountsStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/total-accounts\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths15F3FfuV3StatsTotalAccountsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.intervalBy7,\n    Parameters.direction42,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransactionsStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/transactions\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1IfhshmV3StatsTransactionsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy8,\n    Parameters.txType,\n    Parameters.direction43,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getStatusOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/status\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Status,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransactionsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.contract,\n    Parameters.typeParam2,\n    Parameters.typeGroup,\n    Parameters.account,\n    Parameters.channel,\n    Parameters.oracle,\n    Parameters.senderId,\n    Parameters.recipientId,\n    Parameters.entrypoint,\n    Parameters.scope2,\n    Parameters.direction44,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransactionsCountOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/count\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: { type: { name: \"Number\" } },\n    },\n  },\n  queryParameters: [Parameters.scope, Parameters.txType, Parameters.id4],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getPendingTransactionsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/pending\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsUq0T7JV3TransactionsPendingGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.direction45],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getPendingTransactionsCountOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/pending/count\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: { type: { name: \"Number\" } },\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransactionOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Transaction,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransfersOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transfers\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction46],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\n\nexport const operationSpecs = [\n  getAccountActivitiesOperationSpec,\n  getAex141OwnedTokensOperationSpec,\n  getAex9AccountBalancesOperationSpec,\n  getAccountDexSwapsOperationSpec,\n  getAccountNameClaimsOperationSpec,\n  getAccountPointeesOperationSpec,\n  getAccountTransactionsCountOperationSpec,\n  getSortedAex141ContractsOperationSpec,\n  getAex141ContractTemplatesOperationSpec,\n  getAex141TemplateTokensOperationSpec,\n  getAex141ContractTokensOperationSpec,\n  getAex141TokenOwnerOperationSpec,\n  getAex141ContractTransfersOperationSpec,\n  getAex141ByContractOperationSpec,\n  getSortedAex9TokensOperationSpec,\n  getAex9TokensCountOperationSpec,\n  getAex9ContractBalancesOperationSpec,\n  getAex9ContractAccountBalanceOperationSpec,\n  getAex9ByContractOperationSpec,\n  getChannelsOperationSpec,\n  getChannelOperationSpec,\n  getContractCallsOperationSpec,\n  getContractLogsOperationSpec,\n  getContractOperationSpec,\n  getDexSwapsOperationSpec,\n  getDexSwapsByContractIdOperationSpec,\n  getEpochsOperationSpec,\n  getEpochTopOperationSpec,\n  getSchedulesOperationSpec,\n  getScheduleOperationSpec,\n  getValidatorsOperationSpec,\n  getValidatorOperationSpec,\n  getValidatorDelegatesOperationSpec,\n  getTopValidatorDelegatesOperationSpec,\n  getKeyBlocksOperationSpec,\n  getKeyBlockOperationSpec,\n  getKeyBlockMicroBlocksOperationSpec,\n  getMicroBlockOperationSpec,\n  getMicroBlockTransactionsOperationSpec,\n  getNamesOperationSpec,\n  getNamesAuctionsOperationSpec,\n  getNameAuctionOperationSpec,\n  getNameAuctionClaimsOperationSpec,\n  getNamesCountOperationSpec,\n  getNameOperationSpec,\n  getNameClaimsOperationSpec,\n  getNameTransfersOperationSpec,\n  getNameUpdatesOperationSpec,\n  getOraclesOperationSpec,\n  getOracleOperationSpec,\n  getOracleExtendsOperationSpec,\n  getOracleQueriesOperationSpec,\n  getOracleResponsesOperationSpec,\n  getStatsOperationSpec,\n  getActiveAccountsStatsOperationSpec,\n  getAex9TransfersStatsOperationSpec,\n  getBlocksStatsOperationSpec,\n  getContractsStatsOperationSpec,\n  getDeltaStatsOperationSpec,\n  getDifficultyStatsOperationSpec,\n  getHashrateStatsOperationSpec,\n  getMinerStatsOperationSpec,\n  getNamesStatsOperationSpec,\n  getTotalStatsOperationSpec,\n  getTotalAccountsStatsOperationSpec,\n  getTransactionsStatsOperationSpec,\n  getStatusOperationSpec,\n  getTransactionsOperationSpec,\n  getTransactionsCountOperationSpec,\n  getPendingTransactionsOperationSpec,\n  getPendingTransactionsCountOperationSpec,\n  getTransactionOperationSpec,\n  getTransfersOperationSpec,\n] as const;\n","/* eslint-disable max-classes-per-file */\nimport type Middleware from '../Middleware.js';\nimport { BaseError } from './errors.js';\n\ninterface MiddlewareRawPage<T = unknown> {\n  data: T[];\n  next: string | null;\n  prev: string | null;\n}\n\nexport function isMiddlewareRawPage(maybePage: unknown): maybePage is MiddlewareRawPage {\n  const testPage = maybePage as MiddlewareRawPage;\n  return (\n    testPage?.data != null &&\n    Array.isArray(testPage.data) &&\n    'next' in testPage &&\n    'prev' in testPage\n  );\n}\n\n/**\n * @category exception\n */\nexport class MiddlewarePageMissed extends BaseError {\n  constructor(isNext: boolean) {\n    super(`There is no ${isNext ? 'next' : 'previous'} page`);\n    this.name = 'MiddlewarePageMissed';\n  }\n}\n\n/**\n * A wrapper around the middleware's page allowing to get the next/previous pages.\n */\nexport class MiddlewarePage<Item> {\n  readonly data: Item[];\n\n  readonly nextPath: null | string;\n\n  readonly prevPath: null | string;\n\n  readonly #middleware: Middleware;\n\n  constructor(rawPage: MiddlewareRawPage<Item>, middleware: Middleware) {\n    this.data = rawPage.data;\n    this.nextPath = rawPage.next;\n    this.prevPath = rawPage.prev;\n    this.#middleware = middleware;\n  }\n\n  /**\n   * Get the next page.\n   * Check the presence of `nextPath` to not fall outside existing pages.\n   * @throws MiddlewarePageMissed\n   */\n  async next(): Promise<MiddlewarePage<Item>> {\n    if (this.nextPath == null) throw new MiddlewarePageMissed(true);\n    return this.#middleware.requestByPath(this.nextPath);\n  }\n\n  /**\n   * Get the previous page.\n   * Check the presence of `prevPath` to not fall outside existing pages.\n   * @throws MiddlewarePageMissed\n   */\n  async prev(): Promise<MiddlewarePage<Item>> {\n    if (this.prevPath == null) throw new MiddlewarePageMissed(false);\n    return this.#middleware.requestByPath(this.prevPath);\n  }\n}\n","import { OperationArguments, OperationOptions, OperationSpec } from '@azure/core-client';\nimport { userAgentPolicyName, setClientRequestIdPolicyName } from '@azure/core-rest-pipeline';\nimport {\n  genRequestQueuesPolicy,\n  genCombineGetRequestsPolicy,\n  genErrorFormatterPolicy,\n  parseBigIntPolicy,\n  genVersionCheckPolicy,\n  genRetryOnFailurePolicy,\n} from './utils/autorest.js';\nimport {\n  Middleware as MiddlewareApi,\n  MiddlewareOptionalParams,\n  ErrorResponse,\n} from './apis/middleware/index.js';\nimport { operationSpecs } from './apis/middleware/middleware.js';\nimport { IllegalArgumentError, InternalError } from './utils/errors.js';\nimport { MiddlewarePage, isMiddlewareRawPage } from './utils/MiddlewarePage.js';\n\n/**\n * @category middleware\n */\nexport default class Middleware extends MiddlewareApi {\n  /**\n   * @param url - Url for middleware API\n   * @param options - Options\n   * @param options.ignoreVersion - Print warning instead of throwing exception if middleware\n   * is not supported, use with caution\n   * @param options.retryCount - Amount of extra requests to do in case of failure\n   * @param options.retryOverallDelay - Time in ms to wait between all retries\n   */\n  constructor(\n    url: string,\n    {\n      ignoreVersion = false,\n      retryCount = 3,\n      retryOverallDelay = 800,\n      ...options\n    }: MiddlewareOptionalParams & {\n      ignoreVersion?: boolean;\n      retryCount?: number;\n      retryOverallDelay?: number;\n    } = {},\n  ) {\n    let version: string | undefined;\n    const getVersion = async (opts: OperationOptions): Promise<string> => {\n      if (version != null) return version;\n      version = (await this.getStatus(opts)).mdwVersion;\n      return version;\n    };\n\n    // eslint-disable-next-line constructor-super\n    super(url, {\n      allowInsecureConnection: true,\n      additionalPolicies: [\n        genVersionCheckPolicy('middleware', getVersion, '1.81.0', '2.0.0', ignoreVersion),\n        genRequestQueuesPolicy(),\n        genCombineGetRequestsPolicy(),\n        genRetryOnFailurePolicy(retryCount, retryOverallDelay),\n        genErrorFormatterPolicy((body: ErrorResponse) => ` ${body.error}`),\n      ],\n      ...options,\n    });\n    this.pipeline.addPolicy(parseBigIntPolicy, { phase: 'Deserialize' });\n    this.pipeline.removePolicy({ name: userAgentPolicyName });\n    this.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n    // TODO: use instead our retry policy\n    this.pipeline.removePolicy({ name: 'defaultRetryPolicy' });\n  }\n\n  /**\n   * Get a middleware response by path instead of a method name and arguments.\n   * @param pathWithQuery - a path to request starting with `/v3/`\n   */\n  async requestByPath<Response = unknown>(pathWithQuery: string): Promise<Response> {\n    const queryPos = pathWithQuery.indexOf('?');\n    const path = pathWithQuery.slice(0, queryPos === -1 ? pathWithQuery.length : queryPos);\n    const query = pathWithQuery.slice(queryPos === -1 ? pathWithQuery.length : queryPos + 1);\n\n    const operationSpec = operationSpecs.find((os) => {\n      let p = path;\n      if (os.path == null) return false;\n      const groups = os.path.replace(/{\\w+}/g, '{param}').split('{param}');\n      while (groups.length > 0) {\n        const part = groups.shift();\n        if (part == null) throw new InternalError(`Unexpected operation spec path: ${os.path}`);\n        if (!p.startsWith(part)) return false;\n        p = p.replace(part, '');\n        if (groups.length > 0) p = p.replace(/^[\\w.]+/, '');\n      }\n      return p === '';\n    });\n    if (operationSpec == null) {\n      throw new IllegalArgumentError(`Can't find operation spec corresponding to ${path}`);\n    }\n\n    return this.sendOperationRequest(\n      {},\n      {\n        ...operationSpec,\n        path,\n        urlParameters: operationSpec.urlParameters?.filter(\n          ({ parameterPath }) => parameterPath === '$host',\n        ),\n        queryParameters: Array.from(new URLSearchParams(query)).map(([key, value]) => ({\n          parameterPath: ['options', key],\n          mapper: {\n            defaultValue: value.toString(),\n            serializedName: key,\n            type: {\n              name: 'String',\n            },\n          },\n        })),\n      },\n    );\n  }\n\n  override async sendOperationRequest<T>(\n    operationArguments: OperationArguments,\n    operationSpec: OperationSpec,\n  ): Promise<T> {\n    const response = await super.sendOperationRequest(operationArguments, operationSpec);\n    if (!isMiddlewareRawPage(response)) return response as T;\n    return new MiddlewarePage(response, this) as T;\n  }\n}\n","import BrowserConnection from './connection/Browser.js';\n\n/**\n * Browser connection proxy\n * Provide functionality to easily forward messages from one connection to another and back\n * @category aepp wallet communication\n * @param con1 - first connection\n * @param con2 - second connection\n * @returns a function to stop proxying\n */\nexport default (con1: BrowserConnection, con2: BrowserConnection): (() => void) => {\n  con1.connect(\n    (msg: any) => con2.sendMessage(msg),\n    () => con2.disconnect(),\n  );\n  con2.connect(\n    (msg: any) => con1.sendMessage(msg),\n    () => con1.disconnect(),\n  );\n\n  return () => {\n    con1.disconnect();\n    con2.disconnect();\n  };\n};\n","import { AlreadyConnectedError, NoWalletConnectedError } from '../../utils/errors.js';\n\n/**\n * Browser connection base interface\n * @category aepp wallet communication\n */\nexport default abstract class BrowserConnection {\n  debug: boolean;\n\n  protected constructor({ debug = false }: { debug?: boolean }) {\n    this.debug = debug;\n  }\n\n  /**\n   * Connect\n   * @param onMessage - Message handler\n   * @param onDisconnect - trigger when runtime connection in closed\n   */\n  connect(\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    onMessage: (message: any, origin: string, source: any) => void,\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    onDisconnect: () => void,\n  ): void {\n    if (this.isConnected()) throw new AlreadyConnectedError('You already connected');\n  }\n\n  /**\n   * Disconnect\n   */\n  disconnect(): void {\n    if (!this.isConnected())\n      throw new NoWalletConnectedError('You dont have connection. Please connect before');\n  }\n\n  /**\n   * Receive message\n   */\n  protected receiveMessage(message: any): void {\n    if (this.debug) console.log('Receive message:', message);\n  }\n\n  /**\n   * Send message\n   */\n  sendMessage(message: any): void {\n    if (this.debug) console.log('Send message:', message);\n  }\n\n  /**\n   * Check if connected\n   * @returns Is connected\n   */\n  abstract isConnected(): boolean;\n}\n","import BrowserConnection from './Browser.js';\nimport { MESSAGE_DIRECTION } from '../schema.js';\nimport { InternalError, RpcConnectionError } from '../../utils/errors.js';\n\nexport type ImplPostMessage = Pick<\n  Window,\n  'addEventListener' | 'removeEventListener' | 'postMessage'\n>;\n\n/**\n * Browser window Post Message connector module\n * @category aepp wallet communication\n */\nexport default class BrowserWindowMessageConnection extends BrowserConnection {\n  origin?: string;\n\n  sendDirection?: MESSAGE_DIRECTION;\n\n  receiveDirection: MESSAGE_DIRECTION;\n\n  listener?: (this: Window, ev: MessageEvent<any>) => void;\n\n  #onDisconnect?: () => void;\n\n  readonly #target?: ImplPostMessage;\n\n  readonly #self: ImplPostMessage;\n\n  /**\n   * @param options - Options\n   * @param options.target Target window for message\n   * @param options.self Host window for message\n   * @param options.origin Origin of receiver\n   * @param options.sendDirection Wrapping messages into additional struct\n   * `({ type: 'to_aepp' || 'to_waellet', data })`\n   * Used for handling messages between content script and page\n   * @param options.receiveDirection Unwrapping messages from additional struct\n   */\n  constructor({\n    target,\n    self = window,\n    origin,\n    sendDirection,\n    receiveDirection = MESSAGE_DIRECTION.to_aepp,\n    ...options\n  }: {\n    target?: ImplPostMessage;\n    self?: ImplPostMessage;\n    origin?: string;\n    sendDirection?: MESSAGE_DIRECTION;\n    receiveDirection?: MESSAGE_DIRECTION;\n    debug?: boolean;\n  } = {}) {\n    super(options);\n    this.#target = target;\n    this.#self = self;\n    this.origin = origin;\n    this.sendDirection = sendDirection;\n    this.receiveDirection = receiveDirection;\n  }\n\n  isConnected(): boolean {\n    return this.listener != null;\n  }\n\n  override connect(\n    onMessage: (message: any, origin: string, source: MessageEventSource | null) => void,\n    onDisconnect: () => void,\n  ): void {\n    super.connect(onMessage, onDisconnect);\n    this.listener = (message: MessageEvent<any>) => {\n      // TODO: strict validate origin and source instead of checking message structure\n      if (\n        typeof message.data !== 'object' ||\n        (message.data.jsonrpc ?? message.data.data?.jsonrpc) !== '2.0'\n      )\n        return;\n      if (this.origin != null && this.origin !== message.origin) return;\n      if (this.#target != null && this.#target !== message.source) return;\n      this.receiveMessage(message);\n      let { data } = message;\n      if (data.type != null) {\n        if (message.data.type !== this.receiveDirection) return;\n        data = data.data;\n      }\n      onMessage(data, message.origin, message.source);\n    };\n    this.#self.addEventListener('message', this.listener);\n    this.#onDisconnect = onDisconnect;\n  }\n\n  override disconnect(): void {\n    super.disconnect();\n    if (this.listener == null || this.#onDisconnect == null) {\n      throw new InternalError('Expected to not happen, required for TS');\n    }\n    this.#self.removeEventListener('message', this.listener);\n    delete this.listener;\n    this.#onDisconnect();\n    this.#onDisconnect = undefined;\n  }\n\n  override sendMessage(msg: any): void {\n    if (this.#target == null) throw new RpcConnectionError(\"Can't send messages without target\");\n    const message = this.sendDirection != null ? { type: this.sendDirection, data: msg } : msg;\n    super.sendMessage(message);\n    this.#target.postMessage(message, this.origin ?? '*');\n  }\n}\n","import BrowserConnection from './connection/Browser.js';\nimport BrowserWindowMessageConnection from './connection/BrowserWindowMessage.js';\nimport { MESSAGE_DIRECTION, METHODS } from './schema.js';\nimport { WalletInfo } from './rpc/types.js';\nimport { UnsupportedPlatformError } from '../utils/errors.js';\n\ninterface Wallet {\n  info: WalletInfo;\n  getConnection: () => BrowserWindowMessageConnection;\n}\ninterface Wallets {\n  [key: string]: Wallet;\n}\n\n/**\n * A function to detect available wallets\n * @category aepp wallet communication\n * @param connection - connection to use to detect wallets\n * @param onDetected - call-back function which trigger on new wallet\n * @returns a function to stop scanning\n */\nexport default (\n  connection: BrowserConnection,\n  onDetected: ({ wallets, newWallet }: { wallets: Wallets; newWallet: Wallet }) => void,\n): (() => void) => {\n  if (window == null)\n    throw new UnsupportedPlatformError(\n      'Window object not found, you can run wallet detector only in browser',\n    );\n  const wallets: Wallets = {};\n\n  connection.connect(\n    (\n      { method, params }: { method: string; params: WalletInfo },\n      origin: string,\n      source: Window,\n    ) => {\n      if (method !== METHODS.readyToConnect || wallets[params.id] != null) return;\n\n      const wallet = {\n        info: params,\n        getConnection() {\n          return new BrowserWindowMessageConnection({\n            target: source,\n            ...(params.type === 'extension'\n              ? {\n                  sendDirection: MESSAGE_DIRECTION.to_waellet,\n                  receiveDirection: MESSAGE_DIRECTION.to_aepp,\n                  ...(window.origin !== 'null' && { origin: window.origin }),\n                }\n              : {\n                  origin: params.origin,\n                }),\n          });\n        },\n      };\n      wallets[wallet.info.id] = wallet;\n      onDetected({ wallets, newWallet: wallet });\n    },\n    () => {},\n  );\n\n  return () => connection.disconnect();\n};\n","import { Runtime } from 'webextension-polyfill';\nimport BrowserConnection from './Browser.js';\nimport { UnexpectedTsError } from '../../utils/errors.js';\n\n/**\n * BrowserRuntimeConnection\n * Handle browser runtime communication\n * @category aepp wallet communication\n */\nexport default class BrowserRuntimeConnection extends BrowserConnection {\n  port: Runtime.Port;\n\n  #listeners?: [(message: any, port: Runtime.Port) => void, () => void];\n\n  /**\n   * @param options - Options\n   */\n  constructor({ port, ...options }: { port: Runtime.Port; debug?: boolean }) {\n    super(options);\n    this.port = port;\n  }\n\n  override disconnect(): void {\n    super.disconnect();\n    this.port.disconnect();\n    if (this.#listeners == null) throw new UnexpectedTsError();\n    this.port.onMessage.removeListener(this.#listeners[0]);\n    this.port.onDisconnect.removeListener(this.#listeners[1]);\n    this.#listeners = undefined;\n  }\n\n  override connect(\n    onMessage: (message: any, origin: string, source: Runtime.Port) => void,\n    onDisconnect: () => void,\n  ): void {\n    super.connect(onMessage, onDisconnect);\n    this.#listeners = [\n      (message, port) => {\n        this.receiveMessage(message);\n        // TODO: make `origin` optional because sender url is not available on aepp side\n        onMessage(message, port.sender?.url ?? '', port);\n      },\n      onDisconnect,\n    ];\n    this.port.onMessage.addListener(this.#listeners[0]);\n    this.port.onDisconnect.addListener(this.#listeners[1]);\n  }\n\n  override sendMessage(message: any): void {\n    super.sendMessage(message);\n    this.port.postMessage(message);\n  }\n\n  isConnected(): boolean {\n    return this.#listeners != null;\n  }\n}\n"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__6168__","__WEBPACK_EXTERNAL_MODULE__833__","__WEBPACK_EXTERNAL_MODULE__18__","__WEBPACK_EXTERNAL_MODULE__1655__","__WEBPACK_EXTERNAL_MODULE__4578__","__WEBPACK_EXTERNAL_MODULE__6514__","__WEBPACK_EXTERNAL_MODULE__1081__","__WEBPACK_EXTERNAL_MODULE__2853__","__WEBPACK_EXTERNAL_MODULE__6016__","__WEBPACK_EXTERNAL_MODULE__1891__","__WEBPACK_EXTERNAL_MODULE__4146__","__WEBPACK_EXTERNAL_MODULE__8380__","__WEBPACK_EXTERNAL_MODULE__5196__","__WEBPACK_EXTERNAL_MODULE__8963__","__WEBPACK_EXTERNAL_MODULE__761__","__WEBPACK_EXTERNAL_MODULE__7250__","$","target","stat","name","forced","isWellKnown","isPossiblePrototype","$String","String","$TypeError","TypeError","argument","parent","classof","call","IS_PURE","FunctionName","isCallable","createIteratorConstructor","getPrototypeOf","setPrototypeOf","setToStringTag","createNonEnumerableProperty","defineBuiltIn","wellKnownSymbol","Iterators","IteratorsCore","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","this","Iterable","NAME","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","prototype","nativeIterator","anyNativeIterator","entries","Object","values","keys","proto","defineWellKnownSymbol","path","hasOwn","wrappedWellKnownSymbolModule","defineProperty","Symbol","value","f","Buffer","Hash","blockSize","finalSize","_block","alloc","_finalSize","_blockSize","_len","update","data","enc","from","block","length","accum","offset","assigned","remainder","Math","min","i","_update","digest","rem","fill","bits","writeUInt32BE","lowBits","highBits","hash","_hash","toString","Error","toPrimitive","isSymbol","key","globalThis","WeakMap","test","toLength","obj","isObject","input","pref","fn","val","valueOf","bind","uncurryThis","IndexedObject","toObject","lengthOfArrayLike","arraySpeciesCreate","push","createMethod","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","callbackfn","that","specificCreate","result","O","boundFunction","index","create","undefined","forEach","map","filter","some","every","find","findIndex","filterReject","tryToString","shared","NATIVE_SYMBOL_REGISTRY","SymbolToStringRegistry","keyFor","sym","METADATA","FunctionPrototype","Function","match","version","userAgent","process","Deno","versions","v8","split","uint32ToHex","substring","normalizeInput","ret","Uint8Array","TextEncoder","encode","toHex","bytes","Array","n","join","debugPrint","label","arr","size","msg","toUpperCase","console","log","testSpeed","hashFn","N","M","startMs","Date","getTime","genMs","hashHex","hashMs","ms","round","apply","getOwnPropertyDescriptor","isForced","wrapConstructor","NativeConstructor","Wrapper","a","b","c","arguments","options","source","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","TARGET","GLOBAL","global","STATIC","PROTO","nativeSource","targetPrototype","dontCallGetSet","wrap","sham","real","NATIVE_SYMBOL","iterator","ceil","floor","trunc","x","toIntegerOrInfinity","requireObjectCoercible","charAt","charCodeAt","stringSlice","slice","CONVERT_TO_STRING","pos","first","second","S","position","codeAt","fails","hasOwnProperty","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","object","WrappedWellKnownSymbolModule","isWellKnownSymbol","isArray","aCallable","method","error","NATIVE_BIND","uncurryThisWithBind","it","desc","V8_PROTOTYPE_DEFINE_BUG","anObject","toIndexedObject","objectKeys","defineProperties","Properties","props","documentAll","document","all","classofRaw","getBuiltIn","uid","configurable","writable","DOMIterables","COLLECTION_NAME","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","V","enumerable","thisSymbolValue","isRegisteredSymbol","store","functionToString","inspectSource","buffer","copyProps","src","dst","SafeBuffer","arg","encodingOrOffset","allocUnsafe","allocUnsafeSlow","encoding","buf","SlowBuffer","internalObjectKeys","enumBugKeys","indexOf","hiddenKeys","names","len","StringToSymbolRegistry","string","symbol","isRegistered","SymbolPrototype","TO_PRIMITIVE","hint","arity","createElement","get","defineSymbolToPrimitive","isPrototypeOf","toPropertyKey","$toString","nativeObjectCreate","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertySymbolsModule","getOwnPropertyDescriptorModule","definePropertiesModule","propertyIsEnumerableModule","defineBuiltInAccessor","sharedKey","InternalStateModule","$forEach","HIDDEN","SYMBOL","PROTOTYPE","setInternalState","set","getInternalState","getterFor","ObjectPrototype","$Symbol","RangeError","QObject","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","WellKnownSymbolsStore","USE_SETTER","findChild","fallbackDefineProperty","P","Attributes","ObjectPrototypeDescriptor","setSymbolDescriptor","tag","description","type","$defineProperty","$defineProperties","properties","concat","$getOwnPropertySymbols","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","setter","unsafe","constructor","useSetter","useSimple","getOwnPropertyNames","IE8_DOM_DEFINE","TO_STRING_TAG_SUPPORT","$Object","CORRECT_ARGUMENTS","tryGet","callee","isConstructor","SPECIES","$Array","originalArray","C","inherits","K","W","Sha256","init","_w","ch","y","z","maj","sigma0","sigma1","gamma0","_a","_b","_c","_d","_e","_f","_g","_h","d","e","g","h","readInt32BE","j","T1","T2","H","writeInt32BE","util","ADD64AA","v","o0","o1","ADD64AC","b0","b1","B2B_GET32","B2B_G","ix","iy","x0","m","x1","y0","y1","xor0","xor1","BLAKE2B_IV32","Uint32Array","SIGMA82","blake2bCompress","ctx","last","t","parameterBlock","blake2bInit","outlen","salt","personal","blake2bUpdate","blake2bFinal","out","blake2b","blake2bHex","output","isNullOrUndefined","ENUMERABLE","WRITABLE","current","toAbsoluteIndex","IS_INCLUDES","el","fromIndex","includes","TAG","SET_METHOD","max","integer","has","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","enforce","PrototypeOfArrayIteratorPrototype","arrayIterator","getOwnPropertySymbols","arraySlice","windowNames","window","getWindowNames","noop","construct","constructorRegExp","exec","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","number","aFunction","variable","namespace","USE_SYMBOL_AS_UID","bitmap","check","CORRECT_PROTOTYPE_GETTER","IE_PROTO","Reflect","getMethod","ordinaryToPrimitive","exoticToPrim","defineGlobalProperty","SHARED","mode","copyright","license","createWellKnownSymbol","withoutSetter","id","postfix","random","replacer","rawLength","element","keysLength","ctor","superCtor","super_","TempCtor","navigator","getDescriptor","EXISTS","arraySpeciesConstructor","JSON","defineIterator","createIterResultObject","STRING_ITERATOR","iterated","point","V8_VERSION","METHOD_NAME","array","foo","Boolean","ENUMERABLE_NEXT","F","replacement","feature","detection","normalize","POLYFILL","NATIVE","replace","toLowerCase","activeXDocument","html","documentCreateElement","SCRIPT","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","style","display","appendChild","contentWindow","open","doesNotExceedSafeInteger","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","k","E","A","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","__proto__","$isWellKnownSymbol","symbolKeys","symbolKeysLength","symbolKey","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","addToUnscopables","ARRAY_ITERATOR","kind","Arguments","func","done","getReplacerFunction","$stringify","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","args","$replacer","fixIllFormed","prev","stringify","space","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","o","prop","r","toStringTag","bigNumber","integerValue","BigNumber","BaseError","message","super","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","argumentName","requirement","argumentValue","IllegalArgumentError","ArgumentCountMismatchError","functionName","requiredCount","providedCount","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","height","TxTimedOutError","blocks","th","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","dependency","geVersion","ltVersion","LogicError","InternalError","UnexpectedTsError","UnavailableAccountError","address","AensPointerContextError","nameOrId","prefix","InsufficientNameFeeError","nameFee","minNameFee","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","UnAuthorizedAccountError","onAccount","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","handlerError","incomingMessage","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","details","DuplicateContractError","InactiveContractError","contractAddress","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","transaction","NoSuchContractFunctionError","NotPayableFunctionError","amount","MissingEventDefinitionError","eventNameHash","eventAddress","AmbiguousEventDefinitionError","matchedEvents","InvalidChecksumError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","nodeLength","UnknownPathNibbleError","nibble","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","SchemaNotFoundError","TagNotFoundError","TxNotInChainError","txHash","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError","AE_AMOUNT_FORMATS","DENOMINATION_MAGNITUDE","AE","MILI_AE","MICRO_AE","NANO_AE","PICO_AE","FEMTO_AE","AETTOS","formatAmount","denomination","targetDenomination","isNaN","Number","isInteger","shiftedBy","toFixed","toAe","toAettos","prefixes","magnitude","getNearestPrefix","exponent","reduce","p","abs","getLowerBoundPrefix","_prefixes$find","prefixedAmount","rawValue","_value$e","exp","precision","pause","async","Promise","resolve","setTimeout","duration","mapObject","fromEntries","concatBuffers","list","totalLength","isKeyOfObject","isItemOfArray","item","isAccountNotFoundError","RestError","statusCode","ensureError","wrapWithProxy","valueCb","Proxy","res","Encoding","sha256hash","base64Types","ContractBytearray","ContractStoreKey","ContractStoreValue","Transaction","OracleQuery","OracleResponse","State","Poi","StateTrees","CallStateTree","Bytearray","base58Types","KeyBlockHash","MicroBlockHash","BlockPofHash","BlockTxHash","BlockStateHash","Channel","ContractAddress","TxHash","OracleAddress","OracleQueryId","AccountAddress","AccountSecretKey","Signature","Commitment","PeerPubkey","Name","byteSizeForType","ensureValidLength","reqLen","getChecksum","payload","addChecksum","getPayload","equals","base64","decode","base58","bs58","parseType","maybeType","base64Type","base58Type","encodedPayload","extra","encoder","isAddressValid","maybeEncoded","encodings","ensureEncoded","isEncoded","genSalt","BigUint64Array","nacl","BigInt","MAX_SAFE_INTEGER","encodeUnsigned","binary","subarray","verifySignature","signature","detached","verify","encodeVarUInt","Uint16Array","messagePrefix","messagePrefixLength","hashMessage","verifyMessageSignature","toBytes","big","hexString","DRY_RUN_ACCOUNT","pub","MAX_AUTH_FUN_GAS","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag","buildContractId","owner","nonce","oracleQueryId","senderId","oracleId","nonceBE","_int32","AENS_SUFFIX","nameToPunycode","maybeName","suffix","other","at","punycode","u","URL","username","password","port","search","pathname","host","produceNameId","commitmentHash","padStart","readInt","ensureName","isName","encodingToPointerKey","getDefaultPointerKey","identifier","getMinimumNameFee","nameLength","computeBidFee","startFee","increment","plus","computeAuctionEndBlock","claimHeight","_ref","_ref2","_ref3","isAuctionName","_getPollInterval","_expectedMineRate","_microBlockCycle","onNode","networkId","getNetworkId","_isHyperchain","getEventInterval","heightCache","getHeight","cached","_wrappedValue","cache","time","now","getCurrentKeyBlockHeight","poll","interval","tx","getTransactionByHash","blockHeight","ttl","awaitHeight","currentHeight","waitForTxConfirm","confirm","newBlockHeight","getAccount","getAccountByPubkeyAndHeight","getAccountByPubkeyAndHash","getAccountByPubkey","getBalance","format","addr","startsWith","balance","catch","getCurrentGeneration","getGeneration","hashOrHeight","getGenerationByHeight","getGenerationByHash","getMicroBlockTransactions","getMicroBlockTransactionsByHash","transactions","getKeyBlock","getKeyBlockByHeight","getKeyBlockByHash","getMicroBlockHeader","getMicroBlockHeaderByHash","txDryRunRequests","Map","txDryRunHandler","rs","delete","dryRunRes","top","protectedDryRunTxs","txEvents","txs","req","accounts","Set","accountAddress","pubKey","reject","results","reason","resultPayload","idx","assign","txDryRun","combine","_txDryRunRequests$get","requests","_requests$timeout","timeout","getContractByteCode","contractId","getContractCode","getContract","getName","getNameEntryByName","resolveName","resolveByNode","pointer","pointers","ProtocolToVmAbi","Ceres","vmVersion","Fate3","abiVersion","Fate","NoAbi","getProtocolDetails","protocolVersion","_protocol$vmVersion$","protocol","Fate2","serialize","params","consensusProtocolVersion","prepare","getNodeInfo","deserialize","vm","abi","_getProtocolDetails","ContractCallTx","GaMetaTx","idTagToEncoding","genAddressField","hashId","idTag","readUIntBE","genArrayField","itemHandler","items","buffers","uInt","serializeAettos","genEncodedField","optional","encodedData","genEntryField","txParams","packEntry","ArrayBuffer","isView","unpackEntry","genEnumerationField","enm","gasPriceCache","getCachedIncreasedGasPrice","node","gasPrice","minGasPrice","utilization","getRecentGasPrices","maxSafeGasPrice","warn","coinAmount","getOracleRelativeTtl","ttlKeys","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleRespondTx","buildGas","builtTx","unpackTx","buildTx","txObject","innerTxSize","PayingForTx","encodedTx","txType","_feeFactors","ChannelForceProgressTx","ChannelOffChainTx","ContractCreateTx","GaAttachTx","TX_BASE_GAS","TX_OTHER_GAS","txSize","relativeTtl","gasPricePrefix","_value","rebuildTx","_computingMinFee","_canIncreaseFee","minFee","previousFee","fee","eq","calculateMinFee","dividedBy","gt","shortUInt","_computingGasLimit","gasMax","gasLimitMax","calculateGasLimitMax","gasLimit","field","txFields","parameters","addressName","genNonceField","senderKey","strategy","getAccountNextNonce","nextNonce","ID_TAG","DATA_TAG","addressAny","allowRaw","bKey","bId","getOracleByPubkey","queryFee","genShortUIntConstField","constValue","constValueOptional","genTransactionField","absoluteTtl","_isInternalBuild","withDefault","defaultValue","withFormatting","CallReturnType","EntryTag","ORACLE_TTL_TYPES","transactionAny","transactionSignedTx","SignedTx","entryTreesPoi","entry","TreesPoi","clientTtl","nameTtl","NAME_TTL","txSchema","shortUIntConst","signatures","raw","SpendTx","recipientId","encoded","NamePreclaimTx","accountId","commitmentId","NameClaimTx","nameSalt","NameUpdateTx","nameId","NameTransferTx","NameRevokeTx","ownerId","code","ctVersion","deposit","callData","callerId","queryFormat","responseFormat","oracleTtlType","delta","enumeration","oracleTtlValue","query","queryTtlType","queryTtlValue","responseTtlType","responseTtlValue","queryId","response","ChannelCreateTx","initiator","initiatorAmount","responder","responderAmount","channelReserve","lockPeriod","initiatorDelegateIds","responderDelegateIds","stateHash","ChannelCloseMutualTx","channelId","fromId","initiatorAmountFinal","responderAmountFinal","ChannelCloseSoloTx","poi","ChannelSlashTx","ChannelDepositTx","ChannelWithdrawTx","toId","ChannelSettleTx","offChainTrees","ChannelSnapshotSoloTx","authFun","gaId","authData","payerId","getSchema","schemas","subSchemas","s","defaultSchema","schema","packRecord","extraParams","rlpEncode","unpackRecord","encodedRecord","expectedTag","rlpDecode","readUintBE","genMapField","Mtree","MtreeValue","recursiveType","NodeType","_rootHash","_isComplete","_nodes","_encoding","_tag","_unpackEntry","_MPTree_brand","WeakSet","MPTree","isComplete","_classPrivateFieldGet","unpEnt","_classPrivateFieldInitSpec","_classPrivateFieldSet","_nodeHash","_parseNode","Branch","Extension","Leaf","isEqual","tree","mptHash","_assertClassBrand","_getRaw","_entriesRaw","_key","searchFrom","rec","genMPTreeField","genWrappedField","_MPTree","entryMtreeValueArray","mapContracts","Contract","mapAccounts","Account","mapCalls","ContractCall","mapChannels","mapNames","mapOracles","Oracle","flags","gaContract","gaAuthFun","status","active","boolean","referers","callerNonce","gasUsed","returnValue","returnType","channelAmount","soloRound","lockedUntil","initiatorAuth","responderAuth","ChannelOffChainUpdateTransfer","to","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateCallContract","caller","contract","callStack","mptree","calls","channels","contracts","ns","oracles","wrapped","ContractsMtree","CallsMtree","ChannelsMtree","NameserviceMtree","OraclesMtree","AccountsMtree","GaMetaTxAuthData","encodingTag","_encodingTag$find$","getSchemaCommon","overrideParams","buildTxAsync","buildTxHash","rawTx","buildContractIdByContractTx","contractTx","verCmp","getComponents","aComponents","bComponents","base","componentsToNumber","components","reverse","acc","semverSatisfies","bigIntPrefix","createSerializer","serializer","createSerializerOrig","mapper","objectName","serializedName","responseBody","safeLength","bigIntPropertyRe","RegExp","bigIntArrayItemRe","parseBigIntPolicy","sendRequest","request","bodyAsText","replaceAll","matched","end","genRequestQueuesPolicy","requestQueues","policy","_requestQueues$get","headers","getResponse","then","genCombineGetRequestsPolicy","pendingGetRequests","_pendingGetRequests$g","url","body","genAggressiveCacheGetResponsesPolicy","getRequests","_getRequests$get","genErrorFormatterPolicy","getMessage","parsedBody","genVersionCheckPolicy","versionCb","ignoreVersion","requestOptions","customHeaders","genRetryOnFailurePolicy","retryCount","retryOverallDelay","_request$headers$get","retryCode","NaN","statusesToNotRetry","intervals","_","intervalSum","intervalsInMs","attempt","urlParsed","searchParams","_e$response$status","className","modelProperties","required","constraints","InclusiveMinimum","InclusiveMaximum","payable","allowedValues","ErrorModel","errorCode","NextNonceResponse","SignedTxs","blockHash","Tx","initiatorId","responderId","delegateIds","offchainTrees","oracleTtl","queryTtl","responseTtl","gas","Pattern","Delegates","OffChainUpdate","uberParent","polymorphicDiscriminator","clientName","op","RelativeTTL","isConstant","Ttl","NamePointer","encodedKey","AuctionEntry","startedAt","endsAt","highestBidder","highestBid","ContractObject","referrerIds","ByteCode","bytecode","PoI","Currency","subunit","subunitsPerUnit","fiatConverstionUrl","fiatConversionUrl","logo","primaryColour","secondaryColour","networkName","Image","DryRunInput","DryRunAccount","DryRunInputItem","callReq","DryRunCallReq","calldata","context","DryRunCallContext","stateful","DryRunResults","DryRunResult","callObj","ContractCallObject","Event","topics","Generation","keyBlock","microBlocks","KeyBlock","prevHash","prevKeyHash","miner","beneficiary","pow","MinItems","MaxItems","info","Header","pofHash","txsHash","PinningTx","epoch","parentPayload","lastLeader","parentType","parentNetworkId","HCContractPubkeys","staking","election","rewards","HashResponse","HeightResponse","MicroBlockHeader","CountResponse","count","NameEntry","NamePointerComplete","RegisteredOracle","OracleQueries","oracleQueries","senderNonce","PeerPubKey","pubkey","GasPricesItem","minutes","Status","genesisKeyBlockHash","solutions","difficulty","hashrate","syncing","syncProgress","uptime","listening","protocols","nodeVersion","nodeRevision","peerCount","peerConnections","pendingTransactionsCount","peerPubkey","topKeyBlockHash","topBlockHeight","Protocol","effectiveAtHeight","PeerConnections","inbound","outbound","SyncStatus","progress","speed","estimate","EncodedTx","PostTxResponse","TxInfoObject","callInfo","gaInfo","txInfo","GAObject","innerObject","ChannelSetDelegatesTx","CheckTxInPoolResponse","CommitmentId","UnsignedTx","GAAttachTx","GAMetaTx","NameHash","PeerDetails","firstSeen","lastSeen","genesisHash","topHash","topDifficulty","nodeVendor","nodeOs","PeerCount","connected","available","blocked","PeerCountConnected","PeerCountAvailable","verified","unverified","Peers","peers","PubKey","TokenSupply","contractOracles","locked","pendingRewards","total","OffChainCallContract","OffChainDeposit","OffChainNewContract","OffChainTransfer","OffChainWithdrawal","CreateContractUnsignedTx","discriminators","accept","parameterPath","$host","skipEncoding","contentType","DryRunInputMapper","body1","EncodedTxMapper","Node","coreClient","_options$endpoint","packageDetails","userAgentPrefix","userAgentOptions","requestContentType","endpoint","baseUri","sendOperationRequest","getAccountByPubkeyOperationSpec","getAccountByPubkeyAndHashOperationSpec","getAccountByPubkeyAndHeightOperationSpec","getAccountNextNonceOperationSpec","getPendingAccountTransactionsByPubkey","getPendingAccountTransactionsByPubkeyOperationSpec","getAuctionEntryByName","getAuctionEntryByNameOperationSpec","getChannelByPubkey","getChannelByPubkeyOperationSpec","getContractOperationSpec","getContractCodeOperationSpec","getContractPoI","getContractPoIOperationSpec","getCurrency","getCurrencyOperationSpec","protectedDryRunTxsOperationSpec","getCurrentGenerationOperationSpec","getGenerationByHashOperationSpec","getGenerationByHeightOperationSpec","getTopHeader","getTopHeaderOperationSpec","getPinningTx","getPinningTxOperationSpec","getHyperchainContractPubkeys","getHyperchainContractPubkeysOperationSpec","getCurrentKeyBlock","getCurrentKeyBlockOperationSpec","getCurrentKeyBlockHash","getCurrentKeyBlockHashOperationSpec","getCurrentKeyBlockHeightOperationSpec","getKeyBlockByHashOperationSpec","getKeyBlockByHeightOperationSpec","getPendingKeyBlock","getPendingKeyBlockOperationSpec","getMicroBlockHeaderByHashOperationSpec","getMicroBlockTransactionsByHashOperationSpec","getMicroBlockTransactionsCountByHash","getMicroBlockTransactionsCountByHashOperationSpec","getMicroBlockTransactionByHashAndIndex","getMicroBlockTransactionByHashAndIndexOperationSpec","getNameEntryByNameOperationSpec","getNameEntryByNameHash","nameHash","getNameEntryByNameHashOperationSpec","getOracleByPubkeyOperationSpec","getOracleQueriesByPubkey","getOracleQueriesByPubkeyOperationSpec","getOracleQueryByPubkeyAndQueryId","getOracleQueryByPubkeyAndQueryIdOperationSpec","getPeerPubkey","getPeerPubkeyOperationSpec","getRecentGasPricesOperationSpec","getStatus","getStatusOperationSpec","getChainEnds","getChainEndsOperationSpec","getSyncStatus","getSyncStatusOperationSpec","postTransaction","postTransactionOperationSpec","getTransactionByHashOperationSpec","getTransactionInfoByHash","getTransactionInfoByHashOperationSpec","Mappers","httpMethod","responses","bodyMapper","isError","urlParameters","Parameters","headerParameters","queryParameters","requestBody","mediaType","_ignoreVersion","_cachedStatusPromise","_isHyperchainPromise","NodeApi","allowInsecureConnection","additionalPolicies","_getCachedStatus","opts","pipeline","addPolicy","phase","removePolicy","userAgentPolicyName","setClientRequestIdPolicyName","promise","nodeNetworkId","getTransactionSignerAddress","AccountBase","hashJson","_canonicalize","canonicalize","hashDomain","domainType","TypeResolver","resolveType","record","option","ContractByteArrayEncoder","encodeWithType","hashTypedData","aci","getBufferToSign","innerTx","rlpBinaryTx","_secretKeyDecoded","AccountMemory","secretKey","keyPair","fromSeed","publicKey","generate","sign","unsafeSign","signTransaction","txWithNetworkId","signMessage","signTypedData","dHash","signDelegation","delegation","getExecutionCost","isInitiator","getExecutionCostBySignedTx","isInnerTx","isNotInnerTx","getExecutionCostUsingNode","isMined","isSignedTx","combinedInfo","validators","verifyTransactionInternal","parentTxTypes","account","flat","verifyTransaction","nodeNotCached","clone","txBinary","txHashWithNetworkId","checkedKeys","nestedTx","cost","recipient","oracleCall","contractCreate","contractCall","parse","InvalidTxError","validation","sendTransaction","txUnsigned","waitMined","__queue","pollResult","txData","confirmationHeight","verifyTx","toBase64Url","fromBase64Url","objectToBase64Url","header","signJwt","originalPayload","sub_jwk","kty","crv","unpackJwt","jwt","_payload$sub_jwk","payloadEncoded","jwk","signer","isJwt","maybeJwt","ensureJwt","verifyJwt","DelegationTag","oracleAddressField","queryIdField","AensWildcard","AensName","AensPreclaim","packDelegation","unpackDelegation","NotAuctionNameError","action","_salt","revoke","opt","extendPointers","allPointers","hasRawPointers","transfer","getState","_options$onNode","nameEntry","getAuctionState","_options$onNode2","extendTtl","claim","preclaim","bid","_Contract_brand","_aciContract","_getCallResult","fnName","fnAci","_getFunctionAci","decodedResult","_calldata","_name","decodedEvents","$decodeEvents","decodeFateString","_sendAndProcess","$options","$getCallResultByTxHash","functions","returns","_getContractNameByEvent","ctAddress","contractAddressToName","addressToName","_aci","event","variant","events","eventName","calcHash","ContractWithMethods","$compile","onCompiler","sourceCode","compileBySourceCode","fileSystem","sourceCodePath","compile","callInfoTyped","_estimateGas","$call","callStatic","$deploy","_opt$gasLimit","_opt$gasLimit2","topOption","txOpt","dryRunOther","omitUnknown","contractName","decoded","decodeEvent","initialize","validateBytecode","otherOptions","onChanBytecode","isValid","validateBySourceCode","validate","aciLast","Calldata","aciArgs","pop","decodeQuery","queryEntry","decodedQuery","decodedResponse","OracleBase","getQueries","getQuery","_handleQueriesPromise","register","pollQueries","onQuery","knownQueryIds","isChecking","checkNewQueries","filtered","includeResponded","add","idPromise","_opt$interval","setInterval","clearInterval","respondToQuery","handleQueries","queuePromise","handler","q","respondPromise","stopPoll","OracleClient","postQuery","oracleQueryTx","pollForResponse","responseBuffer","spend","recipientIdOrName","transferFunds","fraction","desiredAmount","minus","payForTransaction","createGeneralizedAccount","authFnName","_options$gasLimit","freeze","gaContractId","buildAuthTxHash","buildAuthTxHashByGaMetaTx","_typeof","_defineProperty","chainMethods","spendMethods","contractGaMethods","_wrappedOptions","AeSdkMethods","_options","getContext","mergeWith","AeSdkBase","nodes","instance","addNode","api","compilerApi","_resolveAccount","ensureNodeConnected","pool","selectedNodeName","select","selectNode","isNodeConnected","getNodesInPool","addresses","_options$networkId","AeSdk","addAccount","selectedAddress","selectAccount","removeAccount","MESSAGE_DIRECTION","WALLET_TYPE","SUBSCRIPTION_TYPES","METHODS","RPC_STATUS","rpcErrors","RpcError","toJSON","json","RpcErr","cl","RpcInvalidTransactionError","RpcRejectedByUserError","RpcUnsupportedProtocolError","RpcConnectionDenyError","RpcNotAuthorizeError","RpcPermissionDenyError","RpcInternalError","RpcNoNetworkById","RpcMethodNotFoundError","AccountRpc","rpcClient","_rpcClient","dataRaw","returnSigned","signedTransaction","_callbacks","_messageId","_methods","_RpcClient_brand","RpcClient","connection","onDisconnect","connect","_handleMessage","_sendRequest","notify","origin","jsonrpc","_processResponse","methodName","_sendResponse","sendMessage","callbacks","AeSdkAepp","onAddressChange","onNetworkChange","_ensureConnected","_ensureAccountAccess","_accounts","connectToWallet","connectNode","disconnectParams","updateNetwork","client","updateAddress","closeConnection","disconnect","readyToConnect","walletInfo","disconnectWallet","askAddresses","subscribeAddress","askToSelectNetwork","network","_WalletConnectorFrameBase_brand","WalletConnectorFrameBase","EventEmitter","isConnected","_connect","connector","emit","_updateAccounts","_updateNetwork","_getRpcClient","getAccounts","subscribeAccounts","_networkId","WalletConnectorFrame","_node","WalletConnectorFrameWithNode","jsonBig","JsonBig","storeAsString","convertValuesToBigNumbers","bn","AeSdkWallet","onConnection","onSubscription","onAskAccounts","onAskToSelectNetwork","_type","_getAccountsForClient","addressSubscription","_pushAccountsToApps","_clients","clientId","_isRpcClientConnected","_getClient","rpc","_getNode","CONNECTED","_disconnectRpcClient","DISCONNECTED","removeRpcClient","addRpcClient","clientConnection","WAITING_FOR_CONNECTION_REQUEST","icons","getWalletInfo","subscribe","unsubscribe","subscription","aeppOrigin","aeppRpcClientId","transactionHash","shareWalletInfo","location","AccountBaseFactory","discover","ED25519_CURVE","deriveKey","I","tweetnaclAuth","chainCode","derivePathFromKey","segments","segment","indexBuffer","_mnemonicOrWalletOrSeed","_AccountMnemonicFactory_brand","AccountMnemonicFactory","mnemonicOrWalletOrSeed","getWallet","_getWallet","getWalletSync","accountIndex","wallet","_getAccountByWallet","initializeSync","sync","setWalletBySeed","seed","walletKey","mnemonicToSeedSync","mnemonicToSeed","_authFun","AccountGeneralized","authCallData","gaMetaTx","CLA","AccountLedger","transport","decorateAppAPIMethods","networkIdBuffer","toSend","maxChunkSize","chunkSize","bufferOffset","writeUInt8","copy","previous","send","messageStr","_ensureReadyPromise","_AccountLedgerFactory_brand","AccountLedgerFactory","ensureReady","_getAppConfiguration","oldApp","newApp","_enableExperimentalLedgerAppSupport","getAppConfiguration","getAddress","_ensureReady","addressLength","_classPrivateFieldGet2","snapId","invokeSnap","provider","AccountMetamask","derivationPath","snapMinVersion","snapMaxVersion","_provider","_AccountMetamaskFactory_brand","_providerPromise","AccountMetamaskFactory","installSnap","_getProvider","requestSnap","getSnapVersion","snaps","_getMetamaskAsInjected","ethereum","_getMetamaskOverEip","dispatchEvent","detail","rdns","removeEventListener","addEventListener","_classPrivateFieldGet3","_await$_assertClassBr","metamaskVersionPrefix","CompilerBase","CompileOpts","srcFile","ErrorPos","file","line","col","CompileResult","warnings","SophiaCallResultInput","function","callResult","callValue","BytecodeCallResultInput","DecodedCallresult","FunctionCallInput","DecodeCalldataBytecode","DecodedCalldata","DecodeCalldataSource","ByteCodeInput","FateAssembler","fateAssembler","ValidateByteCodeInput","CompilerVersion","ApiVersion","apiVersion","SophiaBinaryData","sophiaType","SophiaJsonData","ContractMapper","SophiaCallResultInputMapper","body2","BytecodeCallResultInputMapper","body3","FunctionCallInputMapper","body4","DecodeCalldataBytecodeMapper","body5","DecodeCalldataSourceMapper","body6","ByteCodeInputMapper","body7","ValidateByteCodeInputMapper","Compiler","generateACI","generateACIOperationSpec","compileContract","compileContractOperationSpec","decodeCallResult","decodeCallResultOperationSpec","decodeCallResultBytecode","decodeCallResultBytecodeOperationSpec","encodeCalldata","encodeCalldataOperationSpec","decodeCalldataBytecode","decodeCalldataBytecodeOperationSpec","decodeCalldataSource","decodeCalldataSourceOperationSpec","getFateAssemblerCode","getFateAssemblerCodeOperationSpec","validateByteCode","validateByteCodeOperationSpec","getCompilerVersion","getCompilerVersionOperationSpec","versionOperationSpec","apiVersionOperationSpec","apiOperationSpec","CompilerHttp","compilerUrl","CompilerApi","parameter","cmpOut","warning","generateAciBySourceCode","generateAci","snakeToPascal","w3cwebsocket","W3CWebSocket","websocket","channel","rest","_eventEmitter","enterState","nextState","_debug","_fsm","enter","dequeueAction","changeStatus","newStatus","debug","_status","changeState","newState","_state","_websocket","_isActionQueueLocked","queue","_actionQueue","guard","handleMessage","st","updates","clearTimeout","_pingTimeoutId","ping","_nextRpcMessageId","_rpcCallbacks","_message$error$data$","appendSignature","signFn","payloadTx","signatures2","signAndNotify","signedTx","signed_tx","handleUnexpectedMessage","_channel","wsMessage","channelOpen","awaitingCompletion","onSuccess","accepted","error_code","errorMessage","error_msg","codes","awaitingConnection","channelInfoStatus","nextStatus","awaitingChannelCreateTx","awaitingOpenConfirmation","_fsmId","fsm_id","channelClosed","awaitingReestablish","message2","state2","awaitingReconnection","role","awaitingOnChainTx","awaitingBlockInclusion","_channelId","channel_id","awaitingTxSignRequest","_message$method$match","awaitingUpdateConflict","awaitingShutdownTx","awaitingLeave","closeTx","channelCounter","_debugId","_initialize","_options$existingFsmI","reconnect","existingFsmId","existingChannelId","reconnectHandler","handlers","reestablish","connectionHandler","openHandler","channelOptions","wsUrl","onerror","onopen","onclose","onmessage","_messageQueue","_isMessageQueueLocked","shift","dequeueMessage","callback","onMessage","on","off","removeListener","channelDisconnect","halfSignedTx","trees","fsmId","enqueueAction","leave","shutdown","ChannelSpend","meta","awaitingOffChainTx","_2","balances","awaitingActionTx","awaitingActionCompletion","onOnChainTx","Action","isOwn","withdraw","onOwnWithdrawLocked","onWithdrawLocked","onOwnDepositLocked","onDepositLocked","onStatusChanged","snakeToPascalObjKeys","ChannelContract","createContract","call_data","vm_version","abi_version","addressKey","callContract","contract_id","forceProgress","gas_price","callContractStatic","getContractCall","caller_id","getContractState","cleanContractCalls","Source","MiddlewareSubscriberError","MiddlewareSubscriberDisconnected","closeEvent","_subscriptions","_requestQueue","_webSocket","_MiddlewareSubscriber_brand","MiddlewareSubscriber","webSocket","_disconnect","WebSocket","errorEvent","_emit","_messageHandler","_classPrivateGetter","_get_targets","_sendSubscribe","subscribeKeyBlocks","cb","_subscribe","Middleware","subscribeKeyBlocksNode","subscribeKeyBlocksAll","All","subscribeMicroBlocks","subscribeMicroBlocksNode","subscribeMicroBlocksAll","subscribeTransactions","subscribeTransactionsNode","subscribeTransactionsAll","subscribeObject","subscribeObjectNode","subscribeObjectAll","_this","_sendMessage","isSubscribe","condition","onlyReset","limit","scope","exact","fromParam","by2","id1","contractId1","contractId2","scope1","validator","hashOrKbi","hash1","ownedBy","state1","id2","id3","minStartDate","maxStartDate","oracle","scope2","id4","hash2","PathsBx0Ya3V3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchemaAllof0","Activity","blockTime","ActivityPayload","microIndex","microTime","logIdx","sender","tokenId","contractTxHash","callTxHash","internalTx","refTxHash","PaginatedResponse","nullable","ErrorResponse","Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TokenResponse","PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1","Aex9BalanceResponse","decimals","tokenName","tokenSymbol","txIndex","Paths10R8Q7PV3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0","DexSwap","amounts","fromToken","toToken","toAccount","fromContract","toContract","fromAmount","toAmount","fromDecimals","toDecimals","DexSwapAmounts","amount0In","amount1In","amount0Out","amount1Out","Paths16G4GzrV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchemaAllof0","NameClaim","activeFrom","sourceTxHash","sourceTxType","internalSource","NotFoundResponse","PathsA60QxwV3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0","Pointee","PathsXcg812V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchema","contractCreateTx","contractCallTx","gaAttachTx","channelCloseMutualTx","channelCloseSoloTx","channelCreateTx","channelDepositTx","channelForceProgressTx","channelSetDelegatesTx","channelSettleTx","channelSlashTx","channelSnapshotSoloTx","channelWithdrawTx","nameClaimTx","namePreclaimTx","nameRevokeTx","nameTransferTx","nameUpdateTx","oracleExtendTx","oracleRegisterTx","oracleResponseTx","payingForTx","spendTx","channelOffchainTx","Get200ApplicationJsonProperties","PathsEvgmfsV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx","Paths1Mat0BzV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx","Paths1Smy8TV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx","PathsTachlnV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseMutualTx","Paths1AeqodeV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx","PathsGp6EyrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx","Paths10Z6Jt8V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx","Paths1Jkl3L3V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx","PathsN9Iv8YV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx","PathsCsym65V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx","PathsEwav40V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx","Paths5Ehb0PV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx","Paths1Qk8BkgV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx","PathsC7WhtoV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx","Paths1R4Z885V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx","PathsKrpz02V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx","PathsPs07B4V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx","PathsTug6HrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx","Paths17Dchb7V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx","Paths1Ngkd7FV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx","PathsMvqgifV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx","Paths1U2Ve7RV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx","Paths1N757S0V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx","Paths11Bqs5V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx","Paths4Pjk8DV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx","Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0","Aex141Response","baseUrl","extensions","limits","invalid","creationTime","PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TemplatesResponse","edition","templateId","PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TemplateTokensResponse","Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TokenDetailResponse","Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TransferEvent","Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0","Aex9Response","initialSupply","eventSupply","holders","Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema","PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0","Aex9ContractBalanceResponse","lastTxHash","lastLogIdx","PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema","Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1","Get200ApplicationJsonAllOfPropertiesItemsItem","PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0","lastUpdatedHeight","lastUpdatedTxType","lastUpdatedTime","lastUpdatedTxHash","updatesCount","Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0","localIdx","Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0","ContractLog","eventHash","extCallerContractId","extCallerContractTxHash","parentContractId","aexnType","createTx","Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0","Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0","Paths1F8GzwrV3HyperchainEpochsGetResponses200ContentApplicationJsonSchemaAllof0","EpochInfo","lastPinHeight","parentBlockHash","epochStartTime","EpochInfoValidatorsItem","stake","Paths7W5O80V3HyperchainScheduleGetResponses200ContentApplicationJsonSchemaAllof0","Schedule","leader","Paths1Qg7SclV3HyperchainValidatorsGetResponses200ContentApplicationJsonSchemaAllof0","Validator","totalStakes","delegates","rewardsEarned","pinningHistory","Paths7Ks32NV3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchemaAllof0","Delegate","delegate","PathsDwhnfdV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchemaAllof0","PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0","PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0","PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0","Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0","approximateActivationTime","approximateExpireTime","expireHeight","auction","auctionTimeout","ownership","claimsCount","Auction","auctionEnd","activationTime","lastBid","AuctionLastBid","Components17W16A5SchemasAuctionPropertiesLastBidPropertiesTxAllof1","NameOwnership","original","NameTx","Components171VsjiSchemasNametxPropertiesTxAllof1","Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0","PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema","PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0","Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0","NameTransfer","PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0","NameUpdate","PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0","registerTime","registerTxHash","OracleFormat","OracleTx","Components1Viuqa3SchemasOracletxPropertiesTxAllof1","PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0","OracleExtend","Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0","Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0","Stats","minersCount","feesTrend","last24HsAverageTransactionFees","last24HsTransactions","maxTransactionsPerSecond","maxTransactionsPerSecondBlockHash","transactionsTrend","PathsFso5IiV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchemaAllof0","Stat","startDate","endDate","Paths1Fl1Lh2V3StatsAex9TransfersGetResponses200ContentApplicationJsonSchemaAllof0","Paths1A27TirV3StatsBlocksGetResponses200ContentApplicationJsonSchemaAllof0","Paths72Dp44V3StatsContractsGetResponses200ContentApplicationJsonSchemaAllof0","Paths1J83O75V3StatsDeltaGetResponses200ContentApplicationJsonSchemaAllof0","DeltaStat","auctionsStarted","blockReward","burnedInAuctions","channelsClosed","channelsOpened","contractsCreated","devReward","namesActivated","namesExpired","namesRevoked","oraclesExpired","oraclesRegistered","lockedInAuctions","lockedInChannels","Paths1Qw6KhfV3StatsDifficultyGetResponses200ContentApplicationJsonSchemaAllof0","Paths1IskjkV3StatsHashrateGetResponses200ContentApplicationJsonSchemaAllof0","Paths50Qhc7V3StatsMinersGetResponses200ContentApplicationJsonSchemaAllof0","Miner","totalReward","PathsD92Xl6V3StatsNamesGetResponses200ContentApplicationJsonSchemaAllof0","Paths1K55ZdgV3StatsTotalGetResponses200ContentApplicationJsonSchemaAllof0","TotalStat","activeAuctions","activeNames","inactiveNames","activeOracles","inactiveOracles","openChannels","sumBlockReward","sumDevReward","totalTokenSupply","Paths3Bfys0V3StatsTotalAccountsGetResponses200ContentApplicationJsonSchemaAllof0","Paths6PaqluV3StatsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0","mdwAsyncTasks","mdwGensPerMinute","mdwHeight","mdwLastMigration","mdwRevision","mdwSynced","mdwSyncing","mdwTxIndex","mdwVersion","nodeHeight","nodeProgress","nodeSyncing","StatusMdwAsyncTasks","longTasks","producerBuffer","totalPending","PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0","PathsI72FylV3TransactionsPendingGetResponses200ContentApplicationJsonSchemaAllof0","PendingTransaction","failures","PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0","Transfer","refBlockHash","refTxType","Aex9TransferEvent","Aex9TransferResponse","callTxi","InternalContractCallEvent","InternalTransferEvent","NameClaimEvent","Paths1EfdbjrV3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchema","Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema","PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema","PathsZpy8S9V3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchema","Paths16Cyh9EV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchema","Paths1Mheci5V3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchema","Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema","Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema","Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema","PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema","Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema","Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema","Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema","Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema","Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema","Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema","Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema","Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema","PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema","Paths194Lg3IV3HyperchainEpochsGetResponses200ContentApplicationJsonSchema","Paths1S5Zlt1V3HyperchainScheduleGetResponses200ContentApplicationJsonSchema","Paths1Ibn686V3HyperchainValidatorsGetResponses200ContentApplicationJsonSchema","Paths1I4U8D5V3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchema","Paths15K0AlgV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchema","Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema","Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema","Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema","Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema","PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema","Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema","Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema","Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema","Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema","Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema","Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema","PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema","PathsCgzmimV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchema","Paths1UxyhelV3StatsAex9TransfersGetResponses200ContentApplicationJsonSchema","Paths1Sxjoy0V3StatsBlocksGetResponses200ContentApplicationJsonSchema","PathsWbrhqnV3StatsContractsGetResponses200ContentApplicationJsonSchema","Paths5Xf9ScV3StatsDeltaGetResponses200ContentApplicationJsonSchema","Paths1D7Up0DV3StatsDifficultyGetResponses200ContentApplicationJsonSchema","PathsR51VshV3StatsHashrateGetResponses200ContentApplicationJsonSchema","PathsA8Q6T7V3StatsMinersGetResponses200ContentApplicationJsonSchema","PathsCeyhpaV3StatsNamesGetResponses200ContentApplicationJsonSchema","PathsJoz7P5V3StatsTotalGetResponses200ContentApplicationJsonSchema","Paths15F3FfuV3StatsTotalAccountsGetResponses200ContentApplicationJsonSchema","Paths1IfhshmV3StatsTransactionsGetResponses200ContentApplicationJsonSchema","Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema","PathsUq0T7JV3TransactionsPendingGetResponses200ContentApplicationJsonSchema","PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema","AuctionLastBidTx","KeyBlockExtended","beneficiaryReward","microBlocksCount","transactionsCount","MicroBlockExtended","microBlockIndex","NameTxTx","OracleTxTx","getAccountActivities","getAccountActivitiesOperationSpec","getAex141OwnedTokens","getAex141OwnedTokensOperationSpec","getAex9AccountBalances","getAex9AccountBalancesOperationSpec","getAccountDexSwaps","getAccountDexSwapsOperationSpec","getAccountNameClaims","getAccountNameClaimsOperationSpec","getAccountPointees","getAccountPointeesOperationSpec","getAccountTransactionsCount","getAccountTransactionsCountOperationSpec","getSortedAex141Contracts","getSortedAex141ContractsOperationSpec","getAex141ContractTemplates","getAex141ContractTemplatesOperationSpec","getAex141TemplateTokens","getAex141TemplateTokensOperationSpec","getAex141ContractTokens","getAex141ContractTokensOperationSpec","getAex141TokenOwner","getAex141TokenOwnerOperationSpec","getAex141ContractTransfers","getAex141ContractTransfersOperationSpec","getAex141ByContract","getAex141ByContractOperationSpec","getSortedAex9Tokens","getSortedAex9TokensOperationSpec","getAex9TokensCount","getAex9TokensCountOperationSpec","getAex9ContractBalances","getAex9ContractBalancesOperationSpec","getAex9ContractAccountBalance","getAex9ContractAccountBalanceOperationSpec","getAex9ContractAccountBalanceHistory","getAex9ContractAccountBalanceHistoryOperationSpec","getAex9ByContract","getAex9ByContractOperationSpec","getChannels","getChannelsOperationSpec","getChannel","getChannelOperationSpec","getContractCalls","getContractCallsOperationSpec","getContractLogs","getContractLogsOperationSpec","getDexSwaps","getDexSwapsOperationSpec","getDexSwapsByContractId","getDexSwapsByContractIdOperationSpec","getEpochs","getEpochsOperationSpec","getEpochTop","getEpochTopOperationSpec","getSchedules","getSchedulesOperationSpec","getSchedule","getScheduleOperationSpec","getValidators","getValidatorsOperationSpec","getValidator","getValidatorOperationSpec","getValidatorDelegates","getValidatorDelegatesOperationSpec","getTopValidatorDelegates","getTopValidatorDelegatesOperationSpec","getKeyBlocks","getKeyBlocksOperationSpec","getKeyBlockOperationSpec","getKeyBlockMicroBlocks","getKeyBlockMicroBlocksOperationSpec","getMicroBlock","getMicroBlockOperationSpec","getMicroBlockTransactionsOperationSpec","getNames","getNamesOperationSpec","getNamesAuctions","getNamesAuctionsOperationSpec","getNameAuction","getNameAuctionOperationSpec","getNameAuctionClaims","getNameAuctionClaimsOperationSpec","getNamesCount","getNamesCountOperationSpec","getNameOperationSpec","getNameClaims","getNameClaimsOperationSpec","getNameTransfers","getNameTransfersOperationSpec","getNameUpdates","getNameUpdatesOperationSpec","getOracles","getOraclesOperationSpec","getOracle","getOracleOperationSpec","getOracleExtends","getOracleExtendsOperationSpec","getOracleQueries","getOracleQueriesOperationSpec","getOracleResponses","getOracleResponsesOperationSpec","getStats","getStatsOperationSpec","getActiveAccountsStats","getActiveAccountsStatsOperationSpec","getAex9TransfersStats","getAex9TransfersStatsOperationSpec","getBlocksStats","getBlocksStatsOperationSpec","getContractsStats","getContractsStatsOperationSpec","getDeltaStats","getDeltaStatsOperationSpec","getDifficultyStats","getDifficultyStatsOperationSpec","getHashrateStats","getHashrateStatsOperationSpec","getMinerStats","getMinerStatsOperationSpec","getNamesStats","getNamesStatsOperationSpec","getTotalStats","getTotalStatsOperationSpec","getTotalAccountsStats","getTotalAccountsStatsOperationSpec","getTransactionsStats","getTransactionsStatsOperationSpec","getTransactions","getTransactionsOperationSpec","getTransactionsCount","getTransactionsCountOperationSpec","getPendingTransactions","getPendingTransactionsOperationSpec","getPendingTransactionsCount","getPendingTransactionsCountOperationSpec","getTransaction","getTransactionOperationSpec","getTransfers","getTransfersOperationSpec","collectionFormat","operationSpecs","MiddlewarePageMissed","isNext","_middleware","MiddlewarePage","rawPage","middleware","nextPath","prevPath","requestByPath","MiddlewareApi","pathWithQuery","queryPos","operationSpec","os","groups","part","URLSearchParams","operationArguments","maybePage","testPage","isMiddlewareRawPage","con1","con2","BrowserConnection","receiveMessage","_onDisconnect","_target","_self","BrowserWindowMessageConnection","sendDirection","receiveDirection","to_aepp","listener","_message$data$jsonrpc","_this$origin","postMessage","onDetected","wallets","getConnection","to_waellet","newWallet","_listeners","BrowserRuntimeConnection","_port$sender$url","addListener"],"sourceRoot":""}