diff --git a/Makefile b/Makefile index e7cbe29..0c3f557 100644 --- a/Makefile +++ b/Makefile @@ -207,7 +207,7 @@ containerProtoGen=cosmos-sdk-proto-gen-$(containerProtoVer) containerProtoGenSwagger=cosmos-sdk-proto-gen-swagger-$(containerProtoVer) containerProtoFmt=cosmos-sdk-proto-fmt-$(containerProtoVer) -proto-all: proto-format proto-lint proto-gen proto-swagger-gen update-swagger-docs +proto-all: proto-format proto-gen proto-swagger-gen update-swagger-docs proto-gen: @echo "Generating Protobuf files" @@ -227,4 +227,4 @@ proto-format: proto-lint: @$(DOCKER_BUF) lint --error-format=json -.PHONY: proto-all proto-gen proto-swagger-gen proto-format proto-lint +.PHONY: proto-all proto-gen proto-swagger-gen proto-format diff --git a/client/docs/config.json b/client/docs/config.json index 69536a6..47aea8a 100644 --- a/client/docs/config.json +++ b/client/docs/config.json @@ -3,7 +3,7 @@ "info": { "title": "Cosmos SDK Budget Module - REST and gRPC Gateway docs", "description": "A REST interface for state queries, transactions", - "version": "0.1.0" + "version": "1.0.0" }, "apis": [ { diff --git a/client/docs/statik/statik.go b/client/docs/statik/statik.go index 61febd1..8d8ed36 100644 --- a/client/docs/statik/statik.go +++ b/client/docs/statik/statik.go @@ -8,6 +8,6 @@ import ( ) func init() { - data := "PK\x03\x04\x14\x00\x08\x00\x08\x00\x00\x00!(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00 \x00swagger.yamlUT\x05\x00\x01\x80Cm8\xec]_s\xdc\xb8\x91\x7f\xd7\xa7\xe8\xd3C$_d\xca\xf6\xa6\xeeAwJ\x9d\xe2\xb57\xce\xed\x1fE\x96\x9f\xb6\xb6,\x0c\xd9\x9c\xc1\x99\x03\xd0\x00(y\x92\xf3w\xbf\x02@\xce\xf0\x0f\x00rHn\xb2\x95\"\x1eb\xaf\x87h4\x9a\x8d\xeeF\xb3\x7f\x1d\xf9D\xd6k\x14Wp\xf6*zqvBY\xca\xafN\x00\x14U\x19^\xc1k.\xb7\\\xc2\xfbo\xff\x07\xfeT$kT\xf0\x03O\x8a\x0c\xe19\xdc\xbdy\x7f\x0f\x84%\xb0\xbe\xbb}\x0d\xdf\x11\x85Od\x07 \x8f\xe5 @\x822\x164W\x94\xb3+8\xbb\xb1\x0fS\xa6P\xa4$FH\xb9\x00\xa9\x88B\xf8\\\xa0\xa0(/@ \xc2$\x89\xf5\x0cyv\x02\xf0\x88B\x9a\xd9/\xa2\x97\xd1\x8b\x93\x9c\xa8\x8d\xd4\x8c]\xc6\x86\xa5\xcb\x95a\xe7\xf2\xf1\xe5\n\x15yY\xfe\xa7y\x02`\x8d\xca\xfe\x05@\x16\xdb-\x11\xbb\xab\x92} \x02U!\x98\x04\x92ePN\x8a\xcagy\x8e\x82h\x06\xde%\xfb\xe7\xcb\x9f\x04\xca\x9c3\x89\xb2\xa2\x0bp\xf6\xea\xc5\x8b\xb3\xc3\x7f\xb6\xf6|\x03\xb2\x88c\x942-\xb2\xfd\xec\xa8\xf6\xb4\x8c7\xb8%\xf5\xf9\x00j\x97\xe3\x15\xf0\xd5\xffb\xac\x1a?\xe4B\xf3\xa6h}};\x1a\xfb\xae\x0fK\x8b\x08Av\x9d\xdf\xa8\xc2\xadcJ\x80\x01;\xfcl\xd8a\x99q\xff\xd6K\x1c\x06,\xa0\x07#[\xf4\xffZ-#\x95\xa0l\x1dz\xcc*\xb8\xa6\x06 \xa6\x94\xa1\x04\xb5A\xfb\x0f<5\x7f\xb7\xfb\xf1\x12\x11D\xcd\xc8\xc9\x1f\x9f\x07\x9e\xb1\x8b\x81\xcc1\xa6)-YM\xa8\xa6\xbd*\x14ek [^0\x05\xab\x1d\x18\x1d\x06\x9e\x06\xc9)\xaeHu\x00@\xf2B\xc4\xe8}\xde\xfe\xfc\x91$\x89@\x19x33\xef\xb8\xb9l\xe3%\xad0\xde|\xf3\xea9\xb2\x98'\x98@\xf9Hx\xc3\x1bRmt\xe0\xebMP*\xca\x8cA\xf8\x87\xef\xdd\xb1v@\x00AR\xd5\xf4\xc6\xa6!\xe7<\x03\xc5\x0f:\x14x\xfd\x8a\x08\xf5Q\xd1Y\x8e]\xca\xc5\x96\xa8+H\x88\xc2\xe7\x9af\xbf\xa8\x0e\xeb\xb7\xf4\xdf\xfc\x00\xe6\x87ao\x14Y\xf2O\xdcG\xb5zk\x17\xc8\x92\xe1{h\xf8\x98\xd2#WzA\xaawkMl\xe4$a\xce\xfd\xc7\x98g\x19\xc6\n\x93\x8f1\xa7\xcc\xab\xd6!\x1fb\x87\xd7\x93\xd81\xc0\xe4\x0f3\xfaz\xe7\x8coC\x0f\x0c~u\xd6R\xce@\xaa\xf12\x82\x07\xfa5\xa7\xac\xf6\x9e\x14\xff\x84\x0c\x9e\xa8\xda\x00\xb1\x1b+\xcf\xba\x89\xa7\x08\xebe>:9 <\xf3\xe3O\xf7o\xae\xe0~\x83\x95SH)f P \x84\xc1;\xa6\xe0iC\xe3\x0d\xd0m\x9e\xe1\x16\x992z\x18\xa0\x17\x17R\xf1-lQmx\x12ZX\xd25#\xaa\x10\xa8\xc3\xac\xcf\x05\x15\x98h\x87\xb4\xe6k\x9e\x0b\xaexS%\xc3\xe2\xfbk\x81bW\x06awe\xfc\xa4\xb7\xa0\x8fH\x15O\x99\xd7d\x82I\xfd\xaff\xc6e3n\xab\x86\x0eQ-\xff\x07\x1e\x12LI\x91)\x7f\x08\xc7\xa0`\xf8%7\x07\x05P\x08.\xf6+\xd7\xe6\xcc\x14\xc8\x19\xfa\xbe0\xce\xa9\x88\xda\xf4\xfb&\xe8P{\x8d\xa2\xf3ke\xb6(S\xdf\xbcj\xfd\xbaE)\xc9\xdaK\xd2\xc9C\x82\x8a\xd0\xec7\x12~\xea\xe9\x1f\x0b\x91\x85\xcdY\xf0P\x0f=\xd27\xf0\xe1\xee\xfbK\x81e@a\x82F\x13a\x14\x8c~.0\xdb\x01M\x90\xa9\x83\x957\x9a\x1a\x88\xc9\x8c?CAIF\xff\x86\x81Cf\xceQ\xccu\xe8\x96\xa6(\xaa\x97\x16\xc1\xfd\x86\xcaro\xb0-\xa4\x82\x983E(\x03\xe2\xb7\xbc\x19\x12\xa9\xfckq\x86pzy\n\xf1\x86\x08\x12+\x14\x911*\x19\x91\n$\xae\xb5\xe9\xa8\x9c\xd6\x87\xbb\xef\xcf$\xe8K\x9a\x97\x9aaJ`.P\"\x0b\xac\xaa\xc9\xa5E\x96\xed\xe0sA2-\xc1\xa4\x11\x94\x1bI\x9e\x13 \x94\xf9\x89>\xb7W\x83\xf2\xd6\x18\x83\xc4-a\x8a\xc6\xd2}\xd4\xccY\x9d\x10\x02U!\xe2j\xe7\xcd \x0c\x8d\x92~\xd0\xe6h\x85@4S4\xa9\x058\x9d8\xa6t\xeed\xc5\x1f\x03\x99\x88\xf2\xe2l\x8f\x82k\xfbC8{\xb8a\xbb\x87*<2w\"\"VT }\x88\xfd\x1c:IU>\x82d\xbcT= \xeeW\xab\xad\xb3q4\x96\xc3U3,l\x85\x7f\xfb\xa8\xce\xa3\x9a\xb7\xd5\xc1\xc9\xe8\xca\xb0]\xfa\x11 \xb2\xc8s.\x8c\x07\xcfI\xfc\xe9\xb2`\xfa\x0f\xed\xb7\xad^\xb8OP\xe9\xe8\xfd\x81\x0dO\xa1P\xd6\xb0U\xe6Aj\xc3J\x92\x84Z[\x01kd(\x882\xcc\xeb{V\x95pr\xd2\xd3\xfc\xd8W\xe8^\xef\xcd\x17\xa2\x95\x1f^^\xc1\xad\xe6_\xdb\x85r+d/t\xca\xe0\xf5\xef\x7f\x1fp\x93o9\x87\x94s\xb8\x86(\x8a\xfe\xd3\xfb\x98f\x86\xb0\x9d\xff\x01\xc2v\x91f\xe3\xad\xe0\xdb\xf3\x94\xf3g\xfeG\xa3\xc8\xef\xffh\n\xe7\x9a\xd4\x07\xb3\x91{~\xfe;M\xeb\x19\xfc=`\xc3C\xf4\xbe\x86e\xf7\xaaGv\x7f!\x8fd6\xe1\xc1\xb5\x89\x0d\xf5*3H\x88\xca\xf3\xb7\x9cGqF\xa4\xec\x11\x90eQO\xb2{\xacM\xf4\xf3\xe0\x91\xdc^t\xdf\xf4\x88\xeev\xa76\x9c\x05\x84g\xb9z\xcb\xf9y\x14E~o\xb0\x17\xdcy\xf0\x19\xa3|F\xacc\xa5\xaa\x89\xbc\xb3B\xfd\xf6\xcd\xfb\xd7w\xefn\xef\x7f\xba{\x16J\x81\x1d\x145\xbc\xb0]:,\xce?\xf4\x88\xf3;\x1eH*iQ^]\xc3\xef\xf2U\xf4\x96\xf3\xbfGQ\xf4\xd5\xff0a\xbb\x0b\x1d\x86\xea\x19\xb9\x0d\xa2~ BnH\xa6\x85\x1c\xdeHH\x84m.\x02,\xd0\xb4\xc5\xc0\x07\xb6=\xb0`\x184\x07\xc4<\xf5o\xd7\xc0h\x16T\xf00_\x1eM\xd6\x97[#\xe7\xca\x16W\x17\x0dX\xed\x0eaW\xe5=\x9eh\x96\xc1\xca\x1d\xf5\x96I2\x1d\x96\xb8\x97:s\x84T\x97\xfa\xfe\x1e\x99\x1ft\xb8z\x06\xa4\xe6\xed\xb4'\xd4\x9a\xe0\xf3\x0dVC\xdc\x8b\xed]\x0b\xcbv\xd5\xbd\xb2\x93,\xd8\x87\xc9@Re\xc26\xf7B&\x8fqvy\xe6^\xaa\xf4\x89\x15\xcb\xe6\xb6\x0bXj\xf4i\xcay\xb4\"\xc2l\xf6\xcb\xe5.\xfa\xdb\xa9\x95\xa2\xb9{9\xe9\xf9\xaf\xa2\x86\xd5SMC\xbbC\xe7#\x7fy\xff\xd3\x8f\xee_\xae\xaf\xaf\xaf\xfd:\xa0\xe7\x1dr.6\x8e\xe4\xda\x1c\x94A\x90\xbd\xd7\x15\x12\xab\xbc\xea\xba\xc8\x88p\xd3\xeb\x921\xdf \xf1\x10\xb6\\\x00nW\x98$\x87\x00\xe6\xc2\x86\xe3.r\xc4\x93\xbd\xa9\x85\x146m\xfd\xf0\xdfZt\x0fe2a\x1f\xb6\xd5_\x8e\xfb\x80\x94\xe6\xe7*p\x01!\xf1'm\x83\x0e\x17\xe2\x94f\xe8\xf7\x1b\x95\xcd\xbaE!9\x0b\x1e\xdb2\x13\x97R!\xd5G\xf3\x86\xaf\xe1\xa5\x9f\xf2~\x82V\xca\xea\xf9W\xc7{0\x80 W\xa7F\x96\xa7Wp\xea:\xb5M1Dv\x97\xa7\x17!zf\x7f?\x92\xad\xa6\xf9_v\x0b\x7f\x0cN\xd0\xfbk=\x7f\xec&\xdf\xa5\xe5\x85\xab\xa9kV\x1b\xa8\x84'\xcc\xb2\xe7\x9f\x18\x7f\xb2\x9fS6D\x02)\xbfa\x1cy\xb8\x9a*\x7fa\x03\xf8\xd69\xb0\xc6\xb3\xc6\x8eV`\xcf\xe5\x8aX\x95v/\xf6`\x0ec\xa5\xe7\x1b\x9e%V\xc9\xcb\xaf/\xe6(S\xb6?\x1f`3\x80nR\xf6\xc8\xb8\xd71,D{\xe7|\xae\xedZ%\xc2Nj\xa8\xca\x98\xfe\xf2\xf3/\xcf\x02\x07i\x0e\x9dk.\x18V;#*M\xf2e\xf4\xea\xe5+y\x1aP!\xfbgN\x04\xd9\xa2BQ\xfbt\xf0\xdc\x96\x92\x98\xff\xad\x11\xa0\xec\xcaT%\xd5\xfda\xf55\xeb\nR\x925\xbe\xfe8/\xd4\x15\xe5f\x05\xc3\xaf\xb3\x86\xa3R`\xce\x85\x14Y7D\xf6\xd7\x92\x98\xa7\x0c\xcb\xc89P\x85uk~\xdf\x17a\x1d^K\xab}\x86\xe3\x06\xcaB\x842\xa0(\x8b\xd9\xb4\x11\xc7/\x18\x17\xaaJ\x85\x99\xc4d}\xe7\x1e\x82{}r\xfc\xee\xad\x94\x83\x01\x95\x0e\xc1:\x87\xe0\xdb\xb4\xa3\xef\xd3%,\x85mKa\xdbR\xd8\xb6\x14\xb6\xd9L\xf0R\xd8v|a[\x8f\xfaU\xf5\xdf{\x17a>&\xafP\xab\x91\xbe\xbanyb\xd2\x07\xf6#T\x82\x19*\xaf\xfe\xa9\x8d\xe0\xc5\xda\xfb\x99\xa9\xb6\x84\xf9\xf2\x06k\xfe\x88\x82\x11\x16\xa3q\x04\\\x92\xac3\xb5!\x802L\xaa\x1f\x8cZ\xa8T\x15<9c%\x075wm\x95]\xe3\x98\xd2\xaa\x92\xab\xbb\xdb\xd7-zKe\xd5RY\xd5g[\x86|\x99\x83\xa5\xb2j\xa9\xac\xf2>\xb9TV\x99\xb1TVu\xc7RY\xb5TV\xf9\xc6RY\xb5TV\x99\xb1TV-\x95UKe\xd5RYe\xc7RY\xb5TV-\x95UKe\x95o,\x95UKe\xd5RY\xb5TV\xd5\xc6\x1cU.Ke\x95\x19Ke\xd5\xbfJe\x95\xbb@\xa8\x96\xda\xd3?\xdab\xa1hE$Fe\xa9P\xf4\x9aSf'v>Nt?G\xb4\xba?8.\xdb\xed\xae\x0e\x9dG\x1a\x17\xd8\xff\xab.\xb0Gvf8\xf4_\xb0\xd3G\xb5Zh5T\xb0\x94\x86\xf4N\xa8\xc4h\xbe\xfb\xed\x05\xf9\xa7Z\xd7\xa5\x01\xa2l\x96\x998\xd3\x16G\x97\x904\x0bFB4\x8f\xaf\xf6\x08Tt\xf8\xea7B\x0c4R\x17GWb8\xaa-j\xe4\x1a2 VY\x0c\xe6\xf0\xb8z wMD\x8d\x9c\xb7:\xc2U\x0b\xe1d\xd2_\x1f0\xb1\xaa\xa1[\xc30n\xfd\xe3\xab\x11\x8e\xac=\x08\x9d\xc2\xeas\xfa\xe0\xd3\xd8n\x99\xd6\x99\xe2\x9e\x06\xcez1o\x0e\xf2\xe8\x03\x0d\xce*\xb0>\xfa\x9d\xb4\xe0\xc4\xd3\xde\xa2\xd6\xa9\xe6\n\xd5o\x1d\xcd\xebT[\xd0\"\xe7\x14io\xe5\xd5\xd1\\O\xb2\x0f-ZC*\xa8|5S^\xc6\xc3\xf5D\x13m\x06xk\x9f\xa6\xf1s\xbc\x0d\x81\xe3\xed\x88Y/\xdc\x8eK9j=:5\x1eN\x93\xe1\xaf\xe9p6\xd2\xf2\x8a\xcb\xdd,\xcb\xf3\xb8;\xc4\xb2cb\xa0e\xc7|\xe1\x96\x1d\xe3\x83\xae\xdbZe\xf7\x003\xef\xae\xdaV\xce\x8a\"wuv\xa9\x99\x0d\xa9\x1eY\x85}\x988\xbe\xf0\xbaSb\xdd)\xab\xfe5t\xd6U\x1a\xedU\xd9\x91\xee\xce]\xf6\xdc\xbf\x8a\xe3[\xd8\xbcn\xcf\xe1\xf8\xfaJ\x97Gq=\xb3\x03\xf4\xb8\xc0\x01Np$\xffs\xba\xc2a\xce0TB\x1c\xd8B_\x89\xed\x0cN\xd1_\x12<\x9d\xafq\xceq\x94{t\x9b\xbdQ\xa5\xbc\xfb\xa2\xdd\x03\x9d\xc1u\xbas\xd4\xe6\xba\xdd\x88\xab\xcb\xe1`\xa7\xf2\x0f1\xbd\xed\x0bJ\x90H\x88\x10\x04 .\x01\xa5\x84\xf1\xf6\x1c\x02P\x96a+z\xea\x1c\xc6\xdaw'1Wb\xe30\xfa!*\x93v2\xce\xe6\x07H\xf5\xbc\x8e\x01\xb6\x1f\xa6\xeei\xb4\x1fpRSGAK\xc2\x90\x92\x9em\xf5\xd9_\x98\xcb7@\x0fdd>>\xc7\xfa\n\x18\xeb/\xcc\xdaCz\x1c\xbbl\xa5\x1d\x9e\"\xfa\x80\xc9\xeb+\xa0\x0f\xf4.\xee\x11u\xa8Wqpj\x7f\xb9\xd6\xe8\x0b\x99\x83\xd6\x94{\x99\x83\x9c\xbf\xd3\xf0\x90\x0b\x9bo\xf3\x13;\n\xd7p/\x07\xbcK\xc0\xab7\xf15\x83\x9dz\x1b2\xecT;\xb7\xba\xf9\xa1\xc1\xee\x8b&\x04\xa1\xc0>#{\xe4\xa5\xb35{\xfc\xcd\xb3E\xc8\x05\xf5\xed\x04D\x108\xe8\xcec\xbe\xc45K\\\xe3$\xb5\xc45K\\\x03\xff\xec\xb8\xc6q\x17\x86\x19\xef\xc3p\xcc\x9d\x18f\xba\x17\xb7\xa8L\x86\xa6\xd6\x9cs\xbb\x02\xe2\x86\xed\x06\xbba\xd5A<:\x95\xc7\x1ff\x8d\xc51B3\x19\xe5F.\x8e\xc1*v1\x89\xa3P\x88\x01\xb4\xa1\x1a\x87/\x1c\x89(\xac#\x07k\xd4\xda\xa5\xf6G\xa3\x06G\xe1\x04[x\xc0\xa6P\x1a\xc8\xc01X\xc0\x16\xe6\xafI\xbdN|,\xde\xcf\x8f\xeb\x1b\x83\xe4s#\xf6&`\xf4\x06\xa1\xf2\x86\xa1\xefF\xe2\xed\xc6\"\xec\\H\xbaY\xb0s\xf3\xa1\xe5f\xc1\xc7\x85\x11q\xe30p\xe6-\xbb\xb0n\xc7\xa3\xdb\x02(6\xd5\x87[\x1b\x8bTs\"\xd2F`\xd0Z\xa83\xa7\x1br\"\xcb\xfc\xbei$z\xec\x80\x12k\xcb\xef\xc4\xbf\xde8L\x98\x03\xffU\xd2\xdb\xa3\xc0&\xe2\xbe& \xbd\\\xa8\xae 8.\x07fk,J\xcb\x0b-r \xb1\x82\xd8\xab&4b\x18\xbe\xaa9\xe7k{/G\xa3\xa6\xfa6\x13BF\xb9\xf9\x0f\xa2\x9f\x06\xe2\x9d\x0e\xa5\xd3\x130M^\x14\x93\x1b\xb7\xe4C*uv9\x04\x8d\x14\xc2\x1f\xd5\x11G#1F=\xa8\xa2\xe3pD-\x84N\x08+4\x03:\xa8\xb5\xda\xfeM\x8f\xc2\xfc\xb8\xf0=S\x10=-\xf4\xceX\xbcN\x07\x9b3\x01\x8d\xd3\x08\x16\x9dX\x9b:\x00\xa0\x8e\xa7\x99\x8e\xa0\x19\x8f\x99\xa9\xe1cF!b\x9c\xe8\x97~\xbcK\x10\xe1R\xde\xd8B\x98\x96\xf2\x11/\x8a\xa5\x01\xe9hR\x1f\x8a\x13\xf0cS\x06\xa0Qz\xf0'{\xf6&`L\x1a\xea4\x01A\xd2F\x8b\x8c\xc3\x87\xb4\xb1 \xf3\xa0?\xc6\xbd\xb9 \xc2#\x84\xe9\xd0&t-\xf28Z\xdb\xff\xff\xeeH\x14L\xd1-Fo\x0eM\xb3\x06dKZ-\xb6\x1c1j\xb3\xa5\x96r~\x8fp\xb5\xd0\xea\xb4\xcer\xd0\xee\xb4\xcaR\xbfB\x1d\x84\xf2\xb4\xc0r\xc6\xe3v\xf4}\x83\x9b)EdG\xa8\xc5\xd5<\xe9\";\xc6'\x8d:\xa4\x02-\xabF\xa6\x92\xec\x18\x9dP\xeaP\xeakMutr\xc9\x8e\x89)&\x87\xb4\xbc-\xa8&\xa6\x9b:\xf4\xbc-\xa7&\xa6\x9e:\xf4|-\xa6\xe6KH\xd91!-U\x11\x98-9e\xc7\xc8\x14\xd5\x9e\x9b\xd9\x12Uv\xcc\x92\xae\xb2c\xbe\xa4\x95\x1d\xb3\xa4\xae\xec\x18\xd2\xd2i|\x1a\xabkE\xbd-\x9c\xa6$\xb7:\xc4\xdc-\x9b\x1c\xb1\x84\xcbJMK|u\xc8\xb9Z3\x8dH\x87\xd9\xe1l\xc5\x14p\xc5\x81\xd6K}^zd\xb2\xack\xb8\xbc-\x96B\x1c\xcc\x91>k\x10t\xb5R\x9a\x98J\xb3czB\xadA\xae\xebp'\xa6\xd8\x1a\xb4\x94\xa3E\xd2\xd8\xa4\x9b\x1d=]}\xbc\xad\x90\x06\xb4@r\xf5)\x19\x96\x92\xf3\xcf\xff\xea\xde\xfb\xd1I:;\x86m\xbe\xbf\x95Qh\xa7\x03Z\x17\x0dL\xe1\xd9\xd1\xee\x810!\x9dgGOk\xa2PK\xa2p+\"\x8fT\x86$\xfb\xec\xe8o9\xd4m542\xfdg\xc7\xa0\xd6B\xc7\xa5\x02\xedp\xb6\xec\xe9o!4Cr\xd0\x0e\xe7\xfa-M\x9a-]h\xc7\x8cIC;fK\x1d\xda1W\x02\xd1\x0eg\x1a\xd1\x8en7\x91n\x8b\x9e\xe9\x89E;fI/\xda1_\x92\xd1\x8e\xfeT\xa3\x1d\x03Z\xea\x0cH;6\x1e\xeci\xa1\xe3\xe8*\xe3ZuhR\xab\xafU\xce\x80\xa4d\xf9\xe0\x90\xd68-\xe6\xe7JS\xda1c\xb2\xd2\x8eyR\x96v\xcc\x93\xb8\xb4c\xca\xfb\x1e\xd0\xa6\xa6\xbf=\xcd\xd7\x93\xff\x0f\x00\x00\xff\xffPK\x07\x08m\xc5\xa9\xff\xee\x10\x00\x00\xd1\x90\x00\x00PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\x00\x00!(m\xc5\xa9\xff\xee\x10\x00\x00\xd1\x90\x00\x00\x0c\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x00\x00\x00\x00swagger.yamlUT\x05\x00\x01\x80Cm8PK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x00C\x00\x00\x001\x11\x00\x00\x00\x00" + data := "PK\x03\x04\x14\x00\x08\x00\x08\x00\x00\x00!(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00 \x00swagger.yamlUT\x05\x00\x01\x80Cm8\xec]_s\xdc\xb8\x91\x7f\xd7\xa7\xe8\xd3C$_d\x8e,o\xa5\xae\xe6\xce\xa9\xd3\xda\xf2\xc6\xb9\xfd\xa3\xc8\xf2CjkK\xc2\x90\x98\x19\xc4$@\x03\xe0\xc8\x93=\x7f\xf7+\x00\xe4\xf0\x1f\x00rH:\x9b\xba\xb0\x1f\xd6\xde!\xd9h4\x1b\xe8F\xf3\xd7m\xf1\x846\x1b\xcc\x97pv\x15\\\x9e\x9d\x10\xbaf\xcb\x13\x00Id\x8c\x97\xf0\x9a\x89\x84 x\xff\xe6\x7f\xe0\xdb,\xda` ?\xb0(\x8b1<\x87\xbb\x9b\xf7\xf7\x80h\x04\x9b\xbb\xdb\xd7\xf0\x1d\x92\xf8 \xed!b\xa18\x01\x88\xb0\x089I%at g\xd7\xe6fB%\xe6k\x14bX3\x0eB\"\x89\xe1S\x869\xc1\xe2\x02$GT\xa0P=!\xceN\x00v\x98\x0b\xfd\xf4\x8b\xe02\xb8F\x86B\xaf\x8eg\x10\xe7h\xdf\xbaF$N,\x8fx\xd4f\xc8\xad\xbc\xf2\xf1\x87\x8c\xc7\xf6\xab\xdey\x14\xe4_\x8a%]\xc3\x87\xbb\xef\x17\x1c\xe7\xfb\xa12K\xb3_f\x94|\xcap\xbc\x07\x12a*\xc9\x9a`\xb3N\xf5\xf2dk'Cu\x8f\xc0\x9c\xa0\x98\xfc\x1dG'\xce\xfbR\xce$\x0bY\x0c\xabl\xbd\xc6\xbcxi\x01\xdco\x89\xc8\xe7\x06I&$\x84\x8cJD( \x9b*\x0d\xc5\x18 \xe9\x1e\x8bQ\x0c\xa7\x8bS\x08\xb7\x88\xa3Pb\xaeF\xc1\x10#!A\xe0M\x82\xa9\x04\xb6\xd6\xa2\x7f\xb8\xfb\xfeL\x80\xf2RNnZ(\x8eS\x8e\x05\xa6\x9eQ\x15\xbbu\x16\xc7{\xf8\x94\xa1Xi\xd0,\xfbb(\xad\xc9s$\x80P7\x93G%\xcab\xc3\xd8&\xc6\x81\xd6\xd9*[\x07o2\xe3O\x1e\x9f\x99\x99h\xb6b\xcb\xb28RN\x8eP'?\xa4\x1c!\xa3$D\xb1^C\xee\x91\xcfq\xb0 .\x94j\xb5\xf3;\x0dN\xd5VM\x99T\x1e\x11\xa7\x12G\xcf\x82\x13\xf7\xe3\xef(\xa4J\xd9$\xc4\x17 1J\x04d\"CJ\x1d)\xc7!KR\x12+Is\xa7\xba\"\x14\xf1\xf6\n+\x08\xc5\xb1\xd6W\xee\xcc\xe5\x16\xef\xddC\x9b\xad\x0e\x88T\x1e;S.\x86\xea1\x94!\xe1\xcf\xfaU_\xd3}\x00\x7fbOx\x87\xf9\x85R\x84\x93\xd9\x87\xbb\xef\x05f\xa9r\xb3Y,\x05\xac\x90\xc0\x91g\x7f\xb2\x04;U\xfap\xf7\xbd\x96q\x8bv\xda\x04\x93\xca\x1a\x8a\xcc\"B\xc5\x94\xd4\xdfw\x8cD\x80\xa8\xdb\xb0 \x17Po\x1f\x1c\xaf\x19\xc7\x17\x05\x03\xc5\x17I\xb2\"1\x91{\xa0\x18G\xda\x8cV\x18\xf4\x96\xc7w\x9e\x99\xe8\xb9\x84[D7X?\xa4\xd7l\x00\xe7\x1f\x04.N\x02JK\xca\x92=^\xd3\xfdc\x11\x1e\x99\x13/_\x11\xc9\xd5\"vKheU\xf8\x08\x14\xb3\xdc\xf4\x00\xd9_\xad\xda\x9d\xb5\xa31\x12\xae\xeaaa#\xfc;Du\x0e\xd3\xbc-\x16NLVZ\xec\xdc\x8f\x08\x10Y\x9a2\xae=x\x8a\xc2\x8f\x8b\x8c\xaa?\x94\xdf6va_A\xb9\xa3w\x076l\x0d\x994\x1b[\xb1=\x08\xb5\xb1\xa2(\"f\xaf\x80\x0d\xa6\xea\xb4\xae\x85WGK\x91O\xcb\xcaO\xc9c^\xa1}\xbc\x1bs\x88\x84\x17K\xb8U\xf2\xab}!\x9f\n:(\x9dPx\xfd\xfb\xdf{\xdc\xe4[\xc6`\xcd\x18\xbc\x82 \x08\xfe\xd3y\x9b\x12\x06\xd1\xbd\xfb\x06D\xf7\x81\x12\xe3-g\xc9\xf9\x9a\xb1g\xee[\x83\xc0\xed\xff\xc8\x1a\xce\x15\xab\x0fz\"\xf7\xec\xfcw\x8a\xd73\xf8\xd5\xb3\x87\xfb\xf8}\xf1\xeb\xee\xaaCw\x7fF;4\x99\xf2\xe0\x95\x8e\x0d\xd5(\x13h\x88\x88\xf3\xb7\x8c\x05a\x8c\x84\xe8P\x90\x11Q=d\xe6Xy\xd0-\x83Cs\x07\xd5\xbd\xecP\xdd\xed^n\x19\xf5(\xcfH\xf5\x96\xb1\xf3 \x08\xdc\xde\xe0\xa0\xb8s\xef=\xda\xf8\xb4Z\x87jU1yg\x94\xfa\xe6\xe6\xfd\xeb\xbbw\xb7\xf7?\xdd=s9 \xc8\x875\x86\xea\x1f\xd8\x0c\xedW\xe77\x1d\xea\xfc\x8e\xb95\xa9U\xb9|\x05\xbfKW\xc1[\xc6~\x0d\x82\xe0\x8b\xfbfD\xf7\x17*\x0cUO\xa4&\x88\xfa\x01q\xb1E\xb1R\xb2\x7f\">\x156\xa5\xf0\x88@\xd6\x0d\x01>\xd0\xa4\x14A\x0b\xa8\x17\x88\xbe\xeb\xdf^\x01%\xb1\xd7\xc0\xfdr9,Y\x1dn\xb5\x9e\x8b\xbd\xb88h\xc0j_\x86]\x85\xf7x\"q\x0c+{\xd4\x9b'\xc9TXb\x1f\xea\xcc\x12R-\xd4\xf9=\xd0\x17T\xb8z\x06\xa8\xe2\xed\x94'T\x96\xe0\xf2\x0d\xc6B\xec\x83\x1d\\\x0b\x8d\xf7\xc5\xb9\xb2\x95,8\x84\xc9\x80\xd6\x12\xdb\x12\xa2\x86t\x1e\xe3lqf\x1f*\xf7\x89\x85\xc8\xfa\xb4[$7\xe1t\xcdX\xb0B\\O\xf6\xf3b\x1f\xfc\xfd\xd4hQ\x9f\xbd\xac\xfc\xdcGQ-\xea\xa9\xe2\xa1\xdc\xa1\xf5\x96?\xbf\xff\xe9G\xfb\x95W\xaf^\xbdr\xdb\x80z\xae\xcc\xb9\x988\x92\xa9\xed \x0f\x82\xcc\xb9.\x13\xb8H&o\xb2\x18q;\xbf6\x1b\xf5H\x84\xcb\xb0\xe5\x02p\xb2\xc2QT\x060\x17&\x1c\xb7\xb1C\x8e\xecM%\xa4X\xeb\x83\xec\xe3\x7f+\xd5=\xe6\xc9\x84C\xd8V}9\xf6\x05\x92o?K\xcf\x01\x04\x85\x1f\xd5\x1eT\x1e\x88\xd7$\xc6n\xbfQ\xecY\xb7\x98\x0bF\xbd\xcb6\xcf\xc4\xad \x17\xf2A\xbf\xe1W\xf0\xc2\xcd\xf9\xf0\x802\xca\xe2\xfe\xab\xe3=\x18\x80W\xaaS\xad\xcb\xd3%\x9c\xdaVm]\x0d\x81\x99\xe5\xe9\x85\x8f\x9f\x9e\xdf\x8f(Q<\xff\xcbL\xe1\x8f\xde\x07\xd4\xfc\x1a\xf7\x1f;\xc9w\xeb\xfc\xc0U\xb75c\x0dD\xc0\x13\x8e\xe3\xe7\x1f){\xa2z\x9f\xd9\"\x01\x08\xc2LH\x96\x1c\xb9\xb8\xea&\x7fa\x02\xf8\xc6:0\x9bgE\x1ce\xc0\x8e\xc3\x152&m\x1f\xecQ/\xc6\xc2\xce\xb7,\x8e\x8c\x91\x1b\xc9\xcdR&\xf4\xb0>\xf2\xcfjvVf\xc9\xd8\xc7\xd1\"\x04\x07\xe7|\xae\xf6\xb5B\x85\xad\xd4P\x911\xfd\xe5\xe7_\x9ey\x16\xd2\x146W\x1f\xd0ovZU\x8a\xe5\x8b\xe0\xea\xc5\x958\xf5\x98\x90\xf93E\x1c%Xb^\xf9t\xf0\\\xef\xbcK\xfd\xdf\n\x83\xda\x11\xf2\x90%6\x99\x9cCF\xa2\xf8\xf8\xa4\xbfvj\x81\xab{\x10\xa1\xcbf.\x9c\xe3O\x19\xe18Z\x82\xe4Yu8\xeb\x89\xbc\x10M;\x8d\xf2^\xdf\xe9VI\x9a\x7f\xe2\x83\xfb}\x8a/\x0e\xae\xfbRK|\xfd\xe6\xcd\xdd\xcd\xfb\xf7\x0f\xf7\x7f\xbd\xbdyxy\xf5\xf0\xed_\xefo\xde\xab3\xdc\x8bV\x1e\xb7v\xeb\xd5\xa5\xb9\xb5\x19\xe4=\xb7s\\j\x9b}y\xa5\xd3\x07\x02bL7\x8dou:\x8f\xfc\xe6\x0e.\xaf\xfe#\xf0\xb2,F^\xe6\x8e\xc6\xcc\xe6\xea\xd2\xcd\xba\xf9\x0e>e\xb8\x96\x1c/_\xc2\x1a\xc5\xa2\xf3-\x00`\x9a%\xf5(\xd91m\xdf=\xc5[\x02\xfc\xf8\xd3\xfd\x8d9\xbd\xe4N\xc1\xe4R\x88\xfe\xdc\xf5\x8e\xca\xfc\x94y\xf8\xc4(\x9cgIC\xf9!\xd4\xe4\xdf|\x03\x0b\xb2\xa1Hf\\CJML\xa8\x1c\xd2\x86m\x98>\xe3\xd5M\xb2\x07\xf21\x0f\xc2z\xe1\x1es\xa4c=n+\xc8\x86z\x9c!\x80\xf5k3\x04\xb0\xcb&K\x9a!\x803\x04\xd0N3\x04P\xd3\x0c\x01l\xd3\x0c\x01\x9c!\x80.\x9a!\x803\x04P\xd3\x0c\x01\x9c!\x803\x04p\x86\x00\x1a\x9a!\x803\x04p\x86\x00\xce\x10@\x17\xcd\x10\xc0\x19\x028C\x00g\x08`\x85\xa6\x80c\xcd\x10@M3\x04\xf0_\x10\x028\x1a\xe1Tr\xae#\x18\xbe\xce\x18\x16\xa4\xc0\x94\x03\xb9\xe0Z\xa0\x13\xc6\x12s\x8a\xe27,\xac\xdcS;\x82\xbf%4\x02\x96IH\x18\xd7\xa7\xfbL\x82\xe5#w\xc6\xe3\xc6q]gW\x96\x8b\xc5\x86\xc8m\xb6\xd2\xa6\"1\x8d0O\x08\x95\x05Hl\x15\xb3\xd5\"A\x84.>\x17?\x89\x14\x87\x8b\xcb\xab\x07\xdda'H\"7\xb2L\x9b\x84\x07Xv\xab\xaf\x1fpe\xa5\x055\x90\x14\x06i\xd7\x895\xeb\xf9\xbc\x05\x83f\x04\xc9\xaf\xff\xd3\x02\xd1\xaa\xea\xac\x92\x93\x15t~\xd1\xc3)\x0b\xb7\x0f\xab\x98\x85\x1f=_\xfc\xdc\x1f;\xa1\xfe\xc1\xf3\x0f\xdf\xd8yt\x00rT\x1c\x95Q\xb2\xc3\\\xa0\xd8\xc8T\xc0O \x05\x9a%+\x93\xbe2r\xba\xf6\xc8k\xc81\x17y\xec\x94\xe3\xf6\x94\xbf\xc2\x9fq\x98\xc9\"\xeb\xa7s\xb0\xd5\x99;\x18\x1e\xec\xc9r\xdd \n\x84\x1e\xa0\x0e/\xa4\xc3\xfb6\x0du}\xa5\x85\x19\xc37c\xf8f\x0c\xdf\x8c\xe13I\xef\x19\xc3w<\x86\xaf\xc3\xfc\nH\xfc\xc1E\x14\x8d\xfcP\xa4\xbf5',\xd2\x99\x92\x8b\xbc\x95_\x8c\xa5\xd3\xfe\xe4\x96\xb3l\xe3\xfc\xa2V\x19B\x7fd\x84\x0d\xdb\xa9\x98\x90\x86X;\x02&P\xdcz\xb4\xa6\x80<\xcc\xaa.\x8cJ\xa8T`\xbb\xac\xb1\x92\x85\x9b\x1dFf\xc68\x06E\x96Kuw\xfb\xba\xc1o\x06\x91\xcd \xb2\xae\xbd\xa5\xcfGH\x98Ad3\x88\xccy\xe7\x0c\"\xd34\x83\xc8\xda4\x83\xc8f\x10\x99\x8bf\x10\xd9\x0c\"\xd34\x83\xc8f\x10\xd9\x0c\"\x9bAd\x86f\x10\xd9\x0c\"\x9bAd3\x88\xccE3\x88l\x06\x91\xcd \xb2\x19DV\xa1)\x00=3\x88L\xd3\x0c\"\xfb\xff\x02\"\xfbJX\xa8\xb4\x8a\xef\x99\x1e\x0b\xf5\x87\x073@\x90D'\x954\xa4\x12\xd2\x00\xa3\x82\x15\x128\xc8aQ\xc1kF\xf2\x7f\xa0\xa9\xf5!\xa5\xfd\xe9\xa4\xd1\x94\xc3\x92\x18h6\xdbh\xddRS\xd1\xff\x16\xd3>\xb2aF\xd9\x16\xc3<>\xa8\x03F\xa3\xcf\x85\xe1\xd4\xa7\xa5E\xa1F\xad\xf5\x83\"\xf3~|\xf7j\xc2'\xd6\xa9W\x1b\xcc\xf9[\xcb\xf9\x9a\xca\xf5h'g\xd7qE@-\x8a>y\x1bM\x94\xf99\x93\xf8W\xee\xbe\x00!\x94\x81\xfa\xa4]\x00'\xe9\xffg\x7f\x13\xe6{xo\xa3\xae\x83\x93\xac\xc9\xae\xa3\x81Gu\x98\x91\x8f\xe7\xf1\x18!\x0f\x0e\xc8\x85\xfa\xf1 P\xdbz\x8e\xc6\xefX0:\x15v5\x9dx\xb19\xbd%<\x0eecG\xd2T\xd89156\x04\x8dUH7\xaad$\x16\xa6\x8d|\x196\xfe\xf1\x18\x96#\x11+\xbeUX\x800z\xaf\xc6Ue\xf1Z\x1f\xb1?\x06V\x94\xa1Ua0dA\x83\x15;\xd8\xc5\xbf\x95L\x1e\xb9\xda\x1b\xdcZ\x18@\x1f\xea\xefhY\xc7\xee\x05\x0dvV\x95v\xe2\xf5\x8e\x96z\xd4\xfe\xd0\xe0\xd5\x07w\xe7B\xda9\x05\xf7\xa3\xd0F\xee\x19\xe0D\xcc\x8d\x93\xe7\xf8=\x04\x8e\xdfG\xf4x\xfe~u\xd2\x82\x10j!\x83\xac[\x86\x1b d\xed4\xe7T\x97\xbd\x9b\x9c\xe3v{ fhd\xc8kh\xba\xc0\xd7\xd0\xf0\xf0\xf7\xb6R\x0f\xd0c\x9b\xb7c\xfd\xa5\x15\x87f\xc7\xf4\xe7\x96Y\xd3\xea\x91\xd8\xfd\xf2\xc1\xe1p\xfd\x160\xbf\x05\xc6\xff\x1a6k\x03\xd4;Mv\xa0\xbb\xb3\x83\xe5\xbbG\xb1|A\x9d\xd6\xedY\x1c_\x17\xe0}\x90\xd4\x13;@\x87\x0b\xec\xe1\x04\x07\xca?\xa5+\xec\xe7\x0c}\xc0s\xcf\x14\xba\x80\xd9\x138E7\x90|\xbc\\\xc3\x9c\xe3 \xf7h\xdf\xf6\x06\x01\xc0\x0fP\xef\x92Oot\xf7\x14\x88n\xbb\x1b\xb1\xff\x03\xe8\xbd\xddJ\xf7\xb9\xd2\x0e\xf6\x18\xf0\xef\xae\xdb\xfe\xa5\xf5\x9c[ \x1a\xf7L\xb2\xd1\xeb\xb4\xf7\x14\xff!\xfe\xa5y\n\xf32\xf11\x02O\xf5\x97g\xe5\xc1p\xa7\x05\x9e*\xaf~#: @C\x9d\x98\x95\x99-{SRw\xf5\xd6\xa8\x99\x0csl\x1eV\x1d\xaf\xa3\x87\x83\x83\xb1s\x1a\xec\xec\xac\xdc\xe4QUW\xfej\xab\x8eiu9\x19\x98\xca\x01BG5\xd5tr\x0eu\x880\xd4)\xea\xb1\xfbt:\xb7\xed\x95\x86\x1c\xf5%\x9e-\xaf\xab\xb6\xc4\xd3\xc1\xbcC\xd5\xbe\x8e\xe5\xdeG\xbb\x91\x8c\x83O\x9d\x16^c\x0e\x9f\x16v\xee~\xe3}N\xa5^\xcf>\xbc\xaf\xf8\xb1^\xbd^z\xd6\xdb\xa97\xab\xe9\xadfg77w\xd5\xbc\xfd4\x0d\xde*y\xd7&{\xe4\xc9\xba\xf1\xf4\xf0\xe3u\x83\x91\xad\n\xbe\x15\x10\x81g\xa1[\x97\xf9\x1c\xd7\xccq\x8d\x95\xd5\x1c\xd7\xccq\x0d\xfc\xd6q\x8d\xe5\xc0\x0f\x13\x1e\xfa\xe1\x98\x83?Lt\xf8op\x19]\xb5]q\xceMp\xd05\xdd\xf7v\xc3\xb2U\x0cl5\x1ew\x985\xb4\xc4\x17\xea\x197{Q\xef\x902\xdev\xb9\xee\xa0\x02]O!\xae\x1cVz;\xb0\xd8\xb6ZT[\xe1\xd6\xacB9\xba\xa0vP m\xa3T\xb6\xae\x94Z\xd1\xec\x902\xd9F9l\x9d{\x95\xf9\xd0RXw\xc9\xeb\x90\"W{1\xeb\x88\xf2\xd5^\x05\xab\xfd\nS\x07\x96\xa2\x0e->\xb5\x15\x99NRV:]!\xe9$\xa5\xa3\xfeb\xd1a\xe5\xa1\xfa-\xdb\xca@\x8f/\xfc\xf4\x14x\xca\xae\x92\xce\xa1E\x9c\xd6b\xcd\x01\xe5\x99\x8d\x82L\xab\x1b\xb2\x16]\xba}\xd3\xc0\xc2\xca\xb2\x80\xb2\xa9\xbf\x13\xf7x\xc3\xca%-\xa5\x919\xbfC\x81\xe4\xc8\x92\xc8\x11E\x90\xb6\x82\xc7\x11%\x8e\x96r\xc6\xa1\x05\x8c\xce\xaa;K\x91\xa2\xb7,\xb1^5\xd4\xaf\xf4\xb0\xfe\xcc\x97\xe6\\\x8e.(\xec\x9a\x8c\xafh\xd0.\xbf\xb70\xb0g)`YU0\xa2\xdc\xcfY\xe0g/\xe9s\x15\xf1\xb5f\xd9\xa7P\xcfW\x9aW-\xc6\x1bX~\xd7Qpw\\\x89]\xa3x\xcdWF7A\xe1\\c\xb4\xc3\x9b\x1eT\x0eg+}\x1bS\xec\xd6(l\x1bZ\xca\xd6*[\x1bQ\xa8V\x0b\x16\xadeh\xd5\xda\x98j\xa9\xd9\xf8\xe2\xb2\xe1\xe5d\x95\xd2\xb1A\xc5b\xd6\xc2\xb0\xeeR0o\xf1W~b\xf3\x95{\xe5\xb78\x0b\xbcj\xd5Nu\xee}Kh\xdce[=\n\xb5:J\xb3\x0e\xe2\x8d(\xbf\xaa\x99\xd3\x88\xe2\xaaf!\xd5\xb0\xd2\xa9f\x99\xd44\x85Q\xc3\xde\x9c\xb7\xf8\xc9W\xee\xa4\xb6\xd0\x0dO\xc3`\x83$~B\xfb\x80gT\x92\x04\x077e?\xb9\x1e\xd9\x92F\xf79K\x8cZ\xef6'\xad\xdf#l\xdd\xe5Z]\xe5,\xbc[]\xe4\xe4W\xc0AHGw8k\xe6\x93`\x8a\xf4Y\x8d\xa1\xad\xcb\xd8\xc8T\x9a\xa1\xf1 \xb5\x1a\xbb\xb6\xc3\x1d\x99b\xab\xf1\x92\x96\xeeaC\x93n\x86:\x1a^9\xbb\x84\xf5\xe8\x0efk\xe1\xd3/%\xe7~\xfe\x8b}\xeeG'\xe9\x0c\xf5\x9b|w\x97/\xdfL{t\xf5\xea\x99\xc23\xd4l\x0f2\"\x9dg\xa8\xa3k\x97\xaf[\x97\xbfK\x97C+}\x92}\x86\xba\xbbq\xb5\xbbp\x0dL\xff\x19\xea\xd5u\xeb\xb8T\xa0!k7\xab\xee\xeeZ\x13$\x07\x0dY\xc7oX\xd2d\xe9BC\x13&\x0d\x0dM\x96:44U\x02\xd1\x905\x8dh\xa8\xddh\xa7\xdd\xbdj|b\xd1\xd0$\xe9EC\xd3%\x19\x0du\xa7\x1a\x0d\xf5\xe86\xd5#\xedX\xbb\xb1\xa3\xbb\x94\xa5\xe1\x92m\xd4\xbeI\xad\xae.R=\x92\x92\xf9\x8d}\xbaF5\x84\x9f*Mih\xc2d\xa5\xa1iR\x96\x86\xa6I\\\x1a\x1a\xf3\xbe{tp\xea\xee\xdc\xf4\xe5\xe4\xff\x02\x00\x00\xff\xffPK\x07\x08\xd1\x94RE}\x13\x00\x00\xdb\xb5\x00\x00PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\x00\x00!(\xd1\x94RE}\x13\x00\x00\xdb\xb5\x00\x00\x0c\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x00\x00\x00\x00swagger.yamlUT\x05\x00\x01\x80Cm8PK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x00C\x00\x00\x00\xc0\x13\x00\x00\x00\x00" fs.Register(data) } diff --git a/client/docs/swagger-ui/swagger.yaml b/client/docs/swagger-ui/swagger.yaml index 298cdea..e134f68 100644 --- a/client/docs/swagger-ui/swagger.yaml +++ b/client/docs/swagger-ui/swagger.yaml @@ -2,11 +2,257 @@ swagger: '2.0' info: title: Cosmos SDK Budget Module - REST and gRPC Gateway docs description: 'A REST interface for state queries, transactions' - version: 0.1.0 + version: 1.0.0 paths: + '/cosmos/budget/v1beta1/addresses/{name}': + get: + summary: >- + Addresses returns an address that can be used as source and destination + is derived according to the given type, + + module name, and name. + operationId: Addresses + responses: + '200': + description: A successful response. + schema: + type: object + properties: + address: + type: string + description: >- + QueryAddressesResponse is the response type for the + Query/Addresses RPC method. + '400': + description: Bad Request + schema: {} + examples: + application/json: + code: 3 + message: 'invalid names with address type: invalid request' + details: [] + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: name + description: The name to be used for address derivation. + in: path + required: true + type: string + - name: type + description: >- + The Address Type, default 0 for ADDRESS_TYPE_32_BYTES or 1 for + ADDRESS_TYPE_20_BYTES. + + - ADDRESS_TYPE_32_BYTES: the 32 bytes length address type of ADR 028. + - ADDRESS_TYPE_20_BYTES: the default 20 bytes length address type. + in: query + required: false + type: string + enum: + - ADDRESS_TYPE_32_BYTES + - ADDRESS_TYPE_20_BYTES + default: ADDRESS_TYPE_32_BYTES + - name: module_name + description: >- + The module name to be used for address derivation, default is + budget. + in: query + required: false + type: string + tags: + - Query /cosmos/budget/v1beta1/budgets: get: summary: Budgets returns all budgets. + description: Returns all budgets. operationId: Budgets responses: '200': @@ -274,9 +520,14 @@ paths: type: string tags: - Query + externalDocs: + description: Find out more about the budget + url: >- + https://github.com/tendermint/budget/blob/main/x/budget/spec/02_state.md /cosmos/budget/v1beta1/params: get: summary: Params returns parameters of the budget module. + description: Returns all parameters of the budget module. operationId: BudgetParams responses: '200': @@ -527,6 +778,10 @@ paths: } tags: - Query + externalDocs: + description: Find out more about the params + url: >- + https://github.com/tendermint/budget/blob/main/x/budget/spec/06_params.md definitions: cosmos.base.v1beta1.Coin: type: object @@ -540,6 +795,17 @@ definitions: NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. + cosmos.budget.v1beta1.AddressType: + type: string + enum: + - ADDRESS_TYPE_32_BYTES + - ADDRESS_TYPE_20_BYTES + default: ADDRESS_TYPE_32_BYTES + description: |- + AddressType enumerates the available types of a address. + + - ADDRESS_TYPE_32_BYTES: the 32 bytes length address type of ADR 028. + - ADDRESS_TYPE_20_BYTES: the default 20 bytes length address type. cosmos.budget.v1beta1.Budget: type: object properties: @@ -660,6 +926,14 @@ definitions: Budgets parameter can be added, modified, and deleted through parameter change governance proposal description: Params defines the parameters for the budget module. + cosmos.budget.v1beta1.QueryAddressesResponse: + type: object + properties: + address: + type: string + description: >- + QueryAddressesResponse is the response type for the Query/Addresses RPC + method. cosmos.budget.v1beta1.QueryBudgetsResponse: type: object properties: diff --git a/docs/How-To/api/README.md b/docs/How-To/api/README.md index dcf0316..5709699 100644 --- a/docs/How-To/api/README.md +++ b/docs/How-To/api/README.md @@ -11,6 +11,24 @@ Description: A high-level overview of gRPC-gateway REST Routes in budget module. In order to test out the following REST routes, you need to set up a local node to query from. You can refer to this [localnet tutorial](../../Tutorials/localnet) on how to build `budgetd` binary and bootstrap a local network in your local machine. +Query the address of `fee_collector` with address type 1(`AddressType20Bytes`) +http://localhost:1317/cosmos/budget/v1beta1/addresses/fee_collector?type=1 + +```json +{ + "address": "cosmos17xpfvakm2amg962yls6f84z3kell8c5lserqta" +} +``` + +Query the address of `GravityDEXFarmingBudget` on farming module with default address type 0(`AddressType32Bytes`) +http://localhost:1317/cosmos/budget/v1beta1/addresses/GravityDEXFarmingBudget?module_name=farming + +```json +{ + "address": "cosmos1228ryjucdpdv3t87rxle0ew76a56ulvnfst0hq0sscd3nafgjpqqkcxcky" +} +``` + Query the values set as budget parameters http://localhost:1317/cosmos/budget/v1beta1/params @@ -23,7 +41,7 @@ http://localhost:1317/cosmos/budget/v1beta1/params