diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..bc83520 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,5 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +# TODO: Remove comment after fixing lint warnings in codegen generated watchers +# yarn lint diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d60996d --- /dev/null +++ b/LICENSE @@ -0,0 +1,662 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for + software and other kinds of works, specifically designed to ensure + cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed + to take away your freedom to share and change the works. By contrast, + our General Public Licenses are intended to guarantee your freedom to + share and change all versions of a program--to make sure it remains free + software for all its users. + + When we speak of free software, we are referring to freedom, not + price. Our General Public Licenses are designed to make sure that you + have the freedom to distribute copies of free software (and charge for + them if you wish), that you receive source code or can get it if you + want it, that you can change the software or use pieces of it in new + free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights + with two steps: (1) assert copyright on the software, and (2) offer + you this License which gives you legal permission to copy, distribute + and/or modify the software. + + A secondary benefit of defending all users' freedom is that + improvements made in alternate versions of the program, if they + receive widespread use, become available for other developers to + incorporate. Many developers of free software are heartened and + encouraged by the resulting cooperation. However, in the case of + software used on network servers, this result may fail to come about. + The GNU General Public License permits making a modified version and + letting the public access it on a server without ever releasing its + source code to the public. + + The GNU Affero General Public License is designed specifically to + ensure that, in such cases, the modified source code becomes available + to the community. It requires the operator of a network server to + provide the source code of the modified version running there to the + users of that server. Therefore, public use of a modified version, on + a publicly accessible server, gives the public access to the source + code of the modified version. + + An older license, called the Affero General Public License and + published by Affero, was designed to accomplish similar goals. This is + a different license, not a version of the Affero GPL, but Affero has + released a new version of the Affero GPL which permits relicensing under + this license. + + The precise terms and conditions for copying, distribution and + modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this + License. Each licensee is addressed as "you". "Licensees" and + "recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work + in a fashion requiring copyright permission, other than the making of an + exact copy. The resulting work is called a "modified version" of the + earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based + on the Program. + + To "propagate" a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user through + a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" + to the extent that it includes a convenient and prominently visible + feature that (1) displays an appropriate copyright notice, and (2) + tells the user that there is no warranty for the work (except to the + extent that warranties are provided), that licensees may convey the + work under this License, and how to view a copy of this License. If + the interface presents a list of user commands or options, such as a + menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work + for making modifications to it. "Object code" means any non-source + form of a work. + + A "Standard Interface" means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that + is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other + than the work as a whole, that (a) is included in the normal form of + packaging a Major Component, but which is not part of that Major + Component, and (b) serves only to enable use of the work with that + Major Component, or to implement a Standard Interface for which an + implementation is available to the public in source code form. A + "Major Component", in this context, means a major essential component + (kernel, window system, and so on) of the specific operating system + (if any) on which the executable work runs, or a compiler used to + produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all + the source code needed to generate, install, and (for an executable + work) run the object code and to modify the work, including scripts to + control those activities. However, it does not include the work's + System Libraries, or general-purpose tools or generally available free + programs which are used unmodified in performing those activities but + which are not part of the work. For example, Corresponding Source + includes interface definition files associated with source files for + the work, and the source code for shared libraries and dynamically + linked subprograms that the work is specifically designed to require, + such as by intimate data communication or control flow between those + subprograms and other parts of the work. + + The Corresponding Source need not include anything that users + can regenerate automatically from other parts of the Corresponding + Source. + + The Corresponding Source for a work in source code form is that + same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program. The output from running a + covered work is covered by this License only if the output, given its + content, constitutes a covered work. This License acknowledges your + rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not + convey, without conditions so long as your license otherwise remains + in force. You may convey covered works to others for the sole purpose + of having them make modifications exclusively for you, or provide you + with facilities for running those works, provided that you comply with + the terms of this License in conveying all material for which you do + not control copyright. Those thus making or running the covered works + for you must do so exclusively on your behalf, under your direction + and control, on terms that prohibit them from making any copies of + your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under + the conditions stated below. Sublicensing is not allowed; section 10 + makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article + 11 of the WIPO copyright treaty adopted on 20 December 1996, or + similar laws prohibiting or restricting circumvention of such + measures. + + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such circumvention + is effected by exercising rights under this License with respect to + the covered work, and you disclaim any intention to limit operation or + modification of the work as a means of enforcing, against the work's + users, your or third parties' legal rights to forbid circumvention of + technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; + keep intact all notices stating that this License and any + non-permissive terms added in accord with section 7 apply to the code; + keep intact all notices of the absence of any warranty; and give all + recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, + and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the + terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, + and which are not combined with it such as to form a larger program, + in or on a volume of a storage or distribution medium, is called an + "aggregate" if the compilation and its resulting copyright are not + used to limit the access or legal rights of the compilation's users + beyond what the individual works permit. Inclusion of a covered work + in an aggregate does not cause this License to apply to the other + parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms + of sections 4 and 5, provided that you also convey the + machine-readable Corresponding Source under the terms of this License, + in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be + included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for incorporation + into a dwelling. In determining whether a product is a consumer product, + doubtful cases shall be resolved in favor of coverage. For a particular + product received by a particular user, "normally used" refers to a + typical or common use of that class of product, regardless of the status + of the particular user or of the way in which the particular user + actually uses, or expects or is expected to use, the product. A product + is a consumer product regardless of whether the product has substantial + commercial, industrial or non-consumer uses, unless such uses represent + the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, + procedures, authorization keys, or other information required to install + and execute modified versions of a covered work in that User Product from + a modified version of its Corresponding Source. The information must + suffice to ensure that the continued functioning of the modified object + code is in no case prevented or interfered with solely because + modification has been made. + + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as + part of a transaction in which the right of possession and use of the + User Product is transferred to the recipient in perpetuity or for a + fixed term (regardless of how the transaction is characterized), the + Corresponding Source conveyed under this section must be accompanied + by the Installation Information. But this requirement does not apply + if neither you nor any third party retains the ability to install + modified object code on the User Product (for example, the work has + been installed in ROM). + + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or updates + for a work that has been modified or installed by the recipient, or for + the User Product in which it has been modified or installed. Access to a + network may be denied when the modification itself materially and + adversely affects the operation of the network or violates the rules and + protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, + in accord with this section must be in a format that is publicly + documented (and with an implementation available to the public in + source code form), and must require no special password or key for + unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall + be treated as though they were included in this License, to the extent + that they are valid under applicable law. If additional permissions + apply only to part of the Program, that part may be used separately + under those permissions, but the entire Program remains governed by + this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option + remove any additional permissions from that copy, or from any part of + it. (Additional permissions may be written to require their own + removal in certain cases when you modify the work.) You may place + additional permissions on material, added by you to a covered work, + for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you + add to a covered work, you may (if authorized by the copyright holders of + that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further + restrictions" within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further + restriction, you may remove that term. If a license document contains + a further restriction but permits relicensing or conveying under this + License, you may add to a covered work material governed by the terms + of that license document, provided that the further restriction does + not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you + must place, in the relevant source files, a statement of the + additional terms that apply to those files, or a notice indicating + where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the + form of a separately written license, or stated as exceptions; + the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or + modify it is void, and will automatically terminate your rights under + this License (including any patent licenses granted under the third + paragraph of section 11). + + However, if you cease all violation of this License, then your + license from a particular copyright holder is reinstated (a) + provisionally, unless and until the copyright holder explicitly and + finally terminates your license, and (b) permanently, if the copyright + holder fails to notify you of the violation by some reasonable means + prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is + reinstated permanently if the copyright holder notifies you of the + violation by some reasonable means, this is the first time you have + received notice of violation of this License (for any work) from that + copyright holder, and you cure the violation prior to 30 days after + your receipt of the notice. + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or + run a copy of the Program. Ancillary propagation of a covered work + occurring solely as a consequence of using peer-to-peer transmission + to receive a copy likewise does not require acceptance. However, + nothing other than this License grants you permission to propagate or + modify any covered work. These actions infringe copyright if you do + not accept this License. Therefore, by modifying or propagating a + covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically + receives a license from the original licensors, to run, modify and + propagate that work, subject to this License. You are not responsible + for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered + work results from an entity transaction, each party to that + transaction who receives a copy of the work also receives whatever + licenses to the work the party's predecessor in interest had or could + give under the previous paragraph, plus a right to possession of the + Corresponding Source of the work from the predecessor in interest, if + the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the + rights granted or affirmed under this License. For example, you may + not impose a license fee, royalty, or other charge for exercise of + rights granted under this License, and you may not initiate litigation + (including a cross-claim or counterclaim in a lawsuit) alleging that + any patent claim is infringed by making, using, selling, offering for + sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The + work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims + owned or controlled by the contributor, whether already acquired or + hereafter acquired, that would be infringed by some manner, permitted + by this License, of making, using, or selling its contributor version, + but do not include claims that would be infringed only as a + consequence of further modification of the contributor version. For + purposes of this definition, "control" includes the right to grant + patent sublicenses in a manner consistent with the requirements of + this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to + make, use, sell, offer for sale, import and otherwise run, modify and + propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To "grant" such a patent license to a + party means to make such an agreement or commitment not to enforce a + patent against the party. + + If you convey a covered work, knowingly relying on a patent license, + and the Corresponding Source of the work is not available for anyone + to copy, free of charge and under the terms of this License, through a + publicly available network server or other readily accessible means, + then you must either (1) cause the Corresponding Source to be so + available, or (2) arrange to deprive yourself of the benefit of the + patent license for this particular work, or (3) arrange, in a manner + consistent with the requirements of this License, to extend the patent + license to downstream recipients. "Knowingly relying" means you have + actual knowledge that, but for the patent license, your conveying the + covered work in a country, or your recipient's use of the covered work + in a country, would infringe one or more identifiable patents in that + country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties + receiving the covered work authorizing them to use, propagate, modify + or convey a specific copy of the covered work, then the patent license + you grant is automatically extended to all recipients of the covered + work and works based on it. + + A patent license is "discriminatory" if it does not include within + the scope of its coverage, prohibits the exercise of, or is + conditioned on the non-exercise of one or more of the rights that are + specifically granted under this License. You may not convey a covered + work if you are a party to an arrangement with a third party that is + in the business of distributing software, under which you make payment + to the third party based on the extent of your activity of conveying + the work, and under which the third party grants, to any of the + parties who would receive the covered work from you, a discriminatory + patent license (a) in connection with copies of the covered work + conveyed by you (or copies made from those copies), or (b) primarily + for and in connection with specific products or compilations that + contain the covered work, unless you entered into that arrangement, + or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting + any implied license or other defenses to infringement that may + otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot convey a + covered work so as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a consequence you may + not convey it at all. For example, if you agree to terms that obligate you + to collect a royalty for further conveying from those to whom you convey + the Program, the only way you could satisfy both those terms and this + License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the + Program, your modified version must prominently offer all users + interacting with it remotely through a computer network (if your version + supports such interaction) an opportunity to receive the Corresponding + Source of your version by providing access to the Corresponding Source + from a network server at no charge, through some standard or customary + means of facilitating copying of software. This Corresponding Source + shall include the Corresponding Source for any work covered by version 3 + of the GNU General Public License that is incorporated pursuant to the + following paragraph. + + Notwithstanding any other provision of this License, you have + permission to link or combine any covered work with a work licensed + under version 3 of the GNU General Public License into a single + combined work, and to convey the resulting work. The terms of this + License will continue to apply to the part which is the covered work, + but the work with which it is combined will remain governed by version + 3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of + the GNU Affero General Public License from time to time. Such new versions + will be similar in spirit to the present version, but may differ in detail to + address new problems or concerns. + + Each version is given a distinguishing version number. If the + Program specifies that a certain numbered version of the GNU Affero General + Public License "or any later version" applies to it, you have the + option of following the terms and conditions either of that numbered + version or of any later version published by the Free Software + Foundation. If the Program does not specify a version number of the + GNU Affero General Public License, you may choose any version ever published + by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future + versions of the GNU Affero General Public License can be used, that proxy's + public statement of acceptance of a version permanently authorizes you + to choose that version for the Program. + + Later license versions may give you additional or different + permissions. However, no additional obligations are imposed on any + author or copyright holder as a result of your choosing to follow a + later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY + OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM + IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF + ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS + THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY + GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE + USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF + DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD + PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), + EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF + SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided + above cannot be given local legal effect according to their terms, + reviewing courts shall apply local law that most closely approximates + an absolute waiver of all civil liability in connection with the + Program, unless a warranty or assumption of liability accompanies a + copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest + possible use to the public, the best way to achieve this is to make it + free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest + to attach them to the start of each source file to most effectively + state the exclusion of warranty; and each file should have at least + the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer + network, you should also make sure that it provides a way for users to + get its source. For example, if your program is a web application, its + interface could display a "Source" link that leads users to an archive + of the code. There are many ways you could offer source, and different + solutions will be better for different programs; see section 13 for the + specific requirements. + + You should also get your employer (if you work as a programmer) or school, + if any, to sign a "copyright disclaimer" for the program, if necessary. + For more information on this, and how to apply and follow the GNU AGPL, see + . + \ No newline at end of file diff --git a/package.json b/package.json index 5d7953e..093b01e 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,11 @@ ], "scripts": { "build": "lerna run build --stream", - "lint": "lerna run lint --stream -- --max-warnings=0" + "lint": "lerna run lint --stream -- --max-warnings=0", + "prepare": "husky install" }, "devDependencies": { + "husky": "^7.0.2", "lerna": "^6.6.1" } } diff --git a/packages/azimuth-watcher/README.md b/packages/azimuth-watcher/README.md index f2e68bd..c645b03 100644 --- a/packages/azimuth-watcher/README.md +++ b/packages/azimuth-watcher/README.md @@ -6,25 +6,6 @@ The watcher was generated in `eth_call` mode and does not support the following * `getKeys(uint32 _point) returns (bytes32 crypt, bytes32 auth, uint32 suite, uint32 revision)` -* `getSpawned(uint32 _point) returns (uint32[] spawned)` - -* `getSponsoring(uint32 _sponsor) returns (uint32[] sponsees)` - -* `getEscapeRequests(uint32 _sponsor) returns (uint32[] requests)` - -* `getOwnedPoints(address _whose) returns (uint32[] ownedPoints)` - -* `getOwnedPointAtIndex(address _whose, uint256 _index) returns (uint32 point)` - -* `getManagerFor(address _proxy) returns (uint32[] mfor)` - -* `getSpawningFor(address _proxy) returns (uint32[] sfor)` - -* `getVotingFor(address _proxy) returns (uint32[] vfor)` - -* `getTransferringFor(address _proxy) returns (uint32[] tfor)` - - ## Setup * Run the following command to install required packages: diff --git a/packages/azimuth-watcher/package.json b/packages/azimuth-watcher/package.json index ba040e4..f9a7dbd 100644 --- a/packages/azimuth-watcher/package.json +++ b/packages/azimuth-watcher/package.json @@ -5,7 +5,7 @@ "private": true, "main": "dist/index.js", "scripts": { - "lint": "eslint .", + "lint": "eslint --max-warnings=0 .", "build": "yarn clean && tsc && yarn copy-assets", "clean": "rm -rf ./dist", "copy-assets": "copyfiles -u 1 src/**/*.gql dist/", @@ -38,10 +38,10 @@ "dependencies": { "@apollo/client": "^3.3.19", "@ethersproject/providers": "^5.4.4", - "@cerc-io/cli": "^0.2.34", - "@cerc-io/ipld-eth-client": "^0.2.34", - "@cerc-io/solidity-mapper": "^0.2.34", - "@cerc-io/util": "^0.2.34", + "@cerc-io/cli": "^0.2.39", + "@cerc-io/ipld-eth-client": "^0.2.39", + "@cerc-io/solidity-mapper": "^0.2.39", + "@cerc-io/util": "^0.2.39", "apollo-type-bigint": "^0.1.3", "debug": "^4.3.1", "ethers": "^5.4.4", @@ -56,7 +56,7 @@ "@ethersproject/abi": "^5.3.0", "@types/yargs": "^17.0.0", "@types/debug": "^4.1.5", - "@types/json-bigint": "^1.0.1", + "@types/json-bigint": "^1.0.0", "@typescript-eslint/eslint-plugin": "^5.47.1", "@typescript-eslint/parser": "^5.47.1", "eslint": "^8.35.0", diff --git a/packages/azimuth-watcher/src/client.ts b/packages/azimuth-watcher/src/client.ts index 3551ed1..4fdeb08 100644 --- a/packages/azimuth-watcher/src/client.ts +++ b/packages/azimuth-watcher/src/client.ts @@ -17,7 +17,7 @@ export class Client { this._client = new GraphQLClient(config); } - async getIsActive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isActive } = await this._client.query( gql(queries.isActive), { blockHash, contractAddress, _point } @@ -26,7 +26,7 @@ export class Client { return isActive; } - async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getKeyRevisionNumber } = await this._client.query( gql(queries.getKeyRevisionNumber), { blockHash, contractAddress, _point } @@ -35,7 +35,7 @@ export class Client { return getKeyRevisionNumber; } - async getHasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasBeenLinked } = await this._client.query( gql(queries.hasBeenLinked), { blockHash, contractAddress, _point } @@ -44,7 +44,7 @@ export class Client { return hasBeenLinked; } - async getIsLive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isLive } = await this._client.query( gql(queries.isLive), { blockHash, contractAddress, _point } @@ -53,7 +53,7 @@ export class Client { return isLive; } - async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getContinuityNumber } = await this._client.query( gql(queries.getContinuityNumber), { blockHash, contractAddress, _point } @@ -62,7 +62,7 @@ export class Client { return getContinuityNumber; } - async getGetSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnCount } = await this._client.query( gql(queries.getSpawnCount), { blockHash, contractAddress, _point } @@ -71,7 +71,7 @@ export class Client { return getSpawnCount; } - async getHasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasSponsor } = await this._client.query( gql(queries.hasSponsor), { blockHash, contractAddress, _point } @@ -80,7 +80,7 @@ export class Client { return hasSponsor; } - async getGetSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSponsor } = await this._client.query( gql(queries.getSponsor), { blockHash, contractAddress, _point } @@ -89,7 +89,7 @@ export class Client { return getSponsor; } - async getIsSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isSponsor } = await this._client.query( gql(queries.isSponsor), { blockHash, contractAddress, _point, _sponsor } @@ -98,7 +98,7 @@ export class Client { return isSponsor; } - async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getSponsoringCount } = await this._client.query( gql(queries.getSponsoringCount), { blockHash, contractAddress, _sponsor } @@ -107,7 +107,7 @@ export class Client { return getSponsoringCount; } - async getIsEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isEscaping } = await this._client.query( gql(queries.isEscaping), { blockHash, contractAddress, _point } @@ -116,7 +116,7 @@ export class Client { return isEscaping; } - async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getEscapeRequest } = await this._client.query( gql(queries.getEscapeRequest), { blockHash, contractAddress, _point } @@ -125,7 +125,7 @@ export class Client { return getEscapeRequest; } - async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isRequestingEscapeTo } = await this._client.query( gql(queries.isRequestingEscapeTo), { blockHash, contractAddress, _point, _sponsor } @@ -134,7 +134,7 @@ export class Client { return isRequestingEscapeTo; } - async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getEscapeRequestsCount } = await this._client.query( gql(queries.getEscapeRequestsCount), { blockHash, contractAddress, _sponsor } @@ -143,7 +143,7 @@ export class Client { return getEscapeRequestsCount; } - async getGetOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getOwner } = await this._client.query( gql(queries.getOwner), { blockHash, contractAddress, _point } @@ -152,7 +152,7 @@ export class Client { return getOwner; } - async getIsOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async getIsOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const { isOwner } = await this._client.query( gql(queries.isOwner), { blockHash, contractAddress, _point, _address } @@ -179,7 +179,7 @@ export class Client { return getOwnedPointAtIndex; } - async getGetManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getManagementProxy } = await this._client.query( gql(queries.getManagementProxy), { blockHash, contractAddress, _point } @@ -188,7 +188,7 @@ export class Client { return getManagementProxy; } - async getIsManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isManagementProxy } = await this._client.query( gql(queries.isManagementProxy), { blockHash, contractAddress, _point, _proxy } @@ -197,7 +197,7 @@ export class Client { return isManagementProxy; } - async getCanManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canManage } = await this._client.query( gql(queries.canManage), { blockHash, contractAddress, _point, _who } @@ -215,7 +215,7 @@ export class Client { return getManagerForCount; } - async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnProxy } = await this._client.query( gql(queries.getSpawnProxy), { blockHash, contractAddress, _point } @@ -224,7 +224,7 @@ export class Client { return getSpawnProxy; } - async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isSpawnProxy } = await this._client.query( gql(queries.isSpawnProxy), { blockHash, contractAddress, _point, _proxy } @@ -233,7 +233,7 @@ export class Client { return isSpawnProxy; } - async getCanSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canSpawnAs } = await this._client.query( gql(queries.canSpawnAs), { blockHash, contractAddress, _point, _who } @@ -251,7 +251,7 @@ export class Client { return getSpawningForCount; } - async getGetVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getVotingProxy } = await this._client.query( gql(queries.getVotingProxy), { blockHash, contractAddress, _point } @@ -260,7 +260,7 @@ export class Client { return getVotingProxy; } - async getIsVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isVotingProxy } = await this._client.query( gql(queries.isVotingProxy), { blockHash, contractAddress, _point, _proxy } @@ -269,7 +269,7 @@ export class Client { return isVotingProxy; } - async getCanVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canVoteAs } = await this._client.query( gql(queries.canVoteAs), { blockHash, contractAddress, _point, _who } @@ -287,7 +287,7 @@ export class Client { return getVotingForCount; } - async getGetTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getTransferProxy } = await this._client.query( gql(queries.getTransferProxy), { blockHash, contractAddress, _point } @@ -296,7 +296,7 @@ export class Client { return getTransferProxy; } - async getIsTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isTransferProxy } = await this._client.query( gql(queries.isTransferProxy), { blockHash, contractAddress, _point, _proxy } @@ -305,7 +305,7 @@ export class Client { return isTransferProxy; } - async getCanTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canTransfer } = await this._client.query( gql(queries.canTransfer), { blockHash, contractAddress, _point, _who } diff --git a/packages/azimuth-watcher/src/database.ts b/packages/azimuth-watcher/src/database.ts index 2e63ef0..95865c0 100644 --- a/packages/azimuth-watcher/src/database.ts +++ b/packages/azimuth-watcher/src/database.ts @@ -89,7 +89,7 @@ export class Database implements DatabaseInterface { return this._baseDatabase.close(); } - async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsActive) .findOne({ blockHash, @@ -98,7 +98,7 @@ export class Database implements DatabaseInterface { }); } - async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetKeyRevisionNumber) .findOne({ blockHash, @@ -107,7 +107,7 @@ export class Database implements DatabaseInterface { }); } - async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasBeenLinked) .findOne({ blockHash, @@ -116,7 +116,7 @@ export class Database implements DatabaseInterface { }); } - async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsLive) .findOne({ blockHash, @@ -125,7 +125,7 @@ export class Database implements DatabaseInterface { }); } - async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetContinuityNumber) .findOne({ blockHash, @@ -134,7 +134,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnCount) .findOne({ blockHash, @@ -143,7 +143,7 @@ export class Database implements DatabaseInterface { }); } - async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasSponsor) .findOne({ blockHash, @@ -152,7 +152,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSponsor) .findOne({ blockHash, @@ -161,7 +161,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsSponsor) .findOne({ blockHash, @@ -171,7 +171,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetSponsoringCount) .findOne({ blockHash, @@ -180,7 +180,7 @@ export class Database implements DatabaseInterface { }); } - async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsEscaping) .findOne({ blockHash, @@ -189,7 +189,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetEscapeRequest) .findOne({ blockHash, @@ -198,7 +198,7 @@ export class Database implements DatabaseInterface { }); } - async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsRequestingEscapeTo) .findOne({ blockHash, @@ -208,7 +208,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetEscapeRequestsCount) .findOne({ blockHash, @@ -217,7 +217,7 @@ export class Database implements DatabaseInterface { }); } - async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetOwner) .findOne({ blockHash, @@ -226,7 +226,7 @@ export class Database implements DatabaseInterface { }); } - async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }): Promise { + async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }): Promise { return this._conn.getRepository(IsOwner) .findOne({ blockHash, @@ -255,7 +255,7 @@ export class Database implements DatabaseInterface { }); } - async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetManagementProxy) .findOne({ blockHash, @@ -264,7 +264,7 @@ export class Database implements DatabaseInterface { }); } - async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsManagementProxy) .findOne({ blockHash, @@ -274,7 +274,7 @@ export class Database implements DatabaseInterface { }); } - async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanManage) .findOne({ blockHash, @@ -293,7 +293,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnProxy) .findOne({ blockHash, @@ -302,7 +302,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsSpawnProxy) .findOne({ blockHash, @@ -312,7 +312,7 @@ export class Database implements DatabaseInterface { }); } - async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanSpawnAs) .findOne({ blockHash, @@ -331,7 +331,7 @@ export class Database implements DatabaseInterface { }); } - async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetVotingProxy) .findOne({ blockHash, @@ -340,7 +340,7 @@ export class Database implements DatabaseInterface { }); } - async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsVotingProxy) .findOne({ blockHash, @@ -350,7 +350,7 @@ export class Database implements DatabaseInterface { }); } - async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanVoteAs) .findOne({ blockHash, @@ -369,7 +369,7 @@ export class Database implements DatabaseInterface { }); } - async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetTransferProxy) .findOne({ blockHash, @@ -378,7 +378,7 @@ export class Database implements DatabaseInterface { }); } - async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsTransferProxy) .findOne({ blockHash, @@ -388,7 +388,7 @@ export class Database implements DatabaseInterface { }); } - async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanTransfer) .findOne({ blockHash, diff --git a/packages/azimuth-watcher/src/entity/CanManage.ts b/packages/azimuth-watcher/src/entity/CanManage.ts index 2ad7b1b..442f5bc 100644 --- a/packages/azimuth-watcher/src/entity/CanManage.ts +++ b/packages/azimuth-watcher/src/entity/CanManage.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanManage { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/azimuth-watcher/src/entity/CanSpawnAs.ts b/packages/azimuth-watcher/src/entity/CanSpawnAs.ts index 9163537..09c21c4 100644 --- a/packages/azimuth-watcher/src/entity/CanSpawnAs.ts +++ b/packages/azimuth-watcher/src/entity/CanSpawnAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanSpawnAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/azimuth-watcher/src/entity/CanTransfer.ts b/packages/azimuth-watcher/src/entity/CanTransfer.ts index 82fb96e..17ecc02 100644 --- a/packages/azimuth-watcher/src/entity/CanTransfer.ts +++ b/packages/azimuth-watcher/src/entity/CanTransfer.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanTransfer { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/azimuth-watcher/src/entity/CanVoteAs.ts b/packages/azimuth-watcher/src/entity/CanVoteAs.ts index 956d249..b9519df 100644 --- a/packages/azimuth-watcher/src/entity/CanVoteAs.ts +++ b/packages/azimuth-watcher/src/entity/CanVoteAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanVoteAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/azimuth-watcher/src/entity/GetContinuityNumber.ts b/packages/azimuth-watcher/src/entity/GetContinuityNumber.ts index 27c158a..d4d3fb9 100644 --- a/packages/azimuth-watcher/src/entity/GetContinuityNumber.ts +++ b/packages/azimuth-watcher/src/entity/GetContinuityNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetContinuityNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/azimuth-watcher/src/entity/GetEscapeRequest.ts b/packages/azimuth-watcher/src/entity/GetEscapeRequest.ts index 09eb1d9..d2ed83d 100644 --- a/packages/azimuth-watcher/src/entity/GetEscapeRequest.ts +++ b/packages/azimuth-watcher/src/entity/GetEscapeRequest.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetEscapeRequest { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/azimuth-watcher/src/entity/GetEscapeRequestsCount.ts b/packages/azimuth-watcher/src/entity/GetEscapeRequestsCount.ts index 9e020db..2339c14 100644 --- a/packages/azimuth-watcher/src/entity/GetEscapeRequestsCount.ts +++ b/packages/azimuth-watcher/src/entity/GetEscapeRequestsCount.ts @@ -20,8 +20,8 @@ export class GetEscapeRequestsCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/azimuth-watcher/src/entity/GetKeyRevisionNumber.ts b/packages/azimuth-watcher/src/entity/GetKeyRevisionNumber.ts index ca5f269..9ea106d 100644 --- a/packages/azimuth-watcher/src/entity/GetKeyRevisionNumber.ts +++ b/packages/azimuth-watcher/src/entity/GetKeyRevisionNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetKeyRevisionNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/azimuth-watcher/src/entity/GetManagementProxy.ts b/packages/azimuth-watcher/src/entity/GetManagementProxy.ts index 310a4fb..73db456 100644 --- a/packages/azimuth-watcher/src/entity/GetManagementProxy.ts +++ b/packages/azimuth-watcher/src/entity/GetManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/azimuth-watcher/src/entity/GetOwnedPointAtIndex.ts b/packages/azimuth-watcher/src/entity/GetOwnedPointAtIndex.ts index cabc086..6aff916 100644 --- a/packages/azimuth-watcher/src/entity/GetOwnedPointAtIndex.ts +++ b/packages/azimuth-watcher/src/entity/GetOwnedPointAtIndex.ts @@ -26,8 +26,8 @@ export class GetOwnedPointAtIndex { @Column('numeric', { transformer: bigintTransformer }) _index!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/azimuth-watcher/src/entity/GetOwner.ts b/packages/azimuth-watcher/src/entity/GetOwner.ts index 00ff4df..04f3e9f 100644 --- a/packages/azimuth-watcher/src/entity/GetOwner.ts +++ b/packages/azimuth-watcher/src/entity/GetOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/azimuth-watcher/src/entity/GetSpawnCount.ts b/packages/azimuth-watcher/src/entity/GetSpawnCount.ts index 6cc44cc..314cfe6 100644 --- a/packages/azimuth-watcher/src/entity/GetSpawnCount.ts +++ b/packages/azimuth-watcher/src/entity/GetSpawnCount.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSpawnCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/azimuth-watcher/src/entity/GetSpawnProxy.ts b/packages/azimuth-watcher/src/entity/GetSpawnProxy.ts index d1e2cbd..7ee732c 100644 --- a/packages/azimuth-watcher/src/entity/GetSpawnProxy.ts +++ b/packages/azimuth-watcher/src/entity/GetSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/azimuth-watcher/src/entity/GetSponsor.ts b/packages/azimuth-watcher/src/entity/GetSponsor.ts index 3d964f9..a901174 100644 --- a/packages/azimuth-watcher/src/entity/GetSponsor.ts +++ b/packages/azimuth-watcher/src/entity/GetSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/azimuth-watcher/src/entity/GetSponsoringCount.ts b/packages/azimuth-watcher/src/entity/GetSponsoringCount.ts index 95dcbd9..c3e8c8c 100644 --- a/packages/azimuth-watcher/src/entity/GetSponsoringCount.ts +++ b/packages/azimuth-watcher/src/entity/GetSponsoringCount.ts @@ -20,8 +20,8 @@ export class GetSponsoringCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/azimuth-watcher/src/entity/GetTransferProxy.ts b/packages/azimuth-watcher/src/entity/GetTransferProxy.ts index f2dd7b2..1173349 100644 --- a/packages/azimuth-watcher/src/entity/GetTransferProxy.ts +++ b/packages/azimuth-watcher/src/entity/GetTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/azimuth-watcher/src/entity/GetVotingProxy.ts b/packages/azimuth-watcher/src/entity/GetVotingProxy.ts index c4a73e5..602d459 100644 --- a/packages/azimuth-watcher/src/entity/GetVotingProxy.ts +++ b/packages/azimuth-watcher/src/entity/GetVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/azimuth-watcher/src/entity/HasBeenLinked.ts b/packages/azimuth-watcher/src/entity/HasBeenLinked.ts index 4f897dc..38916ab 100644 --- a/packages/azimuth-watcher/src/entity/HasBeenLinked.ts +++ b/packages/azimuth-watcher/src/entity/HasBeenLinked.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasBeenLinked { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/azimuth-watcher/src/entity/HasSponsor.ts b/packages/azimuth-watcher/src/entity/HasSponsor.ts index ccc8875..eb479ea 100644 --- a/packages/azimuth-watcher/src/entity/HasSponsor.ts +++ b/packages/azimuth-watcher/src/entity/HasSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/azimuth-watcher/src/entity/IsActive.ts b/packages/azimuth-watcher/src/entity/IsActive.ts index 055e224..a725d12 100644 --- a/packages/azimuth-watcher/src/entity/IsActive.ts +++ b/packages/azimuth-watcher/src/entity/IsActive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsActive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/azimuth-watcher/src/entity/IsEscaping.ts b/packages/azimuth-watcher/src/entity/IsEscaping.ts index fb4c3bd..a3c704f 100644 --- a/packages/azimuth-watcher/src/entity/IsEscaping.ts +++ b/packages/azimuth-watcher/src/entity/IsEscaping.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsEscaping { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/azimuth-watcher/src/entity/IsLive.ts b/packages/azimuth-watcher/src/entity/IsLive.ts index 87ca00f..e3270e0 100644 --- a/packages/azimuth-watcher/src/entity/IsLive.ts +++ b/packages/azimuth-watcher/src/entity/IsLive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsLive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/azimuth-watcher/src/entity/IsManagementProxy.ts b/packages/azimuth-watcher/src/entity/IsManagementProxy.ts index 14ac477..e72a487 100644 --- a/packages/azimuth-watcher/src/entity/IsManagementProxy.ts +++ b/packages/azimuth-watcher/src/entity/IsManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/azimuth-watcher/src/entity/IsOwner.ts b/packages/azimuth-watcher/src/entity/IsOwner.ts index 81a6046..51aeaed 100644 --- a/packages/azimuth-watcher/src/entity/IsOwner.ts +++ b/packages/azimuth-watcher/src/entity/IsOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_address'], { unique: true }) @@ -19,8 +20,8 @@ export class IsOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _address!: string; diff --git a/packages/azimuth-watcher/src/entity/IsRequestingEscapeTo.ts b/packages/azimuth-watcher/src/entity/IsRequestingEscapeTo.ts index 58409ab..5c6385d 100644 --- a/packages/azimuth-watcher/src/entity/IsRequestingEscapeTo.ts +++ b/packages/azimuth-watcher/src/entity/IsRequestingEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsRequestingEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/azimuth-watcher/src/entity/IsSpawnProxy.ts b/packages/azimuth-watcher/src/entity/IsSpawnProxy.ts index 023ca72..d6ba37b 100644 --- a/packages/azimuth-watcher/src/entity/IsSpawnProxy.ts +++ b/packages/azimuth-watcher/src/entity/IsSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/azimuth-watcher/src/entity/IsSponsor.ts b/packages/azimuth-watcher/src/entity/IsSponsor.ts index a21b71c..9a615c4 100644 --- a/packages/azimuth-watcher/src/entity/IsSponsor.ts +++ b/packages/azimuth-watcher/src/entity/IsSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/azimuth-watcher/src/entity/IsTransferProxy.ts b/packages/azimuth-watcher/src/entity/IsTransferProxy.ts index b1613a4..904d2df 100644 --- a/packages/azimuth-watcher/src/entity/IsTransferProxy.ts +++ b/packages/azimuth-watcher/src/entity/IsTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/azimuth-watcher/src/entity/IsVotingProxy.ts b/packages/azimuth-watcher/src/entity/IsVotingProxy.ts index 172dd15..5cd6128 100644 --- a/packages/azimuth-watcher/src/entity/IsVotingProxy.ts +++ b/packages/azimuth-watcher/src/entity/IsVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/azimuth-watcher/src/gql/queries/canManage.gql b/packages/azimuth-watcher/src/gql/queries/canManage.gql index e52d71b..dad1626 100644 --- a/packages/azimuth-watcher/src/gql/queries/canManage.gql +++ b/packages/azimuth-watcher/src/gql/queries/canManage.gql @@ -1,4 +1,4 @@ -query canManage($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canManage($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canManage(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/canSpawnAs.gql b/packages/azimuth-watcher/src/gql/queries/canSpawnAs.gql index af9c463..040dd32 100644 --- a/packages/azimuth-watcher/src/gql/queries/canSpawnAs.gql +++ b/packages/azimuth-watcher/src/gql/queries/canSpawnAs.gql @@ -1,4 +1,4 @@ -query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canSpawnAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/canTransfer.gql b/packages/azimuth-watcher/src/gql/queries/canTransfer.gql index 14b39fa..994578f 100644 --- a/packages/azimuth-watcher/src/gql/queries/canTransfer.gql +++ b/packages/azimuth-watcher/src/gql/queries/canTransfer.gql @@ -1,4 +1,4 @@ -query canTransfer($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canTransfer($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canTransfer(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/canVoteAs.gql b/packages/azimuth-watcher/src/gql/queries/canVoteAs.gql index d2a79a9..87871a2 100644 --- a/packages/azimuth-watcher/src/gql/queries/canVoteAs.gql +++ b/packages/azimuth-watcher/src/gql/queries/canVoteAs.gql @@ -1,4 +1,4 @@ -query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canVoteAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getContinuityNumber.gql b/packages/azimuth-watcher/src/gql/queries/getContinuityNumber.gql index 1ad5af4..244398d 100644 --- a/packages/azimuth-watcher/src/gql/queries/getContinuityNumber.gql +++ b/packages/azimuth-watcher/src/gql/queries/getContinuityNumber.gql @@ -1,4 +1,4 @@ -query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getContinuityNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getEscapeRequest.gql b/packages/azimuth-watcher/src/gql/queries/getEscapeRequest.gql index acf7e7b..7215f8b 100644 --- a/packages/azimuth-watcher/src/gql/queries/getEscapeRequest.gql +++ b/packages/azimuth-watcher/src/gql/queries/getEscapeRequest.gql @@ -1,4 +1,4 @@ -query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getEscapeRequest(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getEscapeRequests.gql b/packages/azimuth-watcher/src/gql/queries/getEscapeRequests.gql new file mode 100644 index 0000000..13b81ac --- /dev/null +++ b/packages/azimuth-watcher/src/gql/queries/getEscapeRequests.gql @@ -0,0 +1,8 @@ +query getEscapeRequests($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getEscapeRequests(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/azimuth-watcher/src/gql/queries/getEscapeRequestsCount.gql b/packages/azimuth-watcher/src/gql/queries/getEscapeRequestsCount.gql index 5b6e489..ca7f8ef 100644 --- a/packages/azimuth-watcher/src/gql/queries/getEscapeRequestsCount.gql +++ b/packages/azimuth-watcher/src/gql/queries/getEscapeRequestsCount.gql @@ -1,4 +1,4 @@ -query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getEscapeRequestsCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getKeyRevisionNumber.gql b/packages/azimuth-watcher/src/gql/queries/getKeyRevisionNumber.gql index ebcea96..fdccc8b 100644 --- a/packages/azimuth-watcher/src/gql/queries/getKeyRevisionNumber.gql +++ b/packages/azimuth-watcher/src/gql/queries/getKeyRevisionNumber.gql @@ -1,4 +1,4 @@ -query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getKeyRevisionNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getManagementProxy.gql b/packages/azimuth-watcher/src/gql/queries/getManagementProxy.gql index fd499b7..a9be364 100644 --- a/packages/azimuth-watcher/src/gql/queries/getManagementProxy.gql +++ b/packages/azimuth-watcher/src/gql/queries/getManagementProxy.gql @@ -1,4 +1,4 @@ -query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getManagerFor.gql b/packages/azimuth-watcher/src/gql/queries/getManagerFor.gql new file mode 100644 index 0000000..12e6ca0 --- /dev/null +++ b/packages/azimuth-watcher/src/gql/queries/getManagerFor.gql @@ -0,0 +1,8 @@ +query getManagerFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getManagerFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/azimuth-watcher/src/gql/queries/getOwnedPoints.gql b/packages/azimuth-watcher/src/gql/queries/getOwnedPoints.gql new file mode 100644 index 0000000..869ed24 --- /dev/null +++ b/packages/azimuth-watcher/src/gql/queries/getOwnedPoints.gql @@ -0,0 +1,8 @@ +query getOwnedPoints($blockHash: String!, $contractAddress: String!, $_whose: String!){ + getOwnedPoints(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/azimuth-watcher/src/gql/queries/getOwner.gql b/packages/azimuth-watcher/src/gql/queries/getOwner.gql index f20db27..cc665d0 100644 --- a/packages/azimuth-watcher/src/gql/queries/getOwner.gql +++ b/packages/azimuth-watcher/src/gql/queries/getOwner.gql @@ -1,4 +1,4 @@ -query getOwner($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getSpawnCount.gql b/packages/azimuth-watcher/src/gql/queries/getSpawnCount.gql index 2edcff0..f990551 100644 --- a/packages/azimuth-watcher/src/gql/queries/getSpawnCount.gql +++ b/packages/azimuth-watcher/src/gql/queries/getSpawnCount.gql @@ -1,4 +1,4 @@ -query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnCount(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getSpawnProxy.gql b/packages/azimuth-watcher/src/gql/queries/getSpawnProxy.gql index fe536b2..f542279 100644 --- a/packages/azimuth-watcher/src/gql/queries/getSpawnProxy.gql +++ b/packages/azimuth-watcher/src/gql/queries/getSpawnProxy.gql @@ -1,4 +1,4 @@ -query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getSpawned.gql b/packages/azimuth-watcher/src/gql/queries/getSpawned.gql new file mode 100644 index 0000000..ab9ea11 --- /dev/null +++ b/packages/azimuth-watcher/src/gql/queries/getSpawned.gql @@ -0,0 +1,8 @@ +query getSpawned($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ + getSpawned(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/azimuth-watcher/src/gql/queries/getSpawningFor.gql b/packages/azimuth-watcher/src/gql/queries/getSpawningFor.gql new file mode 100644 index 0000000..5059aa6 --- /dev/null +++ b/packages/azimuth-watcher/src/gql/queries/getSpawningFor.gql @@ -0,0 +1,8 @@ +query getSpawningFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getSpawningFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/azimuth-watcher/src/gql/queries/getSponsor.gql b/packages/azimuth-watcher/src/gql/queries/getSponsor.gql index 9843916..56a5305 100644 --- a/packages/azimuth-watcher/src/gql/queries/getSponsor.gql +++ b/packages/azimuth-watcher/src/gql/queries/getSponsor.gql @@ -1,4 +1,4 @@ -query getSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getSponsoring.gql b/packages/azimuth-watcher/src/gql/queries/getSponsoring.gql new file mode 100644 index 0000000..cb6a4b4 --- /dev/null +++ b/packages/azimuth-watcher/src/gql/queries/getSponsoring.gql @@ -0,0 +1,8 @@ +query getSponsoring($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getSponsoring(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/azimuth-watcher/src/gql/queries/getSponsoringCount.gql b/packages/azimuth-watcher/src/gql/queries/getSponsoringCount.gql index 3d070dd..ee62745 100644 --- a/packages/azimuth-watcher/src/gql/queries/getSponsoringCount.gql +++ b/packages/azimuth-watcher/src/gql/queries/getSponsoringCount.gql @@ -1,4 +1,4 @@ -query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getSponsoringCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getTransferProxy.gql b/packages/azimuth-watcher/src/gql/queries/getTransferProxy.gql index 852fd2f..c14c0ab 100644 --- a/packages/azimuth-watcher/src/gql/queries/getTransferProxy.gql +++ b/packages/azimuth-watcher/src/gql/queries/getTransferProxy.gql @@ -1,4 +1,4 @@ -query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/getTransferringFor.gql b/packages/azimuth-watcher/src/gql/queries/getTransferringFor.gql new file mode 100644 index 0000000..0911c39 --- /dev/null +++ b/packages/azimuth-watcher/src/gql/queries/getTransferringFor.gql @@ -0,0 +1,8 @@ +query getTransferringFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getTransferringFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/azimuth-watcher/src/gql/queries/getVotingFor.gql b/packages/azimuth-watcher/src/gql/queries/getVotingFor.gql new file mode 100644 index 0000000..30186d8 --- /dev/null +++ b/packages/azimuth-watcher/src/gql/queries/getVotingFor.gql @@ -0,0 +1,8 @@ +query getVotingFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getVotingFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/azimuth-watcher/src/gql/queries/getVotingProxy.gql b/packages/azimuth-watcher/src/gql/queries/getVotingProxy.gql index 1f2f38a..49d37ab 100644 --- a/packages/azimuth-watcher/src/gql/queries/getVotingProxy.gql +++ b/packages/azimuth-watcher/src/gql/queries/getVotingProxy.gql @@ -1,4 +1,4 @@ -query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/hasBeenLinked.gql b/packages/azimuth-watcher/src/gql/queries/hasBeenLinked.gql index e9da67e..a50505c 100644 --- a/packages/azimuth-watcher/src/gql/queries/hasBeenLinked.gql +++ b/packages/azimuth-watcher/src/gql/queries/hasBeenLinked.gql @@ -1,4 +1,4 @@ -query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasBeenLinked(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/hasSponsor.gql b/packages/azimuth-watcher/src/gql/queries/hasSponsor.gql index 3e804ed..0261c6e 100644 --- a/packages/azimuth-watcher/src/gql/queries/hasSponsor.gql +++ b/packages/azimuth-watcher/src/gql/queries/hasSponsor.gql @@ -1,4 +1,4 @@ -query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/index.ts b/packages/azimuth-watcher/src/gql/queries/index.ts index 5590595..6ba7ae1 100644 --- a/packages/azimuth-watcher/src/gql/queries/index.ts +++ b/packages/azimuth-watcher/src/gql/queries/index.ts @@ -9,34 +9,42 @@ export const hasBeenLinked = fs.readFileSync(path.join(__dirname, 'hasBeenLinked export const isLive = fs.readFileSync(path.join(__dirname, 'isLive.gql'), 'utf8'); export const getContinuityNumber = fs.readFileSync(path.join(__dirname, 'getContinuityNumber.gql'), 'utf8'); export const getSpawnCount = fs.readFileSync(path.join(__dirname, 'getSpawnCount.gql'), 'utf8'); +export const getSpawned = fs.readFileSync(path.join(__dirname, 'getSpawned.gql'), 'utf8'); export const hasSponsor = fs.readFileSync(path.join(__dirname, 'hasSponsor.gql'), 'utf8'); export const getSponsor = fs.readFileSync(path.join(__dirname, 'getSponsor.gql'), 'utf8'); export const isSponsor = fs.readFileSync(path.join(__dirname, 'isSponsor.gql'), 'utf8'); export const getSponsoringCount = fs.readFileSync(path.join(__dirname, 'getSponsoringCount.gql'), 'utf8'); +export const getSponsoring = fs.readFileSync(path.join(__dirname, 'getSponsoring.gql'), 'utf8'); export const isEscaping = fs.readFileSync(path.join(__dirname, 'isEscaping.gql'), 'utf8'); export const getEscapeRequest = fs.readFileSync(path.join(__dirname, 'getEscapeRequest.gql'), 'utf8'); export const isRequestingEscapeTo = fs.readFileSync(path.join(__dirname, 'isRequestingEscapeTo.gql'), 'utf8'); export const getEscapeRequestsCount = fs.readFileSync(path.join(__dirname, 'getEscapeRequestsCount.gql'), 'utf8'); +export const getEscapeRequests = fs.readFileSync(path.join(__dirname, 'getEscapeRequests.gql'), 'utf8'); export const getOwner = fs.readFileSync(path.join(__dirname, 'getOwner.gql'), 'utf8'); export const isOwner = fs.readFileSync(path.join(__dirname, 'isOwner.gql'), 'utf8'); export const getOwnedPointCount = fs.readFileSync(path.join(__dirname, 'getOwnedPointCount.gql'), 'utf8'); +export const getOwnedPoints = fs.readFileSync(path.join(__dirname, 'getOwnedPoints.gql'), 'utf8'); export const getOwnedPointAtIndex = fs.readFileSync(path.join(__dirname, 'getOwnedPointAtIndex.gql'), 'utf8'); export const getManagementProxy = fs.readFileSync(path.join(__dirname, 'getManagementProxy.gql'), 'utf8'); export const isManagementProxy = fs.readFileSync(path.join(__dirname, 'isManagementProxy.gql'), 'utf8'); export const canManage = fs.readFileSync(path.join(__dirname, 'canManage.gql'), 'utf8'); export const getManagerForCount = fs.readFileSync(path.join(__dirname, 'getManagerForCount.gql'), 'utf8'); +export const getManagerFor = fs.readFileSync(path.join(__dirname, 'getManagerFor.gql'), 'utf8'); export const getSpawnProxy = fs.readFileSync(path.join(__dirname, 'getSpawnProxy.gql'), 'utf8'); export const isSpawnProxy = fs.readFileSync(path.join(__dirname, 'isSpawnProxy.gql'), 'utf8'); export const canSpawnAs = fs.readFileSync(path.join(__dirname, 'canSpawnAs.gql'), 'utf8'); export const getSpawningForCount = fs.readFileSync(path.join(__dirname, 'getSpawningForCount.gql'), 'utf8'); +export const getSpawningFor = fs.readFileSync(path.join(__dirname, 'getSpawningFor.gql'), 'utf8'); export const getVotingProxy = fs.readFileSync(path.join(__dirname, 'getVotingProxy.gql'), 'utf8'); export const isVotingProxy = fs.readFileSync(path.join(__dirname, 'isVotingProxy.gql'), 'utf8'); export const canVoteAs = fs.readFileSync(path.join(__dirname, 'canVoteAs.gql'), 'utf8'); export const getVotingForCount = fs.readFileSync(path.join(__dirname, 'getVotingForCount.gql'), 'utf8'); +export const getVotingFor = fs.readFileSync(path.join(__dirname, 'getVotingFor.gql'), 'utf8'); export const getTransferProxy = fs.readFileSync(path.join(__dirname, 'getTransferProxy.gql'), 'utf8'); export const isTransferProxy = fs.readFileSync(path.join(__dirname, 'isTransferProxy.gql'), 'utf8'); export const canTransfer = fs.readFileSync(path.join(__dirname, 'canTransfer.gql'), 'utf8'); export const getTransferringForCount = fs.readFileSync(path.join(__dirname, 'getTransferringForCount.gql'), 'utf8'); +export const getTransferringFor = fs.readFileSync(path.join(__dirname, 'getTransferringFor.gql'), 'utf8'); export const isOperator = fs.readFileSync(path.join(__dirname, 'isOperator.gql'), 'utf8'); export const getSyncStatus = fs.readFileSync(path.join(__dirname, 'getSyncStatus.gql'), 'utf8'); export const getStateByCID = fs.readFileSync(path.join(__dirname, 'getStateByCID.gql'), 'utf8'); diff --git a/packages/azimuth-watcher/src/gql/queries/isActive.gql b/packages/azimuth-watcher/src/gql/queries/isActive.gql index fe365a4..74bc87f 100644 --- a/packages/azimuth-watcher/src/gql/queries/isActive.gql +++ b/packages/azimuth-watcher/src/gql/queries/isActive.gql @@ -1,4 +1,4 @@ -query isActive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isActive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isActive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/isEscaping.gql b/packages/azimuth-watcher/src/gql/queries/isEscaping.gql index 89113e6..4ed499f 100644 --- a/packages/azimuth-watcher/src/gql/queries/isEscaping.gql +++ b/packages/azimuth-watcher/src/gql/queries/isEscaping.gql @@ -1,4 +1,4 @@ -query isEscaping($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isEscaping($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isEscaping(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/isLive.gql b/packages/azimuth-watcher/src/gql/queries/isLive.gql index ceaa49e..78a61fd 100644 --- a/packages/azimuth-watcher/src/gql/queries/isLive.gql +++ b/packages/azimuth-watcher/src/gql/queries/isLive.gql @@ -1,4 +1,4 @@ -query isLive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isLive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isLive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/isManagementProxy.gql b/packages/azimuth-watcher/src/gql/queries/isManagementProxy.gql index c3484d6..64b7656 100644 --- a/packages/azimuth-watcher/src/gql/queries/isManagementProxy.gql +++ b/packages/azimuth-watcher/src/gql/queries/isManagementProxy.gql @@ -1,4 +1,4 @@ -query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/isOwner.gql b/packages/azimuth-watcher/src/gql/queries/isOwner.gql index 84dfc3b..9378225 100644 --- a/packages/azimuth-watcher/src/gql/queries/isOwner.gql +++ b/packages/azimuth-watcher/src/gql/queries/isOwner.gql @@ -1,4 +1,4 @@ -query isOwner($blockHash: String!, $contractAddress: String!, $_point: Int!, $_address: String!){ +query isOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_address: String!){ isOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _address: $_address){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/isRequestingEscapeTo.gql b/packages/azimuth-watcher/src/gql/queries/isRequestingEscapeTo.gql index bb2d6dd..f1c9afb 100644 --- a/packages/azimuth-watcher/src/gql/queries/isRequestingEscapeTo.gql +++ b/packages/azimuth-watcher/src/gql/queries/isRequestingEscapeTo.gql @@ -1,4 +1,4 @@ -query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isRequestingEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/isSpawnProxy.gql b/packages/azimuth-watcher/src/gql/queries/isSpawnProxy.gql index 161923d..2223af6 100644 --- a/packages/azimuth-watcher/src/gql/queries/isSpawnProxy.gql +++ b/packages/azimuth-watcher/src/gql/queries/isSpawnProxy.gql @@ -1,4 +1,4 @@ -query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/isSponsor.gql b/packages/azimuth-watcher/src/gql/queries/isSponsor.gql index 4daff70..3e1b3cc 100644 --- a/packages/azimuth-watcher/src/gql/queries/isSponsor.gql +++ b/packages/azimuth-watcher/src/gql/queries/isSponsor.gql @@ -1,4 +1,4 @@ -query isSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/isTransferProxy.gql b/packages/azimuth-watcher/src/gql/queries/isTransferProxy.gql index 1057968..feccdf0 100644 --- a/packages/azimuth-watcher/src/gql/queries/isTransferProxy.gql +++ b/packages/azimuth-watcher/src/gql/queries/isTransferProxy.gql @@ -1,4 +1,4 @@ -query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/azimuth-watcher/src/gql/queries/isVotingProxy.gql b/packages/azimuth-watcher/src/gql/queries/isVotingProxy.gql index 28bdb0f..3bf33c8 100644 --- a/packages/azimuth-watcher/src/gql/queries/isVotingProxy.gql +++ b/packages/azimuth-watcher/src/gql/queries/isVotingProxy.gql @@ -1,4 +1,4 @@ -query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/azimuth-watcher/src/indexer.ts b/packages/azimuth-watcher/src/indexer.ts index 06d4c75..ddd6ae8 100644 --- a/packages/azimuth-watcher/src/indexer.ts +++ b/packages/azimuth-watcher/src/indexer.ts @@ -94,7 +94,7 @@ export class Indexer implements IndexerInterface { return getResultEvent(event); } - async isActive (blockHash: string, contractAddress: string, _point: number): Promise { + async isActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsActive({ blockHash, contractAddress, _point }); if (entity) { log('isActive: db hit.'); @@ -123,7 +123,7 @@ export class Indexer implements IndexerInterface { return result; } - async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetKeyRevisionNumber({ blockHash, contractAddress, _point }); if (entity) { log('getKeyRevisionNumber: db hit.'); @@ -143,7 +143,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + let value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -152,7 +154,7 @@ export class Indexer implements IndexerInterface { return result; } - async hasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async hasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasBeenLinked({ blockHash, contractAddress, _point }); if (entity) { log('hasBeenLinked: db hit.'); @@ -181,7 +183,7 @@ export class Indexer implements IndexerInterface { return result; } - async isLive (blockHash: string, contractAddress: string, _point: number): Promise { + async isLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsLive({ blockHash, contractAddress, _point }); if (entity) { log('isLive: db hit.'); @@ -210,7 +212,7 @@ export class Indexer implements IndexerInterface { return result; } - async getContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetContinuityNumber({ blockHash, contractAddress, _point }); if (entity) { log('getContinuityNumber: db hit.'); @@ -230,7 +232,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + let value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -239,7 +243,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnCount({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnCount: db hit.'); @@ -259,7 +263,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + let value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -268,7 +274,25 @@ export class Indexer implements IndexerInterface { return result; } - async hasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawned (blockHash: string, contractAddress: string, _point: bigint): Promise { + log('getSpawned: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_AZIMUTH); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawned(_point, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async hasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasSponsor({ blockHash, contractAddress, _point }); if (entity) { log('hasSponsor: db hit.'); @@ -297,7 +321,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSponsor({ blockHash, contractAddress, _point }); if (entity) { log('getSponsor: db hit.'); @@ -317,7 +341,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSponsor(_point, { blockTag: blockHash }); + let value = await contract.getSponsor(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -326,7 +352,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsSponsor({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isSponsor: db hit.'); @@ -355,7 +381,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetSponsoringCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getSponsoringCount: db hit.'); @@ -386,7 +412,25 @@ export class Indexer implements IndexerInterface { return result; } - async isEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsoring (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getSponsoring: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_AZIMUTH); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSponsoring(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async isEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsEscaping({ blockHash, contractAddress, _point }); if (entity) { log('isEscaping: db hit.'); @@ -415,7 +459,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetEscapeRequest({ blockHash, contractAddress, _point }); if (entity) { log('getEscapeRequest: db hit.'); @@ -435,7 +479,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + let value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -444,7 +490,7 @@ export class Indexer implements IndexerInterface { return result; } - async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsRequestingEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isRequestingEscapeTo: db hit.'); @@ -473,7 +519,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetEscapeRequestsCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getEscapeRequestsCount: db hit.'); @@ -504,7 +550,25 @@ export class Indexer implements IndexerInterface { return result; } - async getOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequests (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getEscapeRequests: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_AZIMUTH); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getEscapeRequests(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetOwner({ blockHash, contractAddress, _point }); if (entity) { log('getOwner: db hit.'); @@ -533,7 +597,7 @@ export class Indexer implements IndexerInterface { return result; } - async isOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async isOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const entity = await this._db.getIsOwner({ blockHash, contractAddress, _point, _address }); if (entity) { log('isOwner: db hit.'); @@ -593,6 +657,24 @@ export class Indexer implements IndexerInterface { return result; } + async getOwnedPoints (blockHash: string, contractAddress: string, _whose: string): Promise { + log('getOwnedPoints: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_AZIMUTH); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getOwnedPoints(_whose, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async getOwnedPointAtIndex (blockHash: string, contractAddress: string, _whose: string, _index: bigint): Promise { const entity = await this._db.getGetOwnedPointAtIndex({ blockHash, contractAddress, _whose, _index }); if (entity) { @@ -613,7 +695,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + let value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -622,7 +706,7 @@ export class Indexer implements IndexerInterface { return result; } - async getManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetManagementProxy({ blockHash, contractAddress, _point }); if (entity) { log('getManagementProxy: db hit.'); @@ -651,7 +735,7 @@ export class Indexer implements IndexerInterface { return result; } - async isManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsManagementProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isManagementProxy: db hit.'); @@ -680,7 +764,7 @@ export class Indexer implements IndexerInterface { return result; } - async canManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanManage({ blockHash, contractAddress, _point, _who }); if (entity) { log('canManage: db hit.'); @@ -740,7 +824,25 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagerFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getManagerFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_AZIMUTH); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getManagerFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnProxy({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnProxy: db hit.'); @@ -769,7 +871,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsSpawnProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isSpawnProxy: db hit.'); @@ -798,7 +900,7 @@ export class Indexer implements IndexerInterface { return result; } - async canSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanSpawnAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canSpawnAs: db hit.'); @@ -858,7 +960,25 @@ export class Indexer implements IndexerInterface { return result; } - async getVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawningFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getSpawningFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_AZIMUTH); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawningFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetVotingProxy({ blockHash, contractAddress, _point }); if (entity) { log('getVotingProxy: db hit.'); @@ -887,7 +1007,7 @@ export class Indexer implements IndexerInterface { return result; } - async isVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsVotingProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isVotingProxy: db hit.'); @@ -916,7 +1036,7 @@ export class Indexer implements IndexerInterface { return result; } - async canVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanVoteAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canVoteAs: db hit.'); @@ -976,7 +1096,25 @@ export class Indexer implements IndexerInterface { return result; } - async getTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getVotingFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getVotingFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_AZIMUTH); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getVotingFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetTransferProxy({ blockHash, contractAddress, _point }); if (entity) { log('getTransferProxy: db hit.'); @@ -1005,7 +1143,7 @@ export class Indexer implements IndexerInterface { return result; } - async isTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsTransferProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isTransferProxy: db hit.'); @@ -1034,7 +1172,7 @@ export class Indexer implements IndexerInterface { return result; } - async canTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanTransfer({ blockHash, contractAddress, _point, _who }); if (entity) { log('canTransfer: db hit.'); @@ -1094,6 +1232,24 @@ export class Indexer implements IndexerInterface { return result; } + async getTransferringFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getTransferringFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_AZIMUTH); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getTransferringFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async isOperator (blockHash: string, contractAddress: string, _owner: string, _operator: string): Promise { const entity = await this._db.getIsOperator({ blockHash, contractAddress, _owner, _operator }); if (entity) { diff --git a/packages/azimuth-watcher/src/resolvers.ts b/packages/azimuth-watcher/src/resolvers.ts index e3b3115..020ac3e 100644 --- a/packages/azimuth-watcher/src/resolvers.ts +++ b/packages/azimuth-watcher/src/resolvers.ts @@ -71,7 +71,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher Query: { isActive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -87,7 +87,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getKeyRevisionNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -103,7 +103,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher hasBeenLinked: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -119,7 +119,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isLive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -135,7 +135,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getContinuityNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -151,7 +151,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnCount: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -165,9 +165,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawnCount(blockHash, contractAddress, _point); }, + getSpawned: ( + _: any, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawned', blockHash, contractAddress, _point); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawned').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawned(blockHash, contractAddress, _point); + }, + hasSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -183,7 +199,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -199,7 +215,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSponsor: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -215,7 +231,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsoringCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -229,9 +245,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSponsoringCount(blockHash, contractAddress, _sponsor); }, + getSponsoring: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSponsoring', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSponsoring').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSponsoring(blockHash, contractAddress, _sponsor); + }, + isEscaping: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -247,7 +279,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequest: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -263,7 +295,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isRequestingEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -279,7 +311,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequestsCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -293,9 +325,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getEscapeRequestsCount(blockHash, contractAddress, _sponsor); }, + getEscapeRequests: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getEscapeRequests', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getEscapeRequests').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getEscapeRequests(blockHash, contractAddress, _sponsor); + }, + getOwner: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -311,7 +359,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isOwner: ( _: any, - { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }, + { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -341,6 +389,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getOwnedPointCount(blockHash, contractAddress, _whose); }, + getOwnedPoints: ( + _: any, + { blockHash, contractAddress, _whose }: { blockHash: string, contractAddress: string, _whose: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getOwnedPoints', blockHash, contractAddress, _whose); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getOwnedPoints').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getOwnedPoints(blockHash, contractAddress, _whose); + }, + getOwnedPointAtIndex: ( _: any, { blockHash, contractAddress, _whose, _index }: { blockHash: string, contractAddress: string, _whose: string, _index: bigint }, @@ -359,7 +423,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getManagementProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -375,7 +439,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isManagementProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -391,7 +455,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canManage: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -421,9 +485,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getManagerForCount(blockHash, contractAddress, _proxy); }, + getManagerFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getManagerFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getManagerFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getManagerFor(blockHash, contractAddress, _proxy); + }, + getSpawnProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -439,7 +519,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSpawnProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -455,7 +535,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canSpawnAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -485,9 +565,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawningForCount(blockHash, contractAddress, _proxy); }, + getSpawningFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawningFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawningFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawningFor(blockHash, contractAddress, _proxy); + }, + getVotingProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -503,7 +599,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isVotingProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -519,7 +615,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canVoteAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -549,9 +645,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getVotingForCount(blockHash, contractAddress, _proxy); }, + getVotingFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getVotingFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getVotingFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getVotingFor(blockHash, contractAddress, _proxy); + }, + getTransferProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -567,7 +679,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isTransferProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -583,7 +695,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canTransfer: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -613,6 +725,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getTransferringForCount(blockHash, contractAddress, _proxy); }, + getTransferringFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getTransferringFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getTransferringFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getTransferringFor(blockHash, contractAddress, _proxy); + }, + isOperator: ( _: any, { blockHash, contractAddress, _owner, _operator }: { blockHash: string, contractAddress: string, _owner: string, _operator: string }, diff --git a/packages/azimuth-watcher/src/schema.gql b/packages/azimuth-watcher/src/schema.gql index 7a0ec4b..aaea52e 100644 --- a/packages/azimuth-watcher/src/schema.gql +++ b/packages/azimuth-watcher/src/schema.gql @@ -15,26 +15,6 @@ type Proof { data: String! } -type ResultBoolean { - value: Boolean! - proof: Proof -} - -type ResultString { - value: String! - proof: Proof -} - -type ResultInt { - value: Int! - proof: Proof -} - -type ResultBigInt { - value: BigInt! - proof: Proof -} - type _Block_ { cid: String! hash: String! @@ -62,69 +42,69 @@ type ResultEvent { union Event = OwnerChangedEvent | ActivatedEvent | SpawnedEvent | EscapeRequestedEvent | EscapeCanceledEvent | EscapeAcceptedEvent | LostSponsorEvent | ChangedKeysEvent | BrokeContinuityEvent | ChangedSpawnProxyEvent | ChangedTransferProxyEvent | ChangedManagementProxyEvent | ChangedVotingProxyEvent | ChangedDnsEvent | OwnershipRenouncedEvent | OwnershipTransferredEvent type OwnerChangedEvent { - point: Int! + point: BigInt! owner: String! } type ActivatedEvent { - point: Int! + point: BigInt! } type SpawnedEvent { - prefix: Int! - child: Int! + prefix: BigInt! + child: BigInt! } type EscapeRequestedEvent { - point: Int! - sponsor: Int! + point: BigInt! + sponsor: BigInt! } type EscapeCanceledEvent { - point: Int! - sponsor: Int! + point: BigInt! + sponsor: BigInt! } type EscapeAcceptedEvent { - point: Int! - sponsor: Int! + point: BigInt! + sponsor: BigInt! } type LostSponsorEvent { - point: Int! - sponsor: Int! + point: BigInt! + sponsor: BigInt! } type ChangedKeysEvent { - point: Int! + point: BigInt! encryptionKey: String! authenticationKey: String! - cryptoSuiteVersion: Int! - keyRevisionNumber: Int! + cryptoSuiteVersion: BigInt! + keyRevisionNumber: BigInt! } type BrokeContinuityEvent { - point: Int! - number: Int! + point: BigInt! + number: BigInt! } type ChangedSpawnProxyEvent { - point: Int! + point: BigInt! spawnProxy: String! } type ChangedTransferProxyEvent { - point: Int! + point: BigInt! transferProxy: String! } type ChangedManagementProxyEvent { - point: Int! + point: BigInt! managementProxy: String! } type ChangedVotingProxyEvent { - point: Int! + point: BigInt! votingProxy: String! } @@ -161,46 +141,74 @@ type ResultState { type Query { events(blockHash: String!, contractAddress: String!, name: String): [ResultEvent!] eventsInRange(fromBlockNumber: Int!, toBlockNumber: Int!): [ResultEvent!] - isActive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasBeenLinked(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - isLive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getContinuityNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - getSpawnCount(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isSponsor(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - isEscaping(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getEscapeRequest(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - getOwner(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isOwner(blockHash: String!, contractAddress: String!, _point: Int!, _address: String!): ResultBoolean! + isActive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + hasBeenLinked(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + isLive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getContinuityNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawnCount(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawned(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigIntArray! + hasSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getSponsoring(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + isEscaping(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getEscapeRequest(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getEscapeRequests(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + getOwner(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isOwner(blockHash: String!, contractAddress: String!, _point: BigInt!, _address: String!): ResultBoolean! getOwnedPointCount(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigInt! - getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultInt! - getManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canManage(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getOwnedPoints(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigIntArray! + getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultBigInt! + getManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canManage(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getManagerForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canSpawnAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getManagerFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canSpawnAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getSpawningForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canVoteAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getSpawningFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canVoteAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getVotingForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canTransfer(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getVotingFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canTransfer(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getTransferringForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! + getTransferringFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! isOperator(blockHash: String!, contractAddress: String!, _owner: String!, _operator: String!): ResultBoolean! getSyncStatus: SyncStatus getStateByCID(cid: String!): ResultState getState(blockHash: String!, contractAddress: String!, kind: String): ResultState } +type ResultBoolean { + value: Boolean! + proof: Proof +} + +type ResultBigInt { + value: BigInt! + proof: Proof +} + +type ResultBigIntArray { + value: [BigInt!]! + proof: Proof +} + +type ResultString { + value: String! + proof: Proof +} + type Mutation { watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean! } diff --git a/packages/censures-watcher/README.md b/packages/censures-watcher/README.md index 3466cbb..29bf664 100644 --- a/packages/censures-watcher/README.md +++ b/packages/censures-watcher/README.md @@ -1,13 +1,5 @@ # censures-watcher -## Currently unsupported queries - -The watcher was generated in `eth_call` mode and does not support the following queries in its current state: - -* `getCensuring(uint16 _whose) returns (uint32[] cens)` - -* `getCensuredBy(uint16 _who) returns (uint16[] cens)` - ## Setup * Run the following command to install required packages: diff --git a/packages/censures-watcher/package.json b/packages/censures-watcher/package.json index fc64e13..7752b7d 100644 --- a/packages/censures-watcher/package.json +++ b/packages/censures-watcher/package.json @@ -5,7 +5,7 @@ "private": true, "main": "dist/index.js", "scripts": { - "lint": "eslint .", + "lint": "eslint --max-warnings=0 .", "build": "yarn clean && tsc && yarn copy-assets", "clean": "rm -rf ./dist", "copy-assets": "copyfiles -u 1 src/**/*.gql dist/", @@ -38,10 +38,10 @@ "dependencies": { "@apollo/client": "^3.3.19", "@ethersproject/providers": "^5.4.4", - "@cerc-io/cli": "^0.2.34", - "@cerc-io/ipld-eth-client": "^0.2.34", - "@cerc-io/solidity-mapper": "^0.2.34", - "@cerc-io/util": "^0.2.34", + "@cerc-io/cli": "^0.2.39", + "@cerc-io/ipld-eth-client": "^0.2.39", + "@cerc-io/solidity-mapper": "^0.2.39", + "@cerc-io/util": "^0.2.39", "apollo-type-bigint": "^0.1.3", "debug": "^4.3.1", "ethers": "^5.4.4", @@ -56,7 +56,7 @@ "@ethersproject/abi": "^5.3.0", "@types/yargs": "^17.0.0", "@types/debug": "^4.1.5", - "@types/json-bigint": "^1.0.1", + "@types/json-bigint": "^1.0.0", "@typescript-eslint/eslint-plugin": "^5.47.1", "@typescript-eslint/parser": "^5.47.1", "eslint": "^8.35.0", diff --git a/packages/censures-watcher/src/client.ts b/packages/censures-watcher/src/client.ts index 0cde111..5ff346a 100644 --- a/packages/censures-watcher/src/client.ts +++ b/packages/censures-watcher/src/client.ts @@ -17,7 +17,7 @@ export class Client { this._client = new GraphQLClient(config); } - async getIsActive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isActive } = await this._client.query( gql(queries.isActive), { blockHash, contractAddress, _point } @@ -26,7 +26,7 @@ export class Client { return isActive; } - async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getKeyRevisionNumber } = await this._client.query( gql(queries.getKeyRevisionNumber), { blockHash, contractAddress, _point } @@ -35,7 +35,7 @@ export class Client { return getKeyRevisionNumber; } - async getHasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasBeenLinked } = await this._client.query( gql(queries.hasBeenLinked), { blockHash, contractAddress, _point } @@ -44,7 +44,7 @@ export class Client { return hasBeenLinked; } - async getIsLive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isLive } = await this._client.query( gql(queries.isLive), { blockHash, contractAddress, _point } @@ -53,7 +53,7 @@ export class Client { return isLive; } - async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getContinuityNumber } = await this._client.query( gql(queries.getContinuityNumber), { blockHash, contractAddress, _point } @@ -62,7 +62,7 @@ export class Client { return getContinuityNumber; } - async getGetSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnCount } = await this._client.query( gql(queries.getSpawnCount), { blockHash, contractAddress, _point } @@ -71,7 +71,7 @@ export class Client { return getSpawnCount; } - async getHasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasSponsor } = await this._client.query( gql(queries.hasSponsor), { blockHash, contractAddress, _point } @@ -80,7 +80,7 @@ export class Client { return hasSponsor; } - async getGetSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSponsor } = await this._client.query( gql(queries.getSponsor), { blockHash, contractAddress, _point } @@ -89,7 +89,7 @@ export class Client { return getSponsor; } - async getIsSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isSponsor } = await this._client.query( gql(queries.isSponsor), { blockHash, contractAddress, _point, _sponsor } @@ -98,7 +98,7 @@ export class Client { return isSponsor; } - async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getSponsoringCount } = await this._client.query( gql(queries.getSponsoringCount), { blockHash, contractAddress, _sponsor } @@ -107,7 +107,7 @@ export class Client { return getSponsoringCount; } - async getIsEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isEscaping } = await this._client.query( gql(queries.isEscaping), { blockHash, contractAddress, _point } @@ -116,7 +116,7 @@ export class Client { return isEscaping; } - async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getEscapeRequest } = await this._client.query( gql(queries.getEscapeRequest), { blockHash, contractAddress, _point } @@ -125,7 +125,7 @@ export class Client { return getEscapeRequest; } - async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isRequestingEscapeTo } = await this._client.query( gql(queries.isRequestingEscapeTo), { blockHash, contractAddress, _point, _sponsor } @@ -134,7 +134,7 @@ export class Client { return isRequestingEscapeTo; } - async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getEscapeRequestsCount } = await this._client.query( gql(queries.getEscapeRequestsCount), { blockHash, contractAddress, _sponsor } @@ -143,7 +143,7 @@ export class Client { return getEscapeRequestsCount; } - async getGetOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getOwner } = await this._client.query( gql(queries.getOwner), { blockHash, contractAddress, _point } @@ -152,7 +152,7 @@ export class Client { return getOwner; } - async getIsOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async getIsOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const { isOwner } = await this._client.query( gql(queries.isOwner), { blockHash, contractAddress, _point, _address } @@ -179,7 +179,7 @@ export class Client { return getOwnedPointAtIndex; } - async getGetManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getManagementProxy } = await this._client.query( gql(queries.getManagementProxy), { blockHash, contractAddress, _point } @@ -188,7 +188,7 @@ export class Client { return getManagementProxy; } - async getIsManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isManagementProxy } = await this._client.query( gql(queries.isManagementProxy), { blockHash, contractAddress, _point, _proxy } @@ -197,7 +197,7 @@ export class Client { return isManagementProxy; } - async getCanManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canManage } = await this._client.query( gql(queries.canManage), { blockHash, contractAddress, _point, _who } @@ -215,7 +215,7 @@ export class Client { return getManagerForCount; } - async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnProxy } = await this._client.query( gql(queries.getSpawnProxy), { blockHash, contractAddress, _point } @@ -224,7 +224,7 @@ export class Client { return getSpawnProxy; } - async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isSpawnProxy } = await this._client.query( gql(queries.isSpawnProxy), { blockHash, contractAddress, _point, _proxy } @@ -233,7 +233,7 @@ export class Client { return isSpawnProxy; } - async getCanSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canSpawnAs } = await this._client.query( gql(queries.canSpawnAs), { blockHash, contractAddress, _point, _who } @@ -251,7 +251,7 @@ export class Client { return getSpawningForCount; } - async getGetVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getVotingProxy } = await this._client.query( gql(queries.getVotingProxy), { blockHash, contractAddress, _point } @@ -260,7 +260,7 @@ export class Client { return getVotingProxy; } - async getIsVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isVotingProxy } = await this._client.query( gql(queries.isVotingProxy), { blockHash, contractAddress, _point, _proxy } @@ -269,7 +269,7 @@ export class Client { return isVotingProxy; } - async getCanVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canVoteAs } = await this._client.query( gql(queries.canVoteAs), { blockHash, contractAddress, _point, _who } @@ -287,7 +287,7 @@ export class Client { return getVotingForCount; } - async getGetTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getTransferProxy } = await this._client.query( gql(queries.getTransferProxy), { blockHash, contractAddress, _point } @@ -296,7 +296,7 @@ export class Client { return getTransferProxy; } - async getIsTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isTransferProxy } = await this._client.query( gql(queries.isTransferProxy), { blockHash, contractAddress, _point, _proxy } @@ -305,7 +305,7 @@ export class Client { return isTransferProxy; } - async getCanTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canTransfer } = await this._client.query( gql(queries.canTransfer), { blockHash, contractAddress, _point, _who } diff --git a/packages/censures-watcher/src/database.ts b/packages/censures-watcher/src/database.ts index 728aaa6..562a618 100644 --- a/packages/censures-watcher/src/database.ts +++ b/packages/censures-watcher/src/database.ts @@ -91,7 +91,7 @@ export class Database implements DatabaseInterface { return this._baseDatabase.close(); } - async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsActive) .findOne({ blockHash, @@ -100,7 +100,7 @@ export class Database implements DatabaseInterface { }); } - async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetKeyRevisionNumber) .findOne({ blockHash, @@ -109,7 +109,7 @@ export class Database implements DatabaseInterface { }); } - async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasBeenLinked) .findOne({ blockHash, @@ -118,7 +118,7 @@ export class Database implements DatabaseInterface { }); } - async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsLive) .findOne({ blockHash, @@ -127,7 +127,7 @@ export class Database implements DatabaseInterface { }); } - async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetContinuityNumber) .findOne({ blockHash, @@ -136,7 +136,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnCount) .findOne({ blockHash, @@ -145,7 +145,7 @@ export class Database implements DatabaseInterface { }); } - async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasSponsor) .findOne({ blockHash, @@ -154,7 +154,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSponsor) .findOne({ blockHash, @@ -163,7 +163,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsSponsor) .findOne({ blockHash, @@ -173,7 +173,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetSponsoringCount) .findOne({ blockHash, @@ -182,7 +182,7 @@ export class Database implements DatabaseInterface { }); } - async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsEscaping) .findOne({ blockHash, @@ -191,7 +191,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetEscapeRequest) .findOne({ blockHash, @@ -200,7 +200,7 @@ export class Database implements DatabaseInterface { }); } - async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsRequestingEscapeTo) .findOne({ blockHash, @@ -210,7 +210,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetEscapeRequestsCount) .findOne({ blockHash, @@ -219,7 +219,7 @@ export class Database implements DatabaseInterface { }); } - async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetOwner) .findOne({ blockHash, @@ -228,7 +228,7 @@ export class Database implements DatabaseInterface { }); } - async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }): Promise { + async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }): Promise { return this._conn.getRepository(IsOwner) .findOne({ blockHash, @@ -257,7 +257,7 @@ export class Database implements DatabaseInterface { }); } - async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetManagementProxy) .findOne({ blockHash, @@ -266,7 +266,7 @@ export class Database implements DatabaseInterface { }); } - async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsManagementProxy) .findOne({ blockHash, @@ -276,7 +276,7 @@ export class Database implements DatabaseInterface { }); } - async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanManage) .findOne({ blockHash, @@ -295,7 +295,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnProxy) .findOne({ blockHash, @@ -304,7 +304,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsSpawnProxy) .findOne({ blockHash, @@ -314,7 +314,7 @@ export class Database implements DatabaseInterface { }); } - async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanSpawnAs) .findOne({ blockHash, @@ -333,7 +333,7 @@ export class Database implements DatabaseInterface { }); } - async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetVotingProxy) .findOne({ blockHash, @@ -342,7 +342,7 @@ export class Database implements DatabaseInterface { }); } - async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsVotingProxy) .findOne({ blockHash, @@ -352,7 +352,7 @@ export class Database implements DatabaseInterface { }); } - async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanVoteAs) .findOne({ blockHash, @@ -371,7 +371,7 @@ export class Database implements DatabaseInterface { }); } - async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetTransferProxy) .findOne({ blockHash, @@ -380,7 +380,7 @@ export class Database implements DatabaseInterface { }); } - async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsTransferProxy) .findOne({ blockHash, @@ -390,7 +390,7 @@ export class Database implements DatabaseInterface { }); } - async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanTransfer) .findOne({ blockHash, diff --git a/packages/censures-watcher/src/entity/CanManage.ts b/packages/censures-watcher/src/entity/CanManage.ts index 2ad7b1b..442f5bc 100644 --- a/packages/censures-watcher/src/entity/CanManage.ts +++ b/packages/censures-watcher/src/entity/CanManage.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanManage { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/censures-watcher/src/entity/CanSpawnAs.ts b/packages/censures-watcher/src/entity/CanSpawnAs.ts index 9163537..09c21c4 100644 --- a/packages/censures-watcher/src/entity/CanSpawnAs.ts +++ b/packages/censures-watcher/src/entity/CanSpawnAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanSpawnAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/censures-watcher/src/entity/CanTransfer.ts b/packages/censures-watcher/src/entity/CanTransfer.ts index 82fb96e..17ecc02 100644 --- a/packages/censures-watcher/src/entity/CanTransfer.ts +++ b/packages/censures-watcher/src/entity/CanTransfer.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanTransfer { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/censures-watcher/src/entity/CanVoteAs.ts b/packages/censures-watcher/src/entity/CanVoteAs.ts index 956d249..b9519df 100644 --- a/packages/censures-watcher/src/entity/CanVoteAs.ts +++ b/packages/censures-watcher/src/entity/CanVoteAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanVoteAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/censures-watcher/src/entity/GetContinuityNumber.ts b/packages/censures-watcher/src/entity/GetContinuityNumber.ts index 27c158a..d4d3fb9 100644 --- a/packages/censures-watcher/src/entity/GetContinuityNumber.ts +++ b/packages/censures-watcher/src/entity/GetContinuityNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetContinuityNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/censures-watcher/src/entity/GetEscapeRequest.ts b/packages/censures-watcher/src/entity/GetEscapeRequest.ts index 09eb1d9..d2ed83d 100644 --- a/packages/censures-watcher/src/entity/GetEscapeRequest.ts +++ b/packages/censures-watcher/src/entity/GetEscapeRequest.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetEscapeRequest { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/censures-watcher/src/entity/GetEscapeRequestsCount.ts b/packages/censures-watcher/src/entity/GetEscapeRequestsCount.ts index 9e020db..2339c14 100644 --- a/packages/censures-watcher/src/entity/GetEscapeRequestsCount.ts +++ b/packages/censures-watcher/src/entity/GetEscapeRequestsCount.ts @@ -20,8 +20,8 @@ export class GetEscapeRequestsCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/censures-watcher/src/entity/GetKeyRevisionNumber.ts b/packages/censures-watcher/src/entity/GetKeyRevisionNumber.ts index ca5f269..9ea106d 100644 --- a/packages/censures-watcher/src/entity/GetKeyRevisionNumber.ts +++ b/packages/censures-watcher/src/entity/GetKeyRevisionNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetKeyRevisionNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/censures-watcher/src/entity/GetManagementProxy.ts b/packages/censures-watcher/src/entity/GetManagementProxy.ts index 310a4fb..73db456 100644 --- a/packages/censures-watcher/src/entity/GetManagementProxy.ts +++ b/packages/censures-watcher/src/entity/GetManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/censures-watcher/src/entity/GetOwnedPointAtIndex.ts b/packages/censures-watcher/src/entity/GetOwnedPointAtIndex.ts index cabc086..6aff916 100644 --- a/packages/censures-watcher/src/entity/GetOwnedPointAtIndex.ts +++ b/packages/censures-watcher/src/entity/GetOwnedPointAtIndex.ts @@ -26,8 +26,8 @@ export class GetOwnedPointAtIndex { @Column('numeric', { transformer: bigintTransformer }) _index!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/censures-watcher/src/entity/GetOwner.ts b/packages/censures-watcher/src/entity/GetOwner.ts index 00ff4df..04f3e9f 100644 --- a/packages/censures-watcher/src/entity/GetOwner.ts +++ b/packages/censures-watcher/src/entity/GetOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/censures-watcher/src/entity/GetSpawnCount.ts b/packages/censures-watcher/src/entity/GetSpawnCount.ts index 6cc44cc..314cfe6 100644 --- a/packages/censures-watcher/src/entity/GetSpawnCount.ts +++ b/packages/censures-watcher/src/entity/GetSpawnCount.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSpawnCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/censures-watcher/src/entity/GetSpawnProxy.ts b/packages/censures-watcher/src/entity/GetSpawnProxy.ts index d1e2cbd..7ee732c 100644 --- a/packages/censures-watcher/src/entity/GetSpawnProxy.ts +++ b/packages/censures-watcher/src/entity/GetSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/censures-watcher/src/entity/GetSponsor.ts b/packages/censures-watcher/src/entity/GetSponsor.ts index 3d964f9..a901174 100644 --- a/packages/censures-watcher/src/entity/GetSponsor.ts +++ b/packages/censures-watcher/src/entity/GetSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/censures-watcher/src/entity/GetSponsoringCount.ts b/packages/censures-watcher/src/entity/GetSponsoringCount.ts index 95dcbd9..c3e8c8c 100644 --- a/packages/censures-watcher/src/entity/GetSponsoringCount.ts +++ b/packages/censures-watcher/src/entity/GetSponsoringCount.ts @@ -20,8 +20,8 @@ export class GetSponsoringCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/censures-watcher/src/entity/GetTransferProxy.ts b/packages/censures-watcher/src/entity/GetTransferProxy.ts index f2dd7b2..1173349 100644 --- a/packages/censures-watcher/src/entity/GetTransferProxy.ts +++ b/packages/censures-watcher/src/entity/GetTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/censures-watcher/src/entity/GetVotingProxy.ts b/packages/censures-watcher/src/entity/GetVotingProxy.ts index c4a73e5..602d459 100644 --- a/packages/censures-watcher/src/entity/GetVotingProxy.ts +++ b/packages/censures-watcher/src/entity/GetVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/censures-watcher/src/entity/HasBeenLinked.ts b/packages/censures-watcher/src/entity/HasBeenLinked.ts index 4f897dc..38916ab 100644 --- a/packages/censures-watcher/src/entity/HasBeenLinked.ts +++ b/packages/censures-watcher/src/entity/HasBeenLinked.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasBeenLinked { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/censures-watcher/src/entity/HasSponsor.ts b/packages/censures-watcher/src/entity/HasSponsor.ts index ccc8875..eb479ea 100644 --- a/packages/censures-watcher/src/entity/HasSponsor.ts +++ b/packages/censures-watcher/src/entity/HasSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/censures-watcher/src/entity/IsActive.ts b/packages/censures-watcher/src/entity/IsActive.ts index 055e224..a725d12 100644 --- a/packages/censures-watcher/src/entity/IsActive.ts +++ b/packages/censures-watcher/src/entity/IsActive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsActive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/censures-watcher/src/entity/IsEscaping.ts b/packages/censures-watcher/src/entity/IsEscaping.ts index fb4c3bd..a3c704f 100644 --- a/packages/censures-watcher/src/entity/IsEscaping.ts +++ b/packages/censures-watcher/src/entity/IsEscaping.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsEscaping { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/censures-watcher/src/entity/IsLive.ts b/packages/censures-watcher/src/entity/IsLive.ts index 87ca00f..e3270e0 100644 --- a/packages/censures-watcher/src/entity/IsLive.ts +++ b/packages/censures-watcher/src/entity/IsLive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsLive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/censures-watcher/src/entity/IsManagementProxy.ts b/packages/censures-watcher/src/entity/IsManagementProxy.ts index 14ac477..e72a487 100644 --- a/packages/censures-watcher/src/entity/IsManagementProxy.ts +++ b/packages/censures-watcher/src/entity/IsManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/censures-watcher/src/entity/IsOwner.ts b/packages/censures-watcher/src/entity/IsOwner.ts index 81a6046..51aeaed 100644 --- a/packages/censures-watcher/src/entity/IsOwner.ts +++ b/packages/censures-watcher/src/entity/IsOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_address'], { unique: true }) @@ -19,8 +20,8 @@ export class IsOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _address!: string; diff --git a/packages/censures-watcher/src/entity/IsRequestingEscapeTo.ts b/packages/censures-watcher/src/entity/IsRequestingEscapeTo.ts index 58409ab..5c6385d 100644 --- a/packages/censures-watcher/src/entity/IsRequestingEscapeTo.ts +++ b/packages/censures-watcher/src/entity/IsRequestingEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsRequestingEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/censures-watcher/src/entity/IsSpawnProxy.ts b/packages/censures-watcher/src/entity/IsSpawnProxy.ts index 023ca72..d6ba37b 100644 --- a/packages/censures-watcher/src/entity/IsSpawnProxy.ts +++ b/packages/censures-watcher/src/entity/IsSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/censures-watcher/src/entity/IsSponsor.ts b/packages/censures-watcher/src/entity/IsSponsor.ts index a21b71c..9a615c4 100644 --- a/packages/censures-watcher/src/entity/IsSponsor.ts +++ b/packages/censures-watcher/src/entity/IsSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/censures-watcher/src/entity/IsTransferProxy.ts b/packages/censures-watcher/src/entity/IsTransferProxy.ts index b1613a4..904d2df 100644 --- a/packages/censures-watcher/src/entity/IsTransferProxy.ts +++ b/packages/censures-watcher/src/entity/IsTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/censures-watcher/src/entity/IsVotingProxy.ts b/packages/censures-watcher/src/entity/IsVotingProxy.ts index 172dd15..5cd6128 100644 --- a/packages/censures-watcher/src/entity/IsVotingProxy.ts +++ b/packages/censures-watcher/src/entity/IsVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/censures-watcher/src/gql/queries/canManage.gql b/packages/censures-watcher/src/gql/queries/canManage.gql index e52d71b..dad1626 100644 --- a/packages/censures-watcher/src/gql/queries/canManage.gql +++ b/packages/censures-watcher/src/gql/queries/canManage.gql @@ -1,4 +1,4 @@ -query canManage($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canManage($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canManage(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/canSpawnAs.gql b/packages/censures-watcher/src/gql/queries/canSpawnAs.gql index af9c463..040dd32 100644 --- a/packages/censures-watcher/src/gql/queries/canSpawnAs.gql +++ b/packages/censures-watcher/src/gql/queries/canSpawnAs.gql @@ -1,4 +1,4 @@ -query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canSpawnAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/canTransfer.gql b/packages/censures-watcher/src/gql/queries/canTransfer.gql index 14b39fa..994578f 100644 --- a/packages/censures-watcher/src/gql/queries/canTransfer.gql +++ b/packages/censures-watcher/src/gql/queries/canTransfer.gql @@ -1,4 +1,4 @@ -query canTransfer($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canTransfer($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canTransfer(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/canVoteAs.gql b/packages/censures-watcher/src/gql/queries/canVoteAs.gql index d2a79a9..87871a2 100644 --- a/packages/censures-watcher/src/gql/queries/canVoteAs.gql +++ b/packages/censures-watcher/src/gql/queries/canVoteAs.gql @@ -1,4 +1,4 @@ -query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canVoteAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getCensuredBy.gql b/packages/censures-watcher/src/gql/queries/getCensuredBy.gql new file mode 100644 index 0000000..41b8577 --- /dev/null +++ b/packages/censures-watcher/src/gql/queries/getCensuredBy.gql @@ -0,0 +1,8 @@ +query getCensuredBy($blockHash: String!, $contractAddress: String!, $_who: Int!){ + getCensuredBy(blockHash: $blockHash, contractAddress: $contractAddress, _who: $_who){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/censures-watcher/src/gql/queries/getCensuring.gql b/packages/censures-watcher/src/gql/queries/getCensuring.gql new file mode 100644 index 0000000..24a92a4 --- /dev/null +++ b/packages/censures-watcher/src/gql/queries/getCensuring.gql @@ -0,0 +1,8 @@ +query getCensuring($blockHash: String!, $contractAddress: String!, $_whose: Int!){ + getCensuring(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/censures-watcher/src/gql/queries/getContinuityNumber.gql b/packages/censures-watcher/src/gql/queries/getContinuityNumber.gql index 1ad5af4..244398d 100644 --- a/packages/censures-watcher/src/gql/queries/getContinuityNumber.gql +++ b/packages/censures-watcher/src/gql/queries/getContinuityNumber.gql @@ -1,4 +1,4 @@ -query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getContinuityNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getEscapeRequest.gql b/packages/censures-watcher/src/gql/queries/getEscapeRequest.gql index acf7e7b..7215f8b 100644 --- a/packages/censures-watcher/src/gql/queries/getEscapeRequest.gql +++ b/packages/censures-watcher/src/gql/queries/getEscapeRequest.gql @@ -1,4 +1,4 @@ -query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getEscapeRequest(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getEscapeRequests.gql b/packages/censures-watcher/src/gql/queries/getEscapeRequests.gql new file mode 100644 index 0000000..13b81ac --- /dev/null +++ b/packages/censures-watcher/src/gql/queries/getEscapeRequests.gql @@ -0,0 +1,8 @@ +query getEscapeRequests($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getEscapeRequests(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/censures-watcher/src/gql/queries/getEscapeRequestsCount.gql b/packages/censures-watcher/src/gql/queries/getEscapeRequestsCount.gql index 5b6e489..ca7f8ef 100644 --- a/packages/censures-watcher/src/gql/queries/getEscapeRequestsCount.gql +++ b/packages/censures-watcher/src/gql/queries/getEscapeRequestsCount.gql @@ -1,4 +1,4 @@ -query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getEscapeRequestsCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getKeyRevisionNumber.gql b/packages/censures-watcher/src/gql/queries/getKeyRevisionNumber.gql index ebcea96..fdccc8b 100644 --- a/packages/censures-watcher/src/gql/queries/getKeyRevisionNumber.gql +++ b/packages/censures-watcher/src/gql/queries/getKeyRevisionNumber.gql @@ -1,4 +1,4 @@ -query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getKeyRevisionNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getManagementProxy.gql b/packages/censures-watcher/src/gql/queries/getManagementProxy.gql index fd499b7..a9be364 100644 --- a/packages/censures-watcher/src/gql/queries/getManagementProxy.gql +++ b/packages/censures-watcher/src/gql/queries/getManagementProxy.gql @@ -1,4 +1,4 @@ -query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getManagerFor.gql b/packages/censures-watcher/src/gql/queries/getManagerFor.gql new file mode 100644 index 0000000..12e6ca0 --- /dev/null +++ b/packages/censures-watcher/src/gql/queries/getManagerFor.gql @@ -0,0 +1,8 @@ +query getManagerFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getManagerFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/censures-watcher/src/gql/queries/getOwnedPoints.gql b/packages/censures-watcher/src/gql/queries/getOwnedPoints.gql new file mode 100644 index 0000000..869ed24 --- /dev/null +++ b/packages/censures-watcher/src/gql/queries/getOwnedPoints.gql @@ -0,0 +1,8 @@ +query getOwnedPoints($blockHash: String!, $contractAddress: String!, $_whose: String!){ + getOwnedPoints(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/censures-watcher/src/gql/queries/getOwner.gql b/packages/censures-watcher/src/gql/queries/getOwner.gql index f20db27..cc665d0 100644 --- a/packages/censures-watcher/src/gql/queries/getOwner.gql +++ b/packages/censures-watcher/src/gql/queries/getOwner.gql @@ -1,4 +1,4 @@ -query getOwner($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getSpawnCount.gql b/packages/censures-watcher/src/gql/queries/getSpawnCount.gql index 2edcff0..f990551 100644 --- a/packages/censures-watcher/src/gql/queries/getSpawnCount.gql +++ b/packages/censures-watcher/src/gql/queries/getSpawnCount.gql @@ -1,4 +1,4 @@ -query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnCount(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getSpawnProxy.gql b/packages/censures-watcher/src/gql/queries/getSpawnProxy.gql index fe536b2..f542279 100644 --- a/packages/censures-watcher/src/gql/queries/getSpawnProxy.gql +++ b/packages/censures-watcher/src/gql/queries/getSpawnProxy.gql @@ -1,4 +1,4 @@ -query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getSpawned.gql b/packages/censures-watcher/src/gql/queries/getSpawned.gql new file mode 100644 index 0000000..ab9ea11 --- /dev/null +++ b/packages/censures-watcher/src/gql/queries/getSpawned.gql @@ -0,0 +1,8 @@ +query getSpawned($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ + getSpawned(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/censures-watcher/src/gql/queries/getSpawningFor.gql b/packages/censures-watcher/src/gql/queries/getSpawningFor.gql new file mode 100644 index 0000000..5059aa6 --- /dev/null +++ b/packages/censures-watcher/src/gql/queries/getSpawningFor.gql @@ -0,0 +1,8 @@ +query getSpawningFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getSpawningFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/censures-watcher/src/gql/queries/getSponsor.gql b/packages/censures-watcher/src/gql/queries/getSponsor.gql index 9843916..56a5305 100644 --- a/packages/censures-watcher/src/gql/queries/getSponsor.gql +++ b/packages/censures-watcher/src/gql/queries/getSponsor.gql @@ -1,4 +1,4 @@ -query getSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getSponsoring.gql b/packages/censures-watcher/src/gql/queries/getSponsoring.gql new file mode 100644 index 0000000..cb6a4b4 --- /dev/null +++ b/packages/censures-watcher/src/gql/queries/getSponsoring.gql @@ -0,0 +1,8 @@ +query getSponsoring($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getSponsoring(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/censures-watcher/src/gql/queries/getSponsoringCount.gql b/packages/censures-watcher/src/gql/queries/getSponsoringCount.gql index 3d070dd..ee62745 100644 --- a/packages/censures-watcher/src/gql/queries/getSponsoringCount.gql +++ b/packages/censures-watcher/src/gql/queries/getSponsoringCount.gql @@ -1,4 +1,4 @@ -query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getSponsoringCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getTransferProxy.gql b/packages/censures-watcher/src/gql/queries/getTransferProxy.gql index 852fd2f..c14c0ab 100644 --- a/packages/censures-watcher/src/gql/queries/getTransferProxy.gql +++ b/packages/censures-watcher/src/gql/queries/getTransferProxy.gql @@ -1,4 +1,4 @@ -query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/getTransferringFor.gql b/packages/censures-watcher/src/gql/queries/getTransferringFor.gql new file mode 100644 index 0000000..0911c39 --- /dev/null +++ b/packages/censures-watcher/src/gql/queries/getTransferringFor.gql @@ -0,0 +1,8 @@ +query getTransferringFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getTransferringFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/censures-watcher/src/gql/queries/getVotingFor.gql b/packages/censures-watcher/src/gql/queries/getVotingFor.gql new file mode 100644 index 0000000..30186d8 --- /dev/null +++ b/packages/censures-watcher/src/gql/queries/getVotingFor.gql @@ -0,0 +1,8 @@ +query getVotingFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getVotingFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/censures-watcher/src/gql/queries/getVotingProxy.gql b/packages/censures-watcher/src/gql/queries/getVotingProxy.gql index 1f2f38a..49d37ab 100644 --- a/packages/censures-watcher/src/gql/queries/getVotingProxy.gql +++ b/packages/censures-watcher/src/gql/queries/getVotingProxy.gql @@ -1,4 +1,4 @@ -query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/hasBeenLinked.gql b/packages/censures-watcher/src/gql/queries/hasBeenLinked.gql index e9da67e..a50505c 100644 --- a/packages/censures-watcher/src/gql/queries/hasBeenLinked.gql +++ b/packages/censures-watcher/src/gql/queries/hasBeenLinked.gql @@ -1,4 +1,4 @@ -query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasBeenLinked(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/hasSponsor.gql b/packages/censures-watcher/src/gql/queries/hasSponsor.gql index 3e804ed..0261c6e 100644 --- a/packages/censures-watcher/src/gql/queries/hasSponsor.gql +++ b/packages/censures-watcher/src/gql/queries/hasSponsor.gql @@ -1,4 +1,4 @@ -query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/index.ts b/packages/censures-watcher/src/gql/queries/index.ts index 0d8c794..47f34f3 100644 --- a/packages/censures-watcher/src/gql/queries/index.ts +++ b/packages/censures-watcher/src/gql/queries/index.ts @@ -9,37 +9,47 @@ export const hasBeenLinked = fs.readFileSync(path.join(__dirname, 'hasBeenLinked export const isLive = fs.readFileSync(path.join(__dirname, 'isLive.gql'), 'utf8'); export const getContinuityNumber = fs.readFileSync(path.join(__dirname, 'getContinuityNumber.gql'), 'utf8'); export const getSpawnCount = fs.readFileSync(path.join(__dirname, 'getSpawnCount.gql'), 'utf8'); +export const getSpawned = fs.readFileSync(path.join(__dirname, 'getSpawned.gql'), 'utf8'); export const hasSponsor = fs.readFileSync(path.join(__dirname, 'hasSponsor.gql'), 'utf8'); export const getSponsor = fs.readFileSync(path.join(__dirname, 'getSponsor.gql'), 'utf8'); export const isSponsor = fs.readFileSync(path.join(__dirname, 'isSponsor.gql'), 'utf8'); export const getSponsoringCount = fs.readFileSync(path.join(__dirname, 'getSponsoringCount.gql'), 'utf8'); +export const getSponsoring = fs.readFileSync(path.join(__dirname, 'getSponsoring.gql'), 'utf8'); export const isEscaping = fs.readFileSync(path.join(__dirname, 'isEscaping.gql'), 'utf8'); export const getEscapeRequest = fs.readFileSync(path.join(__dirname, 'getEscapeRequest.gql'), 'utf8'); export const isRequestingEscapeTo = fs.readFileSync(path.join(__dirname, 'isRequestingEscapeTo.gql'), 'utf8'); export const getEscapeRequestsCount = fs.readFileSync(path.join(__dirname, 'getEscapeRequestsCount.gql'), 'utf8'); +export const getEscapeRequests = fs.readFileSync(path.join(__dirname, 'getEscapeRequests.gql'), 'utf8'); export const getOwner = fs.readFileSync(path.join(__dirname, 'getOwner.gql'), 'utf8'); export const isOwner = fs.readFileSync(path.join(__dirname, 'isOwner.gql'), 'utf8'); export const getOwnedPointCount = fs.readFileSync(path.join(__dirname, 'getOwnedPointCount.gql'), 'utf8'); +export const getOwnedPoints = fs.readFileSync(path.join(__dirname, 'getOwnedPoints.gql'), 'utf8'); export const getOwnedPointAtIndex = fs.readFileSync(path.join(__dirname, 'getOwnedPointAtIndex.gql'), 'utf8'); export const getManagementProxy = fs.readFileSync(path.join(__dirname, 'getManagementProxy.gql'), 'utf8'); export const isManagementProxy = fs.readFileSync(path.join(__dirname, 'isManagementProxy.gql'), 'utf8'); export const canManage = fs.readFileSync(path.join(__dirname, 'canManage.gql'), 'utf8'); export const getManagerForCount = fs.readFileSync(path.join(__dirname, 'getManagerForCount.gql'), 'utf8'); +export const getManagerFor = fs.readFileSync(path.join(__dirname, 'getManagerFor.gql'), 'utf8'); export const getSpawnProxy = fs.readFileSync(path.join(__dirname, 'getSpawnProxy.gql'), 'utf8'); export const isSpawnProxy = fs.readFileSync(path.join(__dirname, 'isSpawnProxy.gql'), 'utf8'); export const canSpawnAs = fs.readFileSync(path.join(__dirname, 'canSpawnAs.gql'), 'utf8'); export const getSpawningForCount = fs.readFileSync(path.join(__dirname, 'getSpawningForCount.gql'), 'utf8'); +export const getSpawningFor = fs.readFileSync(path.join(__dirname, 'getSpawningFor.gql'), 'utf8'); export const getVotingProxy = fs.readFileSync(path.join(__dirname, 'getVotingProxy.gql'), 'utf8'); export const isVotingProxy = fs.readFileSync(path.join(__dirname, 'isVotingProxy.gql'), 'utf8'); export const canVoteAs = fs.readFileSync(path.join(__dirname, 'canVoteAs.gql'), 'utf8'); export const getVotingForCount = fs.readFileSync(path.join(__dirname, 'getVotingForCount.gql'), 'utf8'); +export const getVotingFor = fs.readFileSync(path.join(__dirname, 'getVotingFor.gql'), 'utf8'); export const getTransferProxy = fs.readFileSync(path.join(__dirname, 'getTransferProxy.gql'), 'utf8'); export const isTransferProxy = fs.readFileSync(path.join(__dirname, 'isTransferProxy.gql'), 'utf8'); export const canTransfer = fs.readFileSync(path.join(__dirname, 'canTransfer.gql'), 'utf8'); export const getTransferringForCount = fs.readFileSync(path.join(__dirname, 'getTransferringForCount.gql'), 'utf8'); +export const getTransferringFor = fs.readFileSync(path.join(__dirname, 'getTransferringFor.gql'), 'utf8'); export const isOperator = fs.readFileSync(path.join(__dirname, 'isOperator.gql'), 'utf8'); export const getCensuringCount = fs.readFileSync(path.join(__dirname, 'getCensuringCount.gql'), 'utf8'); +export const getCensuring = fs.readFileSync(path.join(__dirname, 'getCensuring.gql'), 'utf8'); export const getCensuredByCount = fs.readFileSync(path.join(__dirname, 'getCensuredByCount.gql'), 'utf8'); +export const getCensuredBy = fs.readFileSync(path.join(__dirname, 'getCensuredBy.gql'), 'utf8'); export const getSyncStatus = fs.readFileSync(path.join(__dirname, 'getSyncStatus.gql'), 'utf8'); export const getStateByCID = fs.readFileSync(path.join(__dirname, 'getStateByCID.gql'), 'utf8'); export const getState = fs.readFileSync(path.join(__dirname, 'getState.gql'), 'utf8'); diff --git a/packages/censures-watcher/src/gql/queries/isActive.gql b/packages/censures-watcher/src/gql/queries/isActive.gql index fe365a4..74bc87f 100644 --- a/packages/censures-watcher/src/gql/queries/isActive.gql +++ b/packages/censures-watcher/src/gql/queries/isActive.gql @@ -1,4 +1,4 @@ -query isActive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isActive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isActive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/isEscaping.gql b/packages/censures-watcher/src/gql/queries/isEscaping.gql index 89113e6..4ed499f 100644 --- a/packages/censures-watcher/src/gql/queries/isEscaping.gql +++ b/packages/censures-watcher/src/gql/queries/isEscaping.gql @@ -1,4 +1,4 @@ -query isEscaping($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isEscaping($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isEscaping(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/isLive.gql b/packages/censures-watcher/src/gql/queries/isLive.gql index ceaa49e..78a61fd 100644 --- a/packages/censures-watcher/src/gql/queries/isLive.gql +++ b/packages/censures-watcher/src/gql/queries/isLive.gql @@ -1,4 +1,4 @@ -query isLive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isLive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isLive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/isManagementProxy.gql b/packages/censures-watcher/src/gql/queries/isManagementProxy.gql index c3484d6..64b7656 100644 --- a/packages/censures-watcher/src/gql/queries/isManagementProxy.gql +++ b/packages/censures-watcher/src/gql/queries/isManagementProxy.gql @@ -1,4 +1,4 @@ -query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/isOwner.gql b/packages/censures-watcher/src/gql/queries/isOwner.gql index 84dfc3b..9378225 100644 --- a/packages/censures-watcher/src/gql/queries/isOwner.gql +++ b/packages/censures-watcher/src/gql/queries/isOwner.gql @@ -1,4 +1,4 @@ -query isOwner($blockHash: String!, $contractAddress: String!, $_point: Int!, $_address: String!){ +query isOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_address: String!){ isOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _address: $_address){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/isRequestingEscapeTo.gql b/packages/censures-watcher/src/gql/queries/isRequestingEscapeTo.gql index bb2d6dd..f1c9afb 100644 --- a/packages/censures-watcher/src/gql/queries/isRequestingEscapeTo.gql +++ b/packages/censures-watcher/src/gql/queries/isRequestingEscapeTo.gql @@ -1,4 +1,4 @@ -query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isRequestingEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/isSpawnProxy.gql b/packages/censures-watcher/src/gql/queries/isSpawnProxy.gql index 161923d..2223af6 100644 --- a/packages/censures-watcher/src/gql/queries/isSpawnProxy.gql +++ b/packages/censures-watcher/src/gql/queries/isSpawnProxy.gql @@ -1,4 +1,4 @@ -query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/isSponsor.gql b/packages/censures-watcher/src/gql/queries/isSponsor.gql index 4daff70..3e1b3cc 100644 --- a/packages/censures-watcher/src/gql/queries/isSponsor.gql +++ b/packages/censures-watcher/src/gql/queries/isSponsor.gql @@ -1,4 +1,4 @@ -query isSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/isTransferProxy.gql b/packages/censures-watcher/src/gql/queries/isTransferProxy.gql index 1057968..feccdf0 100644 --- a/packages/censures-watcher/src/gql/queries/isTransferProxy.gql +++ b/packages/censures-watcher/src/gql/queries/isTransferProxy.gql @@ -1,4 +1,4 @@ -query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/censures-watcher/src/gql/queries/isVotingProxy.gql b/packages/censures-watcher/src/gql/queries/isVotingProxy.gql index 28bdb0f..3bf33c8 100644 --- a/packages/censures-watcher/src/gql/queries/isVotingProxy.gql +++ b/packages/censures-watcher/src/gql/queries/isVotingProxy.gql @@ -1,4 +1,4 @@ -query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/censures-watcher/src/indexer.ts b/packages/censures-watcher/src/indexer.ts index 9508479..73ae859 100644 --- a/packages/censures-watcher/src/indexer.ts +++ b/packages/censures-watcher/src/indexer.ts @@ -94,7 +94,7 @@ export class Indexer implements IndexerInterface { return getResultEvent(event); } - async isActive (blockHash: string, contractAddress: string, _point: number): Promise { + async isActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsActive({ blockHash, contractAddress, _point }); if (entity) { log('isActive: db hit.'); @@ -123,7 +123,7 @@ export class Indexer implements IndexerInterface { return result; } - async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetKeyRevisionNumber({ blockHash, contractAddress, _point }); if (entity) { log('getKeyRevisionNumber: db hit.'); @@ -143,7 +143,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + let value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -152,7 +154,7 @@ export class Indexer implements IndexerInterface { return result; } - async hasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async hasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasBeenLinked({ blockHash, contractAddress, _point }); if (entity) { log('hasBeenLinked: db hit.'); @@ -181,7 +183,7 @@ export class Indexer implements IndexerInterface { return result; } - async isLive (blockHash: string, contractAddress: string, _point: number): Promise { + async isLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsLive({ blockHash, contractAddress, _point }); if (entity) { log('isLive: db hit.'); @@ -210,7 +212,7 @@ export class Indexer implements IndexerInterface { return result; } - async getContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetContinuityNumber({ blockHash, contractAddress, _point }); if (entity) { log('getContinuityNumber: db hit.'); @@ -230,7 +232,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + let value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -239,7 +243,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnCount({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnCount: db hit.'); @@ -259,7 +263,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + let value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -268,7 +274,25 @@ export class Indexer implements IndexerInterface { return result; } - async hasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawned (blockHash: string, contractAddress: string, _point: bigint): Promise { + log('getSpawned: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CENSURES); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawned(_point, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async hasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasSponsor({ blockHash, contractAddress, _point }); if (entity) { log('hasSponsor: db hit.'); @@ -297,7 +321,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSponsor({ blockHash, contractAddress, _point }); if (entity) { log('getSponsor: db hit.'); @@ -317,7 +341,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSponsor(_point, { blockTag: blockHash }); + let value = await contract.getSponsor(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -326,7 +352,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsSponsor({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isSponsor: db hit.'); @@ -355,7 +381,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetSponsoringCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getSponsoringCount: db hit.'); @@ -386,7 +412,25 @@ export class Indexer implements IndexerInterface { return result; } - async isEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsoring (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getSponsoring: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CENSURES); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSponsoring(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async isEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsEscaping({ blockHash, contractAddress, _point }); if (entity) { log('isEscaping: db hit.'); @@ -415,7 +459,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetEscapeRequest({ blockHash, contractAddress, _point }); if (entity) { log('getEscapeRequest: db hit.'); @@ -435,7 +479,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + let value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -444,7 +490,7 @@ export class Indexer implements IndexerInterface { return result; } - async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsRequestingEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isRequestingEscapeTo: db hit.'); @@ -473,7 +519,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetEscapeRequestsCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getEscapeRequestsCount: db hit.'); @@ -504,7 +550,25 @@ export class Indexer implements IndexerInterface { return result; } - async getOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequests (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getEscapeRequests: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CENSURES); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getEscapeRequests(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetOwner({ blockHash, contractAddress, _point }); if (entity) { log('getOwner: db hit.'); @@ -533,7 +597,7 @@ export class Indexer implements IndexerInterface { return result; } - async isOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async isOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const entity = await this._db.getIsOwner({ blockHash, contractAddress, _point, _address }); if (entity) { log('isOwner: db hit.'); @@ -593,6 +657,24 @@ export class Indexer implements IndexerInterface { return result; } + async getOwnedPoints (blockHash: string, contractAddress: string, _whose: string): Promise { + log('getOwnedPoints: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CENSURES); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getOwnedPoints(_whose, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async getOwnedPointAtIndex (blockHash: string, contractAddress: string, _whose: string, _index: bigint): Promise { const entity = await this._db.getGetOwnedPointAtIndex({ blockHash, contractAddress, _whose, _index }); if (entity) { @@ -613,7 +695,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + let value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -622,7 +706,7 @@ export class Indexer implements IndexerInterface { return result; } - async getManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetManagementProxy({ blockHash, contractAddress, _point }); if (entity) { log('getManagementProxy: db hit.'); @@ -651,7 +735,7 @@ export class Indexer implements IndexerInterface { return result; } - async isManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsManagementProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isManagementProxy: db hit.'); @@ -680,7 +764,7 @@ export class Indexer implements IndexerInterface { return result; } - async canManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanManage({ blockHash, contractAddress, _point, _who }); if (entity) { log('canManage: db hit.'); @@ -740,7 +824,25 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagerFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getManagerFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CENSURES); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getManagerFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnProxy({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnProxy: db hit.'); @@ -769,7 +871,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsSpawnProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isSpawnProxy: db hit.'); @@ -798,7 +900,7 @@ export class Indexer implements IndexerInterface { return result; } - async canSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanSpawnAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canSpawnAs: db hit.'); @@ -858,7 +960,25 @@ export class Indexer implements IndexerInterface { return result; } - async getVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawningFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getSpawningFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CENSURES); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawningFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetVotingProxy({ blockHash, contractAddress, _point }); if (entity) { log('getVotingProxy: db hit.'); @@ -887,7 +1007,7 @@ export class Indexer implements IndexerInterface { return result; } - async isVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsVotingProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isVotingProxy: db hit.'); @@ -916,7 +1036,7 @@ export class Indexer implements IndexerInterface { return result; } - async canVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanVoteAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canVoteAs: db hit.'); @@ -976,7 +1096,25 @@ export class Indexer implements IndexerInterface { return result; } - async getTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getVotingFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getVotingFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CENSURES); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getVotingFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetTransferProxy({ blockHash, contractAddress, _point }); if (entity) { log('getTransferProxy: db hit.'); @@ -1005,7 +1143,7 @@ export class Indexer implements IndexerInterface { return result; } - async isTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsTransferProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isTransferProxy: db hit.'); @@ -1034,7 +1172,7 @@ export class Indexer implements IndexerInterface { return result; } - async canTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanTransfer({ blockHash, contractAddress, _point, _who }); if (entity) { log('canTransfer: db hit.'); @@ -1094,6 +1232,24 @@ export class Indexer implements IndexerInterface { return result; } + async getTransferringFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getTransferringFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CENSURES); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getTransferringFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async isOperator (blockHash: string, contractAddress: string, _owner: string, _operator: string): Promise { const entity = await this._db.getIsOperator({ blockHash, contractAddress, _owner, _operator }); if (entity) { @@ -1154,6 +1310,24 @@ export class Indexer implements IndexerInterface { return result; } + async getCensuring (blockHash: string, contractAddress: string, _whose: number): Promise { + log('getCensuring: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CENSURES); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getCensuring(_whose, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async getCensuredByCount (blockHash: string, contractAddress: string, _who: number): Promise { const entity = await this._db.getGetCensuredByCount({ blockHash, contractAddress, _who }); if (entity) { @@ -1185,6 +1359,23 @@ export class Indexer implements IndexerInterface { return result; } + async getCensuredBy (blockHash: string, contractAddress: string, _who: number): Promise { + log('getCensuredBy: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CENSURES); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getCensuredBy(_who, { blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getStorageValue (storageLayout: StorageLayout, blockHash: string, contractAddress: string, variable: string, ...mappingKeys: MappingKey[]): Promise { return this._baseIndexer.getStorageValue( storageLayout, diff --git a/packages/censures-watcher/src/resolvers.ts b/packages/censures-watcher/src/resolvers.ts index c353d5e..6d17121 100644 --- a/packages/censures-watcher/src/resolvers.ts +++ b/packages/censures-watcher/src/resolvers.ts @@ -71,7 +71,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher Query: { isActive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -87,7 +87,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getKeyRevisionNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -103,7 +103,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher hasBeenLinked: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -119,7 +119,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isLive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -135,7 +135,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getContinuityNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -151,7 +151,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnCount: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -165,9 +165,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawnCount(blockHash, contractAddress, _point); }, + getSpawned: ( + _: any, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawned', blockHash, contractAddress, _point); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawned').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawned(blockHash, contractAddress, _point); + }, + hasSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -183,7 +199,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -199,7 +215,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSponsor: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -215,7 +231,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsoringCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -229,9 +245,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSponsoringCount(blockHash, contractAddress, _sponsor); }, + getSponsoring: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSponsoring', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSponsoring').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSponsoring(blockHash, contractAddress, _sponsor); + }, + isEscaping: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -247,7 +279,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequest: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -263,7 +295,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isRequestingEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -279,7 +311,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequestsCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -293,9 +325,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getEscapeRequestsCount(blockHash, contractAddress, _sponsor); }, + getEscapeRequests: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getEscapeRequests', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getEscapeRequests').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getEscapeRequests(blockHash, contractAddress, _sponsor); + }, + getOwner: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -311,7 +359,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isOwner: ( _: any, - { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }, + { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -341,6 +389,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getOwnedPointCount(blockHash, contractAddress, _whose); }, + getOwnedPoints: ( + _: any, + { blockHash, contractAddress, _whose }: { blockHash: string, contractAddress: string, _whose: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getOwnedPoints', blockHash, contractAddress, _whose); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getOwnedPoints').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getOwnedPoints(blockHash, contractAddress, _whose); + }, + getOwnedPointAtIndex: ( _: any, { blockHash, contractAddress, _whose, _index }: { blockHash: string, contractAddress: string, _whose: string, _index: bigint }, @@ -359,7 +423,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getManagementProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -375,7 +439,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isManagementProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -391,7 +455,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canManage: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -421,9 +485,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getManagerForCount(blockHash, contractAddress, _proxy); }, + getManagerFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getManagerFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getManagerFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getManagerFor(blockHash, contractAddress, _proxy); + }, + getSpawnProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -439,7 +519,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSpawnProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -455,7 +535,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canSpawnAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -485,9 +565,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawningForCount(blockHash, contractAddress, _proxy); }, + getSpawningFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawningFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawningFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawningFor(blockHash, contractAddress, _proxy); + }, + getVotingProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -503,7 +599,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isVotingProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -519,7 +615,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canVoteAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -549,9 +645,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getVotingForCount(blockHash, contractAddress, _proxy); }, + getVotingFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getVotingFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getVotingFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getVotingFor(blockHash, contractAddress, _proxy); + }, + getTransferProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -567,7 +679,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isTransferProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -583,7 +695,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canTransfer: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -613,6 +725,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getTransferringForCount(blockHash, contractAddress, _proxy); }, + getTransferringFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getTransferringFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getTransferringFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getTransferringFor(blockHash, contractAddress, _proxy); + }, + isOperator: ( _: any, { blockHash, contractAddress, _owner, _operator }: { blockHash: string, contractAddress: string, _owner: string, _operator: string }, @@ -645,6 +773,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getCensuringCount(blockHash, contractAddress, _whose); }, + getCensuring: ( + _: any, + { blockHash, contractAddress, _whose }: { blockHash: string, contractAddress: string, _whose: number }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getCensuring', blockHash, contractAddress, _whose); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getCensuring').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getCensuring(blockHash, contractAddress, _whose); + }, + getCensuredByCount: ( _: any, { blockHash, contractAddress, _who }: { blockHash: string, contractAddress: string, _who: number }, @@ -661,6 +805,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getCensuredByCount(blockHash, contractAddress, _who); }, + getCensuredBy: ( + _: any, + { blockHash, contractAddress, _who }: { blockHash: string, contractAddress: string, _who: number }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getCensuredBy', blockHash, contractAddress, _who); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getCensuredBy').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getCensuredBy(blockHash, contractAddress, _who); + }, + events: async (_: any, { blockHash, contractAddress, name }: { blockHash: string, contractAddress: string, name?: string }) => { log('events', blockHash, contractAddress, name); gqlTotalQueryCount.inc(1); diff --git a/packages/censures-watcher/src/schema.gql b/packages/censures-watcher/src/schema.gql index 9beaffd..f778f4b 100644 --- a/packages/censures-watcher/src/schema.gql +++ b/packages/censures-watcher/src/schema.gql @@ -15,26 +15,6 @@ type Proof { data: String! } -type ResultBoolean { - value: Boolean! - proof: Proof -} - -type ResultString { - value: String! - proof: Proof -} - -type ResultInt { - value: Int! - proof: Proof -} - -type ResultBigInt { - value: BigInt! - proof: Proof -} - type _Block_ { cid: String! hash: String! @@ -63,12 +43,12 @@ union Event = CensuredEvent | ForgivenEvent type CensuredEvent { by: Int! - who: Int! + who: BigInt! } type ForgivenEvent { by: Int! - who: Int! + who: BigInt! } type SyncStatus { @@ -89,48 +69,83 @@ type ResultState { type Query { events(blockHash: String!, contractAddress: String!, name: String): [ResultEvent!] eventsInRange(fromBlockNumber: Int!, toBlockNumber: Int!): [ResultEvent!] - isActive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasBeenLinked(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - isLive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getContinuityNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - getSpawnCount(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isSponsor(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - isEscaping(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getEscapeRequest(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - getOwner(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isOwner(blockHash: String!, contractAddress: String!, _point: Int!, _address: String!): ResultBoolean! + isActive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + hasBeenLinked(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + isLive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getContinuityNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawnCount(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawned(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigIntArray! + hasSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getSponsoring(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + isEscaping(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getEscapeRequest(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getEscapeRequests(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + getOwner(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isOwner(blockHash: String!, contractAddress: String!, _point: BigInt!, _address: String!): ResultBoolean! getOwnedPointCount(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigInt! - getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultInt! - getManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canManage(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getOwnedPoints(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigIntArray! + getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultBigInt! + getManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canManage(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getManagerForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canSpawnAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getManagerFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canSpawnAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getSpawningForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canVoteAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getSpawningFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canVoteAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getVotingForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canTransfer(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getVotingFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canTransfer(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getTransferringForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! + getTransferringFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! isOperator(blockHash: String!, contractAddress: String!, _owner: String!, _operator: String!): ResultBoolean! getCensuringCount(blockHash: String!, contractAddress: String!, _whose: Int!): ResultBigInt! + getCensuring(blockHash: String!, contractAddress: String!, _whose: Int!): ResultBigIntArray! getCensuredByCount(blockHash: String!, contractAddress: String!, _who: Int!): ResultBigInt! + getCensuredBy(blockHash: String!, contractAddress: String!, _who: Int!): ResultIntArray! getSyncStatus: SyncStatus getStateByCID(cid: String!): ResultState getState(blockHash: String!, contractAddress: String!, kind: String): ResultState } +type ResultBoolean { + value: Boolean! + proof: Proof +} + +type ResultBigInt { + value: BigInt! + proof: Proof +} + +type ResultBigIntArray { + value: [BigInt!]! + proof: Proof +} + +type ResultString { + value: String! + proof: Proof +} + +type ResultIntArray { + value: [Int!]! + proof: Proof +} + type Mutation { watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean! } diff --git a/packages/claims-watcher/package.json b/packages/claims-watcher/package.json index c1e5613..da6ea35 100644 --- a/packages/claims-watcher/package.json +++ b/packages/claims-watcher/package.json @@ -5,7 +5,7 @@ "private": true, "main": "dist/index.js", "scripts": { - "lint": "eslint .", + "lint": "eslint --max-warnings=0 .", "build": "yarn clean && tsc && yarn copy-assets", "clean": "rm -rf ./dist", "copy-assets": "copyfiles -u 1 src/**/*.gql dist/", @@ -38,10 +38,10 @@ "dependencies": { "@apollo/client": "^3.3.19", "@ethersproject/providers": "^5.4.4", - "@cerc-io/cli": "^0.2.34", - "@cerc-io/ipld-eth-client": "^0.2.34", - "@cerc-io/solidity-mapper": "^0.2.34", - "@cerc-io/util": "^0.2.34", + "@cerc-io/cli": "^0.2.39", + "@cerc-io/ipld-eth-client": "^0.2.39", + "@cerc-io/solidity-mapper": "^0.2.39", + "@cerc-io/util": "^0.2.39", "apollo-type-bigint": "^0.1.3", "debug": "^4.3.1", "ethers": "^5.4.4", @@ -56,7 +56,7 @@ "@ethersproject/abi": "^5.3.0", "@types/yargs": "^17.0.0", "@types/debug": "^4.1.5", - "@types/json-bigint": "^1.0.1", + "@types/json-bigint": "^1.0.0", "@typescript-eslint/eslint-plugin": "^5.47.1", "@typescript-eslint/parser": "^5.47.1", "eslint": "^8.35.0", diff --git a/packages/claims-watcher/src/client.ts b/packages/claims-watcher/src/client.ts index cba6ed1..c6e6213 100644 --- a/packages/claims-watcher/src/client.ts +++ b/packages/claims-watcher/src/client.ts @@ -17,7 +17,7 @@ export class Client { this._client = new GraphQLClient(config); } - async getIsActive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isActive } = await this._client.query( gql(queries.isActive), { blockHash, contractAddress, _point } @@ -26,7 +26,7 @@ export class Client { return isActive; } - async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getKeyRevisionNumber } = await this._client.query( gql(queries.getKeyRevisionNumber), { blockHash, contractAddress, _point } @@ -35,7 +35,7 @@ export class Client { return getKeyRevisionNumber; } - async getHasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasBeenLinked } = await this._client.query( gql(queries.hasBeenLinked), { blockHash, contractAddress, _point } @@ -44,7 +44,7 @@ export class Client { return hasBeenLinked; } - async getIsLive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isLive } = await this._client.query( gql(queries.isLive), { blockHash, contractAddress, _point } @@ -53,7 +53,7 @@ export class Client { return isLive; } - async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getContinuityNumber } = await this._client.query( gql(queries.getContinuityNumber), { blockHash, contractAddress, _point } @@ -62,7 +62,7 @@ export class Client { return getContinuityNumber; } - async getGetSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnCount } = await this._client.query( gql(queries.getSpawnCount), { blockHash, contractAddress, _point } @@ -71,7 +71,7 @@ export class Client { return getSpawnCount; } - async getHasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasSponsor } = await this._client.query( gql(queries.hasSponsor), { blockHash, contractAddress, _point } @@ -80,7 +80,7 @@ export class Client { return hasSponsor; } - async getGetSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSponsor } = await this._client.query( gql(queries.getSponsor), { blockHash, contractAddress, _point } @@ -89,7 +89,7 @@ export class Client { return getSponsor; } - async getIsSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isSponsor } = await this._client.query( gql(queries.isSponsor), { blockHash, contractAddress, _point, _sponsor } @@ -98,7 +98,7 @@ export class Client { return isSponsor; } - async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getSponsoringCount } = await this._client.query( gql(queries.getSponsoringCount), { blockHash, contractAddress, _sponsor } @@ -107,7 +107,7 @@ export class Client { return getSponsoringCount; } - async getIsEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isEscaping } = await this._client.query( gql(queries.isEscaping), { blockHash, contractAddress, _point } @@ -116,7 +116,7 @@ export class Client { return isEscaping; } - async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getEscapeRequest } = await this._client.query( gql(queries.getEscapeRequest), { blockHash, contractAddress, _point } @@ -125,7 +125,7 @@ export class Client { return getEscapeRequest; } - async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isRequestingEscapeTo } = await this._client.query( gql(queries.isRequestingEscapeTo), { blockHash, contractAddress, _point, _sponsor } @@ -134,7 +134,7 @@ export class Client { return isRequestingEscapeTo; } - async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getEscapeRequestsCount } = await this._client.query( gql(queries.getEscapeRequestsCount), { blockHash, contractAddress, _sponsor } @@ -143,7 +143,7 @@ export class Client { return getEscapeRequestsCount; } - async getGetOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getOwner } = await this._client.query( gql(queries.getOwner), { blockHash, contractAddress, _point } @@ -152,7 +152,7 @@ export class Client { return getOwner; } - async getIsOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async getIsOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const { isOwner } = await this._client.query( gql(queries.isOwner), { blockHash, contractAddress, _point, _address } @@ -179,7 +179,7 @@ export class Client { return getOwnedPointAtIndex; } - async getGetManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getManagementProxy } = await this._client.query( gql(queries.getManagementProxy), { blockHash, contractAddress, _point } @@ -188,7 +188,7 @@ export class Client { return getManagementProxy; } - async getIsManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isManagementProxy } = await this._client.query( gql(queries.isManagementProxy), { blockHash, contractAddress, _point, _proxy } @@ -197,7 +197,7 @@ export class Client { return isManagementProxy; } - async getCanManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canManage } = await this._client.query( gql(queries.canManage), { blockHash, contractAddress, _point, _who } @@ -215,7 +215,7 @@ export class Client { return getManagerForCount; } - async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnProxy } = await this._client.query( gql(queries.getSpawnProxy), { blockHash, contractAddress, _point } @@ -224,7 +224,7 @@ export class Client { return getSpawnProxy; } - async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isSpawnProxy } = await this._client.query( gql(queries.isSpawnProxy), { blockHash, contractAddress, _point, _proxy } @@ -233,7 +233,7 @@ export class Client { return isSpawnProxy; } - async getCanSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canSpawnAs } = await this._client.query( gql(queries.canSpawnAs), { blockHash, contractAddress, _point, _who } @@ -251,7 +251,7 @@ export class Client { return getSpawningForCount; } - async getGetVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getVotingProxy } = await this._client.query( gql(queries.getVotingProxy), { blockHash, contractAddress, _point } @@ -260,7 +260,7 @@ export class Client { return getVotingProxy; } - async getIsVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isVotingProxy } = await this._client.query( gql(queries.isVotingProxy), { blockHash, contractAddress, _point, _proxy } @@ -269,7 +269,7 @@ export class Client { return isVotingProxy; } - async getCanVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canVoteAs } = await this._client.query( gql(queries.canVoteAs), { blockHash, contractAddress, _point, _who } @@ -287,7 +287,7 @@ export class Client { return getVotingForCount; } - async getGetTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getTransferProxy } = await this._client.query( gql(queries.getTransferProxy), { blockHash, contractAddress, _point } @@ -296,7 +296,7 @@ export class Client { return getTransferProxy; } - async getIsTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isTransferProxy } = await this._client.query( gql(queries.isTransferProxy), { blockHash, contractAddress, _point, _proxy } @@ -305,7 +305,7 @@ export class Client { return isTransferProxy; } - async getCanTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canTransfer } = await this._client.query( gql(queries.canTransfer), { blockHash, contractAddress, _point, _who } @@ -332,7 +332,7 @@ export class Client { return isOperator; } - async getFindClaim (blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string): Promise { + async getFindClaim (blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string): Promise { const { findClaim } = await this._client.query( gql(queries.findClaim), { blockHash, contractAddress, _whose, _protocol, _claim } diff --git a/packages/claims-watcher/src/database.ts b/packages/claims-watcher/src/database.ts index e9e9356..8556dcf 100644 --- a/packages/claims-watcher/src/database.ts +++ b/packages/claims-watcher/src/database.ts @@ -90,7 +90,7 @@ export class Database implements DatabaseInterface { return this._baseDatabase.close(); } - async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsActive) .findOne({ blockHash, @@ -99,7 +99,7 @@ export class Database implements DatabaseInterface { }); } - async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetKeyRevisionNumber) .findOne({ blockHash, @@ -108,7 +108,7 @@ export class Database implements DatabaseInterface { }); } - async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasBeenLinked) .findOne({ blockHash, @@ -117,7 +117,7 @@ export class Database implements DatabaseInterface { }); } - async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsLive) .findOne({ blockHash, @@ -126,7 +126,7 @@ export class Database implements DatabaseInterface { }); } - async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetContinuityNumber) .findOne({ blockHash, @@ -135,7 +135,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnCount) .findOne({ blockHash, @@ -144,7 +144,7 @@ export class Database implements DatabaseInterface { }); } - async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasSponsor) .findOne({ blockHash, @@ -153,7 +153,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSponsor) .findOne({ blockHash, @@ -162,7 +162,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsSponsor) .findOne({ blockHash, @@ -172,7 +172,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetSponsoringCount) .findOne({ blockHash, @@ -181,7 +181,7 @@ export class Database implements DatabaseInterface { }); } - async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsEscaping) .findOne({ blockHash, @@ -190,7 +190,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetEscapeRequest) .findOne({ blockHash, @@ -199,7 +199,7 @@ export class Database implements DatabaseInterface { }); } - async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsRequestingEscapeTo) .findOne({ blockHash, @@ -209,7 +209,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetEscapeRequestsCount) .findOne({ blockHash, @@ -218,7 +218,7 @@ export class Database implements DatabaseInterface { }); } - async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetOwner) .findOne({ blockHash, @@ -227,7 +227,7 @@ export class Database implements DatabaseInterface { }); } - async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }): Promise { + async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }): Promise { return this._conn.getRepository(IsOwner) .findOne({ blockHash, @@ -256,7 +256,7 @@ export class Database implements DatabaseInterface { }); } - async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetManagementProxy) .findOne({ blockHash, @@ -265,7 +265,7 @@ export class Database implements DatabaseInterface { }); } - async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsManagementProxy) .findOne({ blockHash, @@ -275,7 +275,7 @@ export class Database implements DatabaseInterface { }); } - async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanManage) .findOne({ blockHash, @@ -294,7 +294,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnProxy) .findOne({ blockHash, @@ -303,7 +303,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsSpawnProxy) .findOne({ blockHash, @@ -313,7 +313,7 @@ export class Database implements DatabaseInterface { }); } - async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanSpawnAs) .findOne({ blockHash, @@ -332,7 +332,7 @@ export class Database implements DatabaseInterface { }); } - async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetVotingProxy) .findOne({ blockHash, @@ -341,7 +341,7 @@ export class Database implements DatabaseInterface { }); } - async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsVotingProxy) .findOne({ blockHash, @@ -351,7 +351,7 @@ export class Database implements DatabaseInterface { }); } - async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanVoteAs) .findOne({ blockHash, @@ -370,7 +370,7 @@ export class Database implements DatabaseInterface { }); } - async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetTransferProxy) .findOne({ blockHash, @@ -379,7 +379,7 @@ export class Database implements DatabaseInterface { }); } - async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsTransferProxy) .findOne({ blockHash, @@ -389,7 +389,7 @@ export class Database implements DatabaseInterface { }); } - async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanTransfer) .findOne({ blockHash, @@ -418,7 +418,7 @@ export class Database implements DatabaseInterface { }); } - async getFindClaim ({ blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string }): Promise { + async getFindClaim ({ blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string }): Promise { return this._conn.getRepository(FindClaim) .findOne({ blockHash, diff --git a/packages/claims-watcher/src/entity/CanManage.ts b/packages/claims-watcher/src/entity/CanManage.ts index 2ad7b1b..442f5bc 100644 --- a/packages/claims-watcher/src/entity/CanManage.ts +++ b/packages/claims-watcher/src/entity/CanManage.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanManage { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/claims-watcher/src/entity/CanSpawnAs.ts b/packages/claims-watcher/src/entity/CanSpawnAs.ts index 9163537..09c21c4 100644 --- a/packages/claims-watcher/src/entity/CanSpawnAs.ts +++ b/packages/claims-watcher/src/entity/CanSpawnAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanSpawnAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/claims-watcher/src/entity/CanTransfer.ts b/packages/claims-watcher/src/entity/CanTransfer.ts index 82fb96e..17ecc02 100644 --- a/packages/claims-watcher/src/entity/CanTransfer.ts +++ b/packages/claims-watcher/src/entity/CanTransfer.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanTransfer { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/claims-watcher/src/entity/CanVoteAs.ts b/packages/claims-watcher/src/entity/CanVoteAs.ts index 956d249..b9519df 100644 --- a/packages/claims-watcher/src/entity/CanVoteAs.ts +++ b/packages/claims-watcher/src/entity/CanVoteAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanVoteAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/claims-watcher/src/entity/FindClaim.ts b/packages/claims-watcher/src/entity/FindClaim.ts index a4c4294..eb35291 100644 --- a/packages/claims-watcher/src/entity/FindClaim.ts +++ b/packages/claims-watcher/src/entity/FindClaim.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_whose', '_protocol', '_claim'], { unique: true }) @@ -19,8 +20,8 @@ export class FindClaim { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _whose!: number; + @Column('numeric', { transformer: bigintTransformer }) + _whose!: bigint; @Column('varchar') _protocol!: string; diff --git a/packages/claims-watcher/src/entity/GetContinuityNumber.ts b/packages/claims-watcher/src/entity/GetContinuityNumber.ts index 27c158a..d4d3fb9 100644 --- a/packages/claims-watcher/src/entity/GetContinuityNumber.ts +++ b/packages/claims-watcher/src/entity/GetContinuityNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetContinuityNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/claims-watcher/src/entity/GetEscapeRequest.ts b/packages/claims-watcher/src/entity/GetEscapeRequest.ts index 09eb1d9..d2ed83d 100644 --- a/packages/claims-watcher/src/entity/GetEscapeRequest.ts +++ b/packages/claims-watcher/src/entity/GetEscapeRequest.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetEscapeRequest { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/claims-watcher/src/entity/GetEscapeRequestsCount.ts b/packages/claims-watcher/src/entity/GetEscapeRequestsCount.ts index 9e020db..2339c14 100644 --- a/packages/claims-watcher/src/entity/GetEscapeRequestsCount.ts +++ b/packages/claims-watcher/src/entity/GetEscapeRequestsCount.ts @@ -20,8 +20,8 @@ export class GetEscapeRequestsCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/claims-watcher/src/entity/GetKeyRevisionNumber.ts b/packages/claims-watcher/src/entity/GetKeyRevisionNumber.ts index ca5f269..9ea106d 100644 --- a/packages/claims-watcher/src/entity/GetKeyRevisionNumber.ts +++ b/packages/claims-watcher/src/entity/GetKeyRevisionNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetKeyRevisionNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/claims-watcher/src/entity/GetManagementProxy.ts b/packages/claims-watcher/src/entity/GetManagementProxy.ts index 310a4fb..73db456 100644 --- a/packages/claims-watcher/src/entity/GetManagementProxy.ts +++ b/packages/claims-watcher/src/entity/GetManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/claims-watcher/src/entity/GetOwnedPointAtIndex.ts b/packages/claims-watcher/src/entity/GetOwnedPointAtIndex.ts index cabc086..6aff916 100644 --- a/packages/claims-watcher/src/entity/GetOwnedPointAtIndex.ts +++ b/packages/claims-watcher/src/entity/GetOwnedPointAtIndex.ts @@ -26,8 +26,8 @@ export class GetOwnedPointAtIndex { @Column('numeric', { transformer: bigintTransformer }) _index!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/claims-watcher/src/entity/GetOwner.ts b/packages/claims-watcher/src/entity/GetOwner.ts index 00ff4df..04f3e9f 100644 --- a/packages/claims-watcher/src/entity/GetOwner.ts +++ b/packages/claims-watcher/src/entity/GetOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/claims-watcher/src/entity/GetSpawnCount.ts b/packages/claims-watcher/src/entity/GetSpawnCount.ts index 6cc44cc..314cfe6 100644 --- a/packages/claims-watcher/src/entity/GetSpawnCount.ts +++ b/packages/claims-watcher/src/entity/GetSpawnCount.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSpawnCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/claims-watcher/src/entity/GetSpawnProxy.ts b/packages/claims-watcher/src/entity/GetSpawnProxy.ts index d1e2cbd..7ee732c 100644 --- a/packages/claims-watcher/src/entity/GetSpawnProxy.ts +++ b/packages/claims-watcher/src/entity/GetSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/claims-watcher/src/entity/GetSponsor.ts b/packages/claims-watcher/src/entity/GetSponsor.ts index 3d964f9..a901174 100644 --- a/packages/claims-watcher/src/entity/GetSponsor.ts +++ b/packages/claims-watcher/src/entity/GetSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/claims-watcher/src/entity/GetSponsoringCount.ts b/packages/claims-watcher/src/entity/GetSponsoringCount.ts index 95dcbd9..c3e8c8c 100644 --- a/packages/claims-watcher/src/entity/GetSponsoringCount.ts +++ b/packages/claims-watcher/src/entity/GetSponsoringCount.ts @@ -20,8 +20,8 @@ export class GetSponsoringCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/claims-watcher/src/entity/GetTransferProxy.ts b/packages/claims-watcher/src/entity/GetTransferProxy.ts index f2dd7b2..1173349 100644 --- a/packages/claims-watcher/src/entity/GetTransferProxy.ts +++ b/packages/claims-watcher/src/entity/GetTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/claims-watcher/src/entity/GetVotingProxy.ts b/packages/claims-watcher/src/entity/GetVotingProxy.ts index c4a73e5..602d459 100644 --- a/packages/claims-watcher/src/entity/GetVotingProxy.ts +++ b/packages/claims-watcher/src/entity/GetVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/claims-watcher/src/entity/HasBeenLinked.ts b/packages/claims-watcher/src/entity/HasBeenLinked.ts index 4f897dc..38916ab 100644 --- a/packages/claims-watcher/src/entity/HasBeenLinked.ts +++ b/packages/claims-watcher/src/entity/HasBeenLinked.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasBeenLinked { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/claims-watcher/src/entity/HasSponsor.ts b/packages/claims-watcher/src/entity/HasSponsor.ts index ccc8875..eb479ea 100644 --- a/packages/claims-watcher/src/entity/HasSponsor.ts +++ b/packages/claims-watcher/src/entity/HasSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/claims-watcher/src/entity/IsActive.ts b/packages/claims-watcher/src/entity/IsActive.ts index 055e224..a725d12 100644 --- a/packages/claims-watcher/src/entity/IsActive.ts +++ b/packages/claims-watcher/src/entity/IsActive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsActive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/claims-watcher/src/entity/IsEscaping.ts b/packages/claims-watcher/src/entity/IsEscaping.ts index fb4c3bd..a3c704f 100644 --- a/packages/claims-watcher/src/entity/IsEscaping.ts +++ b/packages/claims-watcher/src/entity/IsEscaping.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsEscaping { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/claims-watcher/src/entity/IsLive.ts b/packages/claims-watcher/src/entity/IsLive.ts index 87ca00f..e3270e0 100644 --- a/packages/claims-watcher/src/entity/IsLive.ts +++ b/packages/claims-watcher/src/entity/IsLive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsLive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/claims-watcher/src/entity/IsManagementProxy.ts b/packages/claims-watcher/src/entity/IsManagementProxy.ts index 14ac477..e72a487 100644 --- a/packages/claims-watcher/src/entity/IsManagementProxy.ts +++ b/packages/claims-watcher/src/entity/IsManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/claims-watcher/src/entity/IsOwner.ts b/packages/claims-watcher/src/entity/IsOwner.ts index 81a6046..51aeaed 100644 --- a/packages/claims-watcher/src/entity/IsOwner.ts +++ b/packages/claims-watcher/src/entity/IsOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_address'], { unique: true }) @@ -19,8 +20,8 @@ export class IsOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _address!: string; diff --git a/packages/claims-watcher/src/entity/IsRequestingEscapeTo.ts b/packages/claims-watcher/src/entity/IsRequestingEscapeTo.ts index 58409ab..5c6385d 100644 --- a/packages/claims-watcher/src/entity/IsRequestingEscapeTo.ts +++ b/packages/claims-watcher/src/entity/IsRequestingEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsRequestingEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/claims-watcher/src/entity/IsSpawnProxy.ts b/packages/claims-watcher/src/entity/IsSpawnProxy.ts index 023ca72..d6ba37b 100644 --- a/packages/claims-watcher/src/entity/IsSpawnProxy.ts +++ b/packages/claims-watcher/src/entity/IsSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/claims-watcher/src/entity/IsSponsor.ts b/packages/claims-watcher/src/entity/IsSponsor.ts index a21b71c..9a615c4 100644 --- a/packages/claims-watcher/src/entity/IsSponsor.ts +++ b/packages/claims-watcher/src/entity/IsSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/claims-watcher/src/entity/IsTransferProxy.ts b/packages/claims-watcher/src/entity/IsTransferProxy.ts index b1613a4..904d2df 100644 --- a/packages/claims-watcher/src/entity/IsTransferProxy.ts +++ b/packages/claims-watcher/src/entity/IsTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/claims-watcher/src/entity/IsVotingProxy.ts b/packages/claims-watcher/src/entity/IsVotingProxy.ts index 172dd15..5cd6128 100644 --- a/packages/claims-watcher/src/entity/IsVotingProxy.ts +++ b/packages/claims-watcher/src/entity/IsVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/claims-watcher/src/gql/queries/canManage.gql b/packages/claims-watcher/src/gql/queries/canManage.gql index e52d71b..dad1626 100644 --- a/packages/claims-watcher/src/gql/queries/canManage.gql +++ b/packages/claims-watcher/src/gql/queries/canManage.gql @@ -1,4 +1,4 @@ -query canManage($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canManage($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canManage(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/canSpawnAs.gql b/packages/claims-watcher/src/gql/queries/canSpawnAs.gql index af9c463..040dd32 100644 --- a/packages/claims-watcher/src/gql/queries/canSpawnAs.gql +++ b/packages/claims-watcher/src/gql/queries/canSpawnAs.gql @@ -1,4 +1,4 @@ -query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canSpawnAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/canTransfer.gql b/packages/claims-watcher/src/gql/queries/canTransfer.gql index 14b39fa..994578f 100644 --- a/packages/claims-watcher/src/gql/queries/canTransfer.gql +++ b/packages/claims-watcher/src/gql/queries/canTransfer.gql @@ -1,4 +1,4 @@ -query canTransfer($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canTransfer($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canTransfer(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/canVoteAs.gql b/packages/claims-watcher/src/gql/queries/canVoteAs.gql index d2a79a9..87871a2 100644 --- a/packages/claims-watcher/src/gql/queries/canVoteAs.gql +++ b/packages/claims-watcher/src/gql/queries/canVoteAs.gql @@ -1,4 +1,4 @@ -query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canVoteAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/findClaim.gql b/packages/claims-watcher/src/gql/queries/findClaim.gql index fe8ab15..2d6efb4 100644 --- a/packages/claims-watcher/src/gql/queries/findClaim.gql +++ b/packages/claims-watcher/src/gql/queries/findClaim.gql @@ -1,4 +1,4 @@ -query findClaim($blockHash: String!, $contractAddress: String!, $_whose: Int!, $_protocol: String!, $_claim: String!){ +query findClaim($blockHash: String!, $contractAddress: String!, $_whose: BigInt!, $_protocol: String!, $_claim: String!){ findClaim(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose, _protocol: $_protocol, _claim: $_claim){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getContinuityNumber.gql b/packages/claims-watcher/src/gql/queries/getContinuityNumber.gql index 1ad5af4..244398d 100644 --- a/packages/claims-watcher/src/gql/queries/getContinuityNumber.gql +++ b/packages/claims-watcher/src/gql/queries/getContinuityNumber.gql @@ -1,4 +1,4 @@ -query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getContinuityNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getEscapeRequest.gql b/packages/claims-watcher/src/gql/queries/getEscapeRequest.gql index acf7e7b..7215f8b 100644 --- a/packages/claims-watcher/src/gql/queries/getEscapeRequest.gql +++ b/packages/claims-watcher/src/gql/queries/getEscapeRequest.gql @@ -1,4 +1,4 @@ -query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getEscapeRequest(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getEscapeRequests.gql b/packages/claims-watcher/src/gql/queries/getEscapeRequests.gql new file mode 100644 index 0000000..13b81ac --- /dev/null +++ b/packages/claims-watcher/src/gql/queries/getEscapeRequests.gql @@ -0,0 +1,8 @@ +query getEscapeRequests($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getEscapeRequests(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/claims-watcher/src/gql/queries/getEscapeRequestsCount.gql b/packages/claims-watcher/src/gql/queries/getEscapeRequestsCount.gql index 5b6e489..ca7f8ef 100644 --- a/packages/claims-watcher/src/gql/queries/getEscapeRequestsCount.gql +++ b/packages/claims-watcher/src/gql/queries/getEscapeRequestsCount.gql @@ -1,4 +1,4 @@ -query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getEscapeRequestsCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getKeyRevisionNumber.gql b/packages/claims-watcher/src/gql/queries/getKeyRevisionNumber.gql index ebcea96..fdccc8b 100644 --- a/packages/claims-watcher/src/gql/queries/getKeyRevisionNumber.gql +++ b/packages/claims-watcher/src/gql/queries/getKeyRevisionNumber.gql @@ -1,4 +1,4 @@ -query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getKeyRevisionNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getManagementProxy.gql b/packages/claims-watcher/src/gql/queries/getManagementProxy.gql index fd499b7..a9be364 100644 --- a/packages/claims-watcher/src/gql/queries/getManagementProxy.gql +++ b/packages/claims-watcher/src/gql/queries/getManagementProxy.gql @@ -1,4 +1,4 @@ -query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getManagerFor.gql b/packages/claims-watcher/src/gql/queries/getManagerFor.gql new file mode 100644 index 0000000..12e6ca0 --- /dev/null +++ b/packages/claims-watcher/src/gql/queries/getManagerFor.gql @@ -0,0 +1,8 @@ +query getManagerFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getManagerFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/claims-watcher/src/gql/queries/getOwnedPoints.gql b/packages/claims-watcher/src/gql/queries/getOwnedPoints.gql new file mode 100644 index 0000000..869ed24 --- /dev/null +++ b/packages/claims-watcher/src/gql/queries/getOwnedPoints.gql @@ -0,0 +1,8 @@ +query getOwnedPoints($blockHash: String!, $contractAddress: String!, $_whose: String!){ + getOwnedPoints(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/claims-watcher/src/gql/queries/getOwner.gql b/packages/claims-watcher/src/gql/queries/getOwner.gql index f20db27..cc665d0 100644 --- a/packages/claims-watcher/src/gql/queries/getOwner.gql +++ b/packages/claims-watcher/src/gql/queries/getOwner.gql @@ -1,4 +1,4 @@ -query getOwner($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getSpawnCount.gql b/packages/claims-watcher/src/gql/queries/getSpawnCount.gql index 2edcff0..f990551 100644 --- a/packages/claims-watcher/src/gql/queries/getSpawnCount.gql +++ b/packages/claims-watcher/src/gql/queries/getSpawnCount.gql @@ -1,4 +1,4 @@ -query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnCount(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getSpawnProxy.gql b/packages/claims-watcher/src/gql/queries/getSpawnProxy.gql index fe536b2..f542279 100644 --- a/packages/claims-watcher/src/gql/queries/getSpawnProxy.gql +++ b/packages/claims-watcher/src/gql/queries/getSpawnProxy.gql @@ -1,4 +1,4 @@ -query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getSpawned.gql b/packages/claims-watcher/src/gql/queries/getSpawned.gql new file mode 100644 index 0000000..ab9ea11 --- /dev/null +++ b/packages/claims-watcher/src/gql/queries/getSpawned.gql @@ -0,0 +1,8 @@ +query getSpawned($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ + getSpawned(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/claims-watcher/src/gql/queries/getSpawningFor.gql b/packages/claims-watcher/src/gql/queries/getSpawningFor.gql new file mode 100644 index 0000000..5059aa6 --- /dev/null +++ b/packages/claims-watcher/src/gql/queries/getSpawningFor.gql @@ -0,0 +1,8 @@ +query getSpawningFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getSpawningFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/claims-watcher/src/gql/queries/getSponsor.gql b/packages/claims-watcher/src/gql/queries/getSponsor.gql index 9843916..56a5305 100644 --- a/packages/claims-watcher/src/gql/queries/getSponsor.gql +++ b/packages/claims-watcher/src/gql/queries/getSponsor.gql @@ -1,4 +1,4 @@ -query getSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getSponsoring.gql b/packages/claims-watcher/src/gql/queries/getSponsoring.gql new file mode 100644 index 0000000..cb6a4b4 --- /dev/null +++ b/packages/claims-watcher/src/gql/queries/getSponsoring.gql @@ -0,0 +1,8 @@ +query getSponsoring($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getSponsoring(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/claims-watcher/src/gql/queries/getSponsoringCount.gql b/packages/claims-watcher/src/gql/queries/getSponsoringCount.gql index 3d070dd..ee62745 100644 --- a/packages/claims-watcher/src/gql/queries/getSponsoringCount.gql +++ b/packages/claims-watcher/src/gql/queries/getSponsoringCount.gql @@ -1,4 +1,4 @@ -query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getSponsoringCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getTransferProxy.gql b/packages/claims-watcher/src/gql/queries/getTransferProxy.gql index 852fd2f..c14c0ab 100644 --- a/packages/claims-watcher/src/gql/queries/getTransferProxy.gql +++ b/packages/claims-watcher/src/gql/queries/getTransferProxy.gql @@ -1,4 +1,4 @@ -query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/getTransferringFor.gql b/packages/claims-watcher/src/gql/queries/getTransferringFor.gql new file mode 100644 index 0000000..0911c39 --- /dev/null +++ b/packages/claims-watcher/src/gql/queries/getTransferringFor.gql @@ -0,0 +1,8 @@ +query getTransferringFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getTransferringFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/claims-watcher/src/gql/queries/getVotingFor.gql b/packages/claims-watcher/src/gql/queries/getVotingFor.gql new file mode 100644 index 0000000..30186d8 --- /dev/null +++ b/packages/claims-watcher/src/gql/queries/getVotingFor.gql @@ -0,0 +1,8 @@ +query getVotingFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getVotingFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/claims-watcher/src/gql/queries/getVotingProxy.gql b/packages/claims-watcher/src/gql/queries/getVotingProxy.gql index 1f2f38a..49d37ab 100644 --- a/packages/claims-watcher/src/gql/queries/getVotingProxy.gql +++ b/packages/claims-watcher/src/gql/queries/getVotingProxy.gql @@ -1,4 +1,4 @@ -query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/hasBeenLinked.gql b/packages/claims-watcher/src/gql/queries/hasBeenLinked.gql index e9da67e..a50505c 100644 --- a/packages/claims-watcher/src/gql/queries/hasBeenLinked.gql +++ b/packages/claims-watcher/src/gql/queries/hasBeenLinked.gql @@ -1,4 +1,4 @@ -query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasBeenLinked(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/hasSponsor.gql b/packages/claims-watcher/src/gql/queries/hasSponsor.gql index 3e804ed..0261c6e 100644 --- a/packages/claims-watcher/src/gql/queries/hasSponsor.gql +++ b/packages/claims-watcher/src/gql/queries/hasSponsor.gql @@ -1,4 +1,4 @@ -query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/index.ts b/packages/claims-watcher/src/gql/queries/index.ts index 91e9188..31ea58d 100644 --- a/packages/claims-watcher/src/gql/queries/index.ts +++ b/packages/claims-watcher/src/gql/queries/index.ts @@ -9,34 +9,42 @@ export const hasBeenLinked = fs.readFileSync(path.join(__dirname, 'hasBeenLinked export const isLive = fs.readFileSync(path.join(__dirname, 'isLive.gql'), 'utf8'); export const getContinuityNumber = fs.readFileSync(path.join(__dirname, 'getContinuityNumber.gql'), 'utf8'); export const getSpawnCount = fs.readFileSync(path.join(__dirname, 'getSpawnCount.gql'), 'utf8'); +export const getSpawned = fs.readFileSync(path.join(__dirname, 'getSpawned.gql'), 'utf8'); export const hasSponsor = fs.readFileSync(path.join(__dirname, 'hasSponsor.gql'), 'utf8'); export const getSponsor = fs.readFileSync(path.join(__dirname, 'getSponsor.gql'), 'utf8'); export const isSponsor = fs.readFileSync(path.join(__dirname, 'isSponsor.gql'), 'utf8'); export const getSponsoringCount = fs.readFileSync(path.join(__dirname, 'getSponsoringCount.gql'), 'utf8'); +export const getSponsoring = fs.readFileSync(path.join(__dirname, 'getSponsoring.gql'), 'utf8'); export const isEscaping = fs.readFileSync(path.join(__dirname, 'isEscaping.gql'), 'utf8'); export const getEscapeRequest = fs.readFileSync(path.join(__dirname, 'getEscapeRequest.gql'), 'utf8'); export const isRequestingEscapeTo = fs.readFileSync(path.join(__dirname, 'isRequestingEscapeTo.gql'), 'utf8'); export const getEscapeRequestsCount = fs.readFileSync(path.join(__dirname, 'getEscapeRequestsCount.gql'), 'utf8'); +export const getEscapeRequests = fs.readFileSync(path.join(__dirname, 'getEscapeRequests.gql'), 'utf8'); export const getOwner = fs.readFileSync(path.join(__dirname, 'getOwner.gql'), 'utf8'); export const isOwner = fs.readFileSync(path.join(__dirname, 'isOwner.gql'), 'utf8'); export const getOwnedPointCount = fs.readFileSync(path.join(__dirname, 'getOwnedPointCount.gql'), 'utf8'); +export const getOwnedPoints = fs.readFileSync(path.join(__dirname, 'getOwnedPoints.gql'), 'utf8'); export const getOwnedPointAtIndex = fs.readFileSync(path.join(__dirname, 'getOwnedPointAtIndex.gql'), 'utf8'); export const getManagementProxy = fs.readFileSync(path.join(__dirname, 'getManagementProxy.gql'), 'utf8'); export const isManagementProxy = fs.readFileSync(path.join(__dirname, 'isManagementProxy.gql'), 'utf8'); export const canManage = fs.readFileSync(path.join(__dirname, 'canManage.gql'), 'utf8'); export const getManagerForCount = fs.readFileSync(path.join(__dirname, 'getManagerForCount.gql'), 'utf8'); +export const getManagerFor = fs.readFileSync(path.join(__dirname, 'getManagerFor.gql'), 'utf8'); export const getSpawnProxy = fs.readFileSync(path.join(__dirname, 'getSpawnProxy.gql'), 'utf8'); export const isSpawnProxy = fs.readFileSync(path.join(__dirname, 'isSpawnProxy.gql'), 'utf8'); export const canSpawnAs = fs.readFileSync(path.join(__dirname, 'canSpawnAs.gql'), 'utf8'); export const getSpawningForCount = fs.readFileSync(path.join(__dirname, 'getSpawningForCount.gql'), 'utf8'); +export const getSpawningFor = fs.readFileSync(path.join(__dirname, 'getSpawningFor.gql'), 'utf8'); export const getVotingProxy = fs.readFileSync(path.join(__dirname, 'getVotingProxy.gql'), 'utf8'); export const isVotingProxy = fs.readFileSync(path.join(__dirname, 'isVotingProxy.gql'), 'utf8'); export const canVoteAs = fs.readFileSync(path.join(__dirname, 'canVoteAs.gql'), 'utf8'); export const getVotingForCount = fs.readFileSync(path.join(__dirname, 'getVotingForCount.gql'), 'utf8'); +export const getVotingFor = fs.readFileSync(path.join(__dirname, 'getVotingFor.gql'), 'utf8'); export const getTransferProxy = fs.readFileSync(path.join(__dirname, 'getTransferProxy.gql'), 'utf8'); export const isTransferProxy = fs.readFileSync(path.join(__dirname, 'isTransferProxy.gql'), 'utf8'); export const canTransfer = fs.readFileSync(path.join(__dirname, 'canTransfer.gql'), 'utf8'); export const getTransferringForCount = fs.readFileSync(path.join(__dirname, 'getTransferringForCount.gql'), 'utf8'); +export const getTransferringFor = fs.readFileSync(path.join(__dirname, 'getTransferringFor.gql'), 'utf8'); export const isOperator = fs.readFileSync(path.join(__dirname, 'isOperator.gql'), 'utf8'); export const findClaim = fs.readFileSync(path.join(__dirname, 'findClaim.gql'), 'utf8'); export const getSyncStatus = fs.readFileSync(path.join(__dirname, 'getSyncStatus.gql'), 'utf8'); diff --git a/packages/claims-watcher/src/gql/queries/isActive.gql b/packages/claims-watcher/src/gql/queries/isActive.gql index fe365a4..74bc87f 100644 --- a/packages/claims-watcher/src/gql/queries/isActive.gql +++ b/packages/claims-watcher/src/gql/queries/isActive.gql @@ -1,4 +1,4 @@ -query isActive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isActive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isActive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/isEscaping.gql b/packages/claims-watcher/src/gql/queries/isEscaping.gql index 89113e6..4ed499f 100644 --- a/packages/claims-watcher/src/gql/queries/isEscaping.gql +++ b/packages/claims-watcher/src/gql/queries/isEscaping.gql @@ -1,4 +1,4 @@ -query isEscaping($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isEscaping($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isEscaping(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/isLive.gql b/packages/claims-watcher/src/gql/queries/isLive.gql index ceaa49e..78a61fd 100644 --- a/packages/claims-watcher/src/gql/queries/isLive.gql +++ b/packages/claims-watcher/src/gql/queries/isLive.gql @@ -1,4 +1,4 @@ -query isLive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isLive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isLive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/isManagementProxy.gql b/packages/claims-watcher/src/gql/queries/isManagementProxy.gql index c3484d6..64b7656 100644 --- a/packages/claims-watcher/src/gql/queries/isManagementProxy.gql +++ b/packages/claims-watcher/src/gql/queries/isManagementProxy.gql @@ -1,4 +1,4 @@ -query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/isOwner.gql b/packages/claims-watcher/src/gql/queries/isOwner.gql index 84dfc3b..9378225 100644 --- a/packages/claims-watcher/src/gql/queries/isOwner.gql +++ b/packages/claims-watcher/src/gql/queries/isOwner.gql @@ -1,4 +1,4 @@ -query isOwner($blockHash: String!, $contractAddress: String!, $_point: Int!, $_address: String!){ +query isOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_address: String!){ isOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _address: $_address){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/isRequestingEscapeTo.gql b/packages/claims-watcher/src/gql/queries/isRequestingEscapeTo.gql index bb2d6dd..f1c9afb 100644 --- a/packages/claims-watcher/src/gql/queries/isRequestingEscapeTo.gql +++ b/packages/claims-watcher/src/gql/queries/isRequestingEscapeTo.gql @@ -1,4 +1,4 @@ -query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isRequestingEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/isSpawnProxy.gql b/packages/claims-watcher/src/gql/queries/isSpawnProxy.gql index 161923d..2223af6 100644 --- a/packages/claims-watcher/src/gql/queries/isSpawnProxy.gql +++ b/packages/claims-watcher/src/gql/queries/isSpawnProxy.gql @@ -1,4 +1,4 @@ -query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/isSponsor.gql b/packages/claims-watcher/src/gql/queries/isSponsor.gql index 4daff70..3e1b3cc 100644 --- a/packages/claims-watcher/src/gql/queries/isSponsor.gql +++ b/packages/claims-watcher/src/gql/queries/isSponsor.gql @@ -1,4 +1,4 @@ -query isSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/isTransferProxy.gql b/packages/claims-watcher/src/gql/queries/isTransferProxy.gql index 1057968..feccdf0 100644 --- a/packages/claims-watcher/src/gql/queries/isTransferProxy.gql +++ b/packages/claims-watcher/src/gql/queries/isTransferProxy.gql @@ -1,4 +1,4 @@ -query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/claims-watcher/src/gql/queries/isVotingProxy.gql b/packages/claims-watcher/src/gql/queries/isVotingProxy.gql index 28bdb0f..3bf33c8 100644 --- a/packages/claims-watcher/src/gql/queries/isVotingProxy.gql +++ b/packages/claims-watcher/src/gql/queries/isVotingProxy.gql @@ -1,4 +1,4 @@ -query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/claims-watcher/src/indexer.ts b/packages/claims-watcher/src/indexer.ts index 9a5f076..1f65df5 100644 --- a/packages/claims-watcher/src/indexer.ts +++ b/packages/claims-watcher/src/indexer.ts @@ -94,7 +94,7 @@ export class Indexer implements IndexerInterface { return getResultEvent(event); } - async isActive (blockHash: string, contractAddress: string, _point: number): Promise { + async isActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsActive({ blockHash, contractAddress, _point }); if (entity) { log('isActive: db hit.'); @@ -123,7 +123,7 @@ export class Indexer implements IndexerInterface { return result; } - async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetKeyRevisionNumber({ blockHash, contractAddress, _point }); if (entity) { log('getKeyRevisionNumber: db hit.'); @@ -143,7 +143,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + let value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -152,7 +154,7 @@ export class Indexer implements IndexerInterface { return result; } - async hasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async hasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasBeenLinked({ blockHash, contractAddress, _point }); if (entity) { log('hasBeenLinked: db hit.'); @@ -181,7 +183,7 @@ export class Indexer implements IndexerInterface { return result; } - async isLive (blockHash: string, contractAddress: string, _point: number): Promise { + async isLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsLive({ blockHash, contractAddress, _point }); if (entity) { log('isLive: db hit.'); @@ -210,7 +212,7 @@ export class Indexer implements IndexerInterface { return result; } - async getContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetContinuityNumber({ blockHash, contractAddress, _point }); if (entity) { log('getContinuityNumber: db hit.'); @@ -230,7 +232,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + let value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -239,7 +243,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnCount({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnCount: db hit.'); @@ -259,7 +263,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + let value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -268,7 +274,25 @@ export class Indexer implements IndexerInterface { return result; } - async hasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawned (blockHash: string, contractAddress: string, _point: bigint): Promise { + log('getSpawned: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CLAIMS); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawned(_point, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async hasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasSponsor({ blockHash, contractAddress, _point }); if (entity) { log('hasSponsor: db hit.'); @@ -297,7 +321,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSponsor({ blockHash, contractAddress, _point }); if (entity) { log('getSponsor: db hit.'); @@ -317,7 +341,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSponsor(_point, { blockTag: blockHash }); + let value = await contract.getSponsor(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -326,7 +352,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsSponsor({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isSponsor: db hit.'); @@ -355,7 +381,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetSponsoringCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getSponsoringCount: db hit.'); @@ -386,7 +412,25 @@ export class Indexer implements IndexerInterface { return result; } - async isEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsoring (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getSponsoring: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CLAIMS); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSponsoring(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async isEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsEscaping({ blockHash, contractAddress, _point }); if (entity) { log('isEscaping: db hit.'); @@ -415,7 +459,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetEscapeRequest({ blockHash, contractAddress, _point }); if (entity) { log('getEscapeRequest: db hit.'); @@ -435,7 +479,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + let value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -444,7 +490,7 @@ export class Indexer implements IndexerInterface { return result; } - async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsRequestingEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isRequestingEscapeTo: db hit.'); @@ -473,7 +519,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetEscapeRequestsCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getEscapeRequestsCount: db hit.'); @@ -504,7 +550,25 @@ export class Indexer implements IndexerInterface { return result; } - async getOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequests (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getEscapeRequests: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CLAIMS); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getEscapeRequests(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetOwner({ blockHash, contractAddress, _point }); if (entity) { log('getOwner: db hit.'); @@ -533,7 +597,7 @@ export class Indexer implements IndexerInterface { return result; } - async isOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async isOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const entity = await this._db.getIsOwner({ blockHash, contractAddress, _point, _address }); if (entity) { log('isOwner: db hit.'); @@ -593,6 +657,24 @@ export class Indexer implements IndexerInterface { return result; } + async getOwnedPoints (blockHash: string, contractAddress: string, _whose: string): Promise { + log('getOwnedPoints: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CLAIMS); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getOwnedPoints(_whose, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async getOwnedPointAtIndex (blockHash: string, contractAddress: string, _whose: string, _index: bigint): Promise { const entity = await this._db.getGetOwnedPointAtIndex({ blockHash, contractAddress, _whose, _index }); if (entity) { @@ -613,7 +695,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + let value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -622,7 +706,7 @@ export class Indexer implements IndexerInterface { return result; } - async getManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetManagementProxy({ blockHash, contractAddress, _point }); if (entity) { log('getManagementProxy: db hit.'); @@ -651,7 +735,7 @@ export class Indexer implements IndexerInterface { return result; } - async isManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsManagementProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isManagementProxy: db hit.'); @@ -680,7 +764,7 @@ export class Indexer implements IndexerInterface { return result; } - async canManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanManage({ blockHash, contractAddress, _point, _who }); if (entity) { log('canManage: db hit.'); @@ -740,7 +824,25 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagerFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getManagerFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CLAIMS); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getManagerFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnProxy({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnProxy: db hit.'); @@ -769,7 +871,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsSpawnProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isSpawnProxy: db hit.'); @@ -798,7 +900,7 @@ export class Indexer implements IndexerInterface { return result; } - async canSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanSpawnAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canSpawnAs: db hit.'); @@ -858,7 +960,25 @@ export class Indexer implements IndexerInterface { return result; } - async getVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawningFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getSpawningFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CLAIMS); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawningFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetVotingProxy({ blockHash, contractAddress, _point }); if (entity) { log('getVotingProxy: db hit.'); @@ -887,7 +1007,7 @@ export class Indexer implements IndexerInterface { return result; } - async isVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsVotingProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isVotingProxy: db hit.'); @@ -916,7 +1036,7 @@ export class Indexer implements IndexerInterface { return result; } - async canVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanVoteAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canVoteAs: db hit.'); @@ -976,7 +1096,25 @@ export class Indexer implements IndexerInterface { return result; } - async getTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getVotingFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getVotingFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CLAIMS); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getVotingFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetTransferProxy({ blockHash, contractAddress, _point }); if (entity) { log('getTransferProxy: db hit.'); @@ -1005,7 +1143,7 @@ export class Indexer implements IndexerInterface { return result; } - async isTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsTransferProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isTransferProxy: db hit.'); @@ -1034,7 +1172,7 @@ export class Indexer implements IndexerInterface { return result; } - async canTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanTransfer({ blockHash, contractAddress, _point, _who }); if (entity) { log('canTransfer: db hit.'); @@ -1094,6 +1232,24 @@ export class Indexer implements IndexerInterface { return result; } + async getTransferringFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getTransferringFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CLAIMS); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getTransferringFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async isOperator (blockHash: string, contractAddress: string, _owner: string, _operator: string): Promise { const entity = await this._db.getIsOperator({ blockHash, contractAddress, _owner, _operator }); if (entity) { @@ -1123,7 +1279,7 @@ export class Indexer implements IndexerInterface { return result; } - async findClaim (blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string): Promise { + async findClaim (blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string): Promise { const entity = await this._db.getFindClaim({ blockHash, contractAddress, _whose, _protocol, _claim }); if (entity) { log('findClaim: db hit.'); diff --git a/packages/claims-watcher/src/resolvers.ts b/packages/claims-watcher/src/resolvers.ts index 93ee783..3b70642 100644 --- a/packages/claims-watcher/src/resolvers.ts +++ b/packages/claims-watcher/src/resolvers.ts @@ -71,7 +71,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher Query: { isActive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -87,7 +87,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getKeyRevisionNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -103,7 +103,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher hasBeenLinked: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -119,7 +119,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isLive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -135,7 +135,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getContinuityNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -151,7 +151,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnCount: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -165,9 +165,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawnCount(blockHash, contractAddress, _point); }, + getSpawned: ( + _: any, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawned', blockHash, contractAddress, _point); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawned').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawned(blockHash, contractAddress, _point); + }, + hasSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -183,7 +199,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -199,7 +215,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSponsor: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -215,7 +231,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsoringCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -229,9 +245,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSponsoringCount(blockHash, contractAddress, _sponsor); }, + getSponsoring: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSponsoring', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSponsoring').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSponsoring(blockHash, contractAddress, _sponsor); + }, + isEscaping: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -247,7 +279,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequest: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -263,7 +295,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isRequestingEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -279,7 +311,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequestsCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -293,9 +325,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getEscapeRequestsCount(blockHash, contractAddress, _sponsor); }, + getEscapeRequests: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getEscapeRequests', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getEscapeRequests').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getEscapeRequests(blockHash, contractAddress, _sponsor); + }, + getOwner: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -311,7 +359,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isOwner: ( _: any, - { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }, + { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -341,6 +389,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getOwnedPointCount(blockHash, contractAddress, _whose); }, + getOwnedPoints: ( + _: any, + { blockHash, contractAddress, _whose }: { blockHash: string, contractAddress: string, _whose: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getOwnedPoints', blockHash, contractAddress, _whose); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getOwnedPoints').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getOwnedPoints(blockHash, contractAddress, _whose); + }, + getOwnedPointAtIndex: ( _: any, { blockHash, contractAddress, _whose, _index }: { blockHash: string, contractAddress: string, _whose: string, _index: bigint }, @@ -359,7 +423,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getManagementProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -375,7 +439,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isManagementProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -391,7 +455,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canManage: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -421,9 +485,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getManagerForCount(blockHash, contractAddress, _proxy); }, + getManagerFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getManagerFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getManagerFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getManagerFor(blockHash, contractAddress, _proxy); + }, + getSpawnProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -439,7 +519,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSpawnProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -455,7 +535,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canSpawnAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -485,9 +565,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawningForCount(blockHash, contractAddress, _proxy); }, + getSpawningFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawningFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawningFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawningFor(blockHash, contractAddress, _proxy); + }, + getVotingProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -503,7 +599,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isVotingProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -519,7 +615,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canVoteAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -549,9 +645,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getVotingForCount(blockHash, contractAddress, _proxy); }, + getVotingFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getVotingFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getVotingFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getVotingFor(blockHash, contractAddress, _proxy); + }, + getTransferProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -567,7 +679,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isTransferProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -583,7 +695,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canTransfer: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -613,6 +725,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getTransferringForCount(blockHash, contractAddress, _proxy); }, + getTransferringFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getTransferringFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getTransferringFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getTransferringFor(blockHash, contractAddress, _proxy); + }, + isOperator: ( _: any, { blockHash, contractAddress, _owner, _operator }: { blockHash: string, contractAddress: string, _owner: string, _operator: string }, @@ -631,7 +759,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher findClaim: ( _: any, - { blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string }, + { blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string }, __: any, info: GraphQLResolveInfo ): Promise => { diff --git a/packages/claims-watcher/src/schema.gql b/packages/claims-watcher/src/schema.gql index 0d10b04..9d6cbcf 100644 --- a/packages/claims-watcher/src/schema.gql +++ b/packages/claims-watcher/src/schema.gql @@ -15,26 +15,6 @@ type Proof { data: String! } -type ResultBoolean { - value: Boolean! - proof: Proof -} - -type ResultString { - value: String! - proof: Proof -} - -type ResultInt { - value: Int! - proof: Proof -} - -type ResultBigInt { - value: BigInt! - proof: Proof -} - type _Block_ { cid: String! hash: String! @@ -62,14 +42,14 @@ type ResultEvent { union Event = ClaimAddedEvent | ClaimRemovedEvent type ClaimAddedEvent { - by: Int! + by: BigInt! _protocol: String! _claim: String! _dossier: String! } type ClaimRemovedEvent { - by: Int! + by: BigInt! _protocol: String! _claim: String! } @@ -92,47 +72,80 @@ type ResultState { type Query { events(blockHash: String!, contractAddress: String!, name: String): [ResultEvent!] eventsInRange(fromBlockNumber: Int!, toBlockNumber: Int!): [ResultEvent!] - isActive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasBeenLinked(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - isLive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getContinuityNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - getSpawnCount(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isSponsor(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - isEscaping(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getEscapeRequest(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - getOwner(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isOwner(blockHash: String!, contractAddress: String!, _point: Int!, _address: String!): ResultBoolean! + isActive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + hasBeenLinked(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + isLive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getContinuityNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawnCount(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawned(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigIntArray! + hasSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getSponsoring(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + isEscaping(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getEscapeRequest(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getEscapeRequests(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + getOwner(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isOwner(blockHash: String!, contractAddress: String!, _point: BigInt!, _address: String!): ResultBoolean! getOwnedPointCount(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigInt! - getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultInt! - getManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canManage(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getOwnedPoints(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigIntArray! + getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultBigInt! + getManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canManage(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getManagerForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canSpawnAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getManagerFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canSpawnAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getSpawningForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canVoteAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getSpawningFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canVoteAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getVotingForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canTransfer(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getVotingFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canTransfer(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getTransferringForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! + getTransferringFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! isOperator(blockHash: String!, contractAddress: String!, _owner: String!, _operator: String!): ResultBoolean! - findClaim(blockHash: String!, contractAddress: String!, _whose: Int!, _protocol: String!, _claim: String!): ResultInt! + findClaim(blockHash: String!, contractAddress: String!, _whose: BigInt!, _protocol: String!, _claim: String!): ResultInt! getSyncStatus: SyncStatus getStateByCID(cid: String!): ResultState getState(blockHash: String!, contractAddress: String!, kind: String): ResultState } +type ResultBoolean { + value: Boolean! + proof: Proof +} + +type ResultBigInt { + value: BigInt! + proof: Proof +} + +type ResultBigIntArray { + value: [BigInt!]! + proof: Proof +} + +type ResultString { + value: String! + proof: Proof +} + +type ResultInt { + value: Int! + proof: Proof +} + type Mutation { watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean! } diff --git a/packages/conditional-star-release-watcher/package.json b/packages/conditional-star-release-watcher/package.json index b86ee68..12146c7 100644 --- a/packages/conditional-star-release-watcher/package.json +++ b/packages/conditional-star-release-watcher/package.json @@ -5,7 +5,7 @@ "private": true, "main": "dist/index.js", "scripts": { - "lint": "eslint .", + "lint": "eslint --max-warnings=0 .", "build": "yarn clean && tsc && yarn copy-assets", "clean": "rm -rf ./dist", "copy-assets": "copyfiles -u 1 src/**/*.gql dist/", @@ -38,10 +38,10 @@ "dependencies": { "@apollo/client": "^3.3.19", "@ethersproject/providers": "^5.4.4", - "@cerc-io/cli": "^0.2.34", - "@cerc-io/ipld-eth-client": "^0.2.34", - "@cerc-io/solidity-mapper": "^0.2.34", - "@cerc-io/util": "^0.2.34", + "@cerc-io/cli": "^0.2.39", + "@cerc-io/ipld-eth-client": "^0.2.39", + "@cerc-io/solidity-mapper": "^0.2.39", + "@cerc-io/util": "^0.2.39", "apollo-type-bigint": "^0.1.3", "debug": "^4.3.1", "ethers": "^5.4.4", @@ -56,7 +56,7 @@ "@ethersproject/abi": "^5.3.0", "@types/yargs": "^17.0.0", "@types/debug": "^4.1.5", - "@types/json-bigint": "^1.0.1", + "@types/json-bigint": "^1.0.0", "@typescript-eslint/eslint-plugin": "^5.47.1", "@typescript-eslint/parser": "^5.47.1", "eslint": "^8.35.0", diff --git a/packages/conditional-star-release-watcher/src/client.ts b/packages/conditional-star-release-watcher/src/client.ts index 525ef58..01d8724 100644 --- a/packages/conditional-star-release-watcher/src/client.ts +++ b/packages/conditional-star-release-watcher/src/client.ts @@ -17,7 +17,7 @@ export class Client { this._client = new GraphQLClient(config); } - async getIsActive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isActive } = await this._client.query( gql(queries.isActive), { blockHash, contractAddress, _point } @@ -26,7 +26,7 @@ export class Client { return isActive; } - async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getKeyRevisionNumber } = await this._client.query( gql(queries.getKeyRevisionNumber), { blockHash, contractAddress, _point } @@ -35,7 +35,7 @@ export class Client { return getKeyRevisionNumber; } - async getHasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasBeenLinked } = await this._client.query( gql(queries.hasBeenLinked), { blockHash, contractAddress, _point } @@ -44,7 +44,7 @@ export class Client { return hasBeenLinked; } - async getIsLive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isLive } = await this._client.query( gql(queries.isLive), { blockHash, contractAddress, _point } @@ -53,7 +53,7 @@ export class Client { return isLive; } - async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getContinuityNumber } = await this._client.query( gql(queries.getContinuityNumber), { blockHash, contractAddress, _point } @@ -62,7 +62,7 @@ export class Client { return getContinuityNumber; } - async getGetSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnCount } = await this._client.query( gql(queries.getSpawnCount), { blockHash, contractAddress, _point } @@ -71,7 +71,7 @@ export class Client { return getSpawnCount; } - async getHasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasSponsor } = await this._client.query( gql(queries.hasSponsor), { blockHash, contractAddress, _point } @@ -80,7 +80,7 @@ export class Client { return hasSponsor; } - async getGetSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSponsor } = await this._client.query( gql(queries.getSponsor), { blockHash, contractAddress, _point } @@ -89,7 +89,7 @@ export class Client { return getSponsor; } - async getIsSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isSponsor } = await this._client.query( gql(queries.isSponsor), { blockHash, contractAddress, _point, _sponsor } @@ -98,7 +98,7 @@ export class Client { return isSponsor; } - async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getSponsoringCount } = await this._client.query( gql(queries.getSponsoringCount), { blockHash, contractAddress, _sponsor } @@ -107,7 +107,7 @@ export class Client { return getSponsoringCount; } - async getIsEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isEscaping } = await this._client.query( gql(queries.isEscaping), { blockHash, contractAddress, _point } @@ -116,7 +116,7 @@ export class Client { return isEscaping; } - async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getEscapeRequest } = await this._client.query( gql(queries.getEscapeRequest), { blockHash, contractAddress, _point } @@ -125,7 +125,7 @@ export class Client { return getEscapeRequest; } - async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isRequestingEscapeTo } = await this._client.query( gql(queries.isRequestingEscapeTo), { blockHash, contractAddress, _point, _sponsor } @@ -134,7 +134,7 @@ export class Client { return isRequestingEscapeTo; } - async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getEscapeRequestsCount } = await this._client.query( gql(queries.getEscapeRequestsCount), { blockHash, contractAddress, _sponsor } @@ -143,7 +143,7 @@ export class Client { return getEscapeRequestsCount; } - async getGetOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getOwner } = await this._client.query( gql(queries.getOwner), { blockHash, contractAddress, _point } @@ -152,7 +152,7 @@ export class Client { return getOwner; } - async getIsOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async getIsOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const { isOwner } = await this._client.query( gql(queries.isOwner), { blockHash, contractAddress, _point, _address } @@ -179,7 +179,7 @@ export class Client { return getOwnedPointAtIndex; } - async getGetManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getManagementProxy } = await this._client.query( gql(queries.getManagementProxy), { blockHash, contractAddress, _point } @@ -188,7 +188,7 @@ export class Client { return getManagementProxy; } - async getIsManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isManagementProxy } = await this._client.query( gql(queries.isManagementProxy), { blockHash, contractAddress, _point, _proxy } @@ -197,7 +197,7 @@ export class Client { return isManagementProxy; } - async getCanManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canManage } = await this._client.query( gql(queries.canManage), { blockHash, contractAddress, _point, _who } @@ -215,7 +215,7 @@ export class Client { return getManagerForCount; } - async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnProxy } = await this._client.query( gql(queries.getSpawnProxy), { blockHash, contractAddress, _point } @@ -224,7 +224,7 @@ export class Client { return getSpawnProxy; } - async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isSpawnProxy } = await this._client.query( gql(queries.isSpawnProxy), { blockHash, contractAddress, _point, _proxy } @@ -233,7 +233,7 @@ export class Client { return isSpawnProxy; } - async getCanSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canSpawnAs } = await this._client.query( gql(queries.canSpawnAs), { blockHash, contractAddress, _point, _who } @@ -251,7 +251,7 @@ export class Client { return getSpawningForCount; } - async getGetVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getVotingProxy } = await this._client.query( gql(queries.getVotingProxy), { blockHash, contractAddress, _point } @@ -260,7 +260,7 @@ export class Client { return getVotingProxy; } - async getIsVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isVotingProxy } = await this._client.query( gql(queries.isVotingProxy), { blockHash, contractAddress, _point, _proxy } @@ -269,7 +269,7 @@ export class Client { return isVotingProxy; } - async getCanVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canVoteAs } = await this._client.query( gql(queries.canVoteAs), { blockHash, contractAddress, _point, _who } @@ -287,7 +287,7 @@ export class Client { return getVotingForCount; } - async getGetTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getTransferProxy } = await this._client.query( gql(queries.getTransferProxy), { blockHash, contractAddress, _point } @@ -296,7 +296,7 @@ export class Client { return getTransferProxy; } - async getIsTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isTransferProxy } = await this._client.query( gql(queries.isTransferProxy), { blockHash, contractAddress, _point, _proxy } @@ -305,7 +305,7 @@ export class Client { return isTransferProxy; } - async getCanTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canTransfer } = await this._client.query( gql(queries.canTransfer), { blockHash, contractAddress, _point, _who } @@ -368,7 +368,7 @@ export class Client { return hasVotedOnDocumentPoll; } - async getFindClaim (blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string): Promise { + async getFindClaim (blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string): Promise { const { findClaim } = await this._client.query( gql(queries.findClaim), { blockHash, contractAddress, _whose, _protocol, _claim } @@ -485,7 +485,7 @@ export class Client { return tokenURI; } - async getGetSpawnLimit (blockHash: string, contractAddress: string, _point: number, _time: bigint): Promise { + async getGetSpawnLimit (blockHash: string, contractAddress: string, _point: bigint, _time: bigint): Promise { const { getSpawnLimit } = await this._client.query( gql(queries.getSpawnLimit), { blockHash, contractAddress, _point, _time } @@ -494,7 +494,7 @@ export class Client { return getSpawnLimit; } - async getCanEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getCanEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { canEscapeTo } = await this._client.query( gql(queries.canEscapeTo), { blockHash, contractAddress, _point, _sponsor } diff --git a/packages/conditional-star-release-watcher/src/database.ts b/packages/conditional-star-release-watcher/src/database.ts index 14fca04..6733867 100644 --- a/packages/conditional-star-release-watcher/src/database.ts +++ b/packages/conditional-star-release-watcher/src/database.ts @@ -79,12 +79,8 @@ import { VerifyBalance } from './entity/VerifyBalance'; import { GetBatch } from './entity/GetBatch'; import { GetWithdrawnFromBatch } from './entity/GetWithdrawnFromBatch'; import { HasForfeitedBatch } from './entity/HasForfeitedBatch'; -import { GetBatches } from './entity/GetBatches'; -import { GetWithdrawn } from './entity/GetWithdrawn'; -import { GetForfeited } from './entity/GetForfeited'; -import { GetRemainingStars } from './entity/GetRemainingStars'; -export const ENTITIES = [GetBatches, GetWithdrawn, GetForfeited, GetRemainingStars, IsActive, GetKeyRevisionNumber, HasBeenLinked, IsLive, GetContinuityNumber, GetSpawnCount, HasSponsor, GetSponsor, IsSponsor, GetSponsoringCount, IsEscaping, GetEscapeRequest, IsRequestingEscapeTo, GetEscapeRequestsCount, GetOwner, IsOwner, GetOwnedPointCount, GetOwnedPointAtIndex, GetManagementProxy, IsManagementProxy, CanManage, GetManagerForCount, GetSpawnProxy, IsSpawnProxy, CanSpawnAs, GetSpawningForCount, GetVotingProxy, IsVotingProxy, CanVoteAs, GetVotingForCount, GetTransferProxy, IsTransferProxy, CanTransfer, GetTransferringForCount, IsOperator, GetUpgradeProposalCount, GetDocumentProposalCount, HasVotedOnUpgradePoll, HasVotedOnDocumentPoll, FindClaim, SupportsInterface, BalanceOf, OwnerOf, Exists, GetApproved, IsApprovedForAll, TotalSupply, TokenOfOwnerByIndex, TokenByIndex, Name, Symbol, TokenURI, GetSpawnLimit, CanEscapeTo, WithdrawLimit, VerifyBalance, GetBatch, GetWithdrawnFromBatch, HasForfeitedBatch]; +export const ENTITIES = [IsActive, GetKeyRevisionNumber, HasBeenLinked, IsLive, GetContinuityNumber, GetSpawnCount, HasSponsor, GetSponsor, IsSponsor, GetSponsoringCount, IsEscaping, GetEscapeRequest, IsRequestingEscapeTo, GetEscapeRequestsCount, GetOwner, IsOwner, GetOwnedPointCount, GetOwnedPointAtIndex, GetManagementProxy, IsManagementProxy, CanManage, GetManagerForCount, GetSpawnProxy, IsSpawnProxy, CanSpawnAs, GetSpawningForCount, GetVotingProxy, IsVotingProxy, CanVoteAs, GetVotingForCount, GetTransferProxy, IsTransferProxy, CanTransfer, GetTransferringForCount, IsOperator, GetUpgradeProposalCount, GetDocumentProposalCount, HasVotedOnUpgradePoll, HasVotedOnDocumentPoll, FindClaim, SupportsInterface, BalanceOf, OwnerOf, Exists, GetApproved, IsApprovedForAll, TotalSupply, TokenOfOwnerByIndex, TokenByIndex, Name, Symbol, TokenURI, GetSpawnLimit, CanEscapeTo, WithdrawLimit, VerifyBalance, GetBatch, GetWithdrawnFromBatch, HasForfeitedBatch]; export class Database implements DatabaseInterface { _config: ConnectionOptions; @@ -117,7 +113,7 @@ export class Database implements DatabaseInterface { return this._baseDatabase.close(); } - async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsActive) .findOne({ blockHash, @@ -126,7 +122,7 @@ export class Database implements DatabaseInterface { }); } - async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetKeyRevisionNumber) .findOne({ blockHash, @@ -135,7 +131,7 @@ export class Database implements DatabaseInterface { }); } - async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasBeenLinked) .findOne({ blockHash, @@ -144,7 +140,7 @@ export class Database implements DatabaseInterface { }); } - async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsLive) .findOne({ blockHash, @@ -153,7 +149,7 @@ export class Database implements DatabaseInterface { }); } - async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetContinuityNumber) .findOne({ blockHash, @@ -162,7 +158,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnCount) .findOne({ blockHash, @@ -171,7 +167,7 @@ export class Database implements DatabaseInterface { }); } - async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasSponsor) .findOne({ blockHash, @@ -180,7 +176,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSponsor) .findOne({ blockHash, @@ -189,7 +185,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsSponsor) .findOne({ blockHash, @@ -199,7 +195,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetSponsoringCount) .findOne({ blockHash, @@ -208,7 +204,7 @@ export class Database implements DatabaseInterface { }); } - async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsEscaping) .findOne({ blockHash, @@ -217,7 +213,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetEscapeRequest) .findOne({ blockHash, @@ -226,7 +222,7 @@ export class Database implements DatabaseInterface { }); } - async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsRequestingEscapeTo) .findOne({ blockHash, @@ -236,7 +232,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetEscapeRequestsCount) .findOne({ blockHash, @@ -245,7 +241,7 @@ export class Database implements DatabaseInterface { }); } - async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetOwner) .findOne({ blockHash, @@ -254,7 +250,7 @@ export class Database implements DatabaseInterface { }); } - async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }): Promise { + async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }): Promise { return this._conn.getRepository(IsOwner) .findOne({ blockHash, @@ -283,7 +279,7 @@ export class Database implements DatabaseInterface { }); } - async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetManagementProxy) .findOne({ blockHash, @@ -292,7 +288,7 @@ export class Database implements DatabaseInterface { }); } - async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsManagementProxy) .findOne({ blockHash, @@ -302,7 +298,7 @@ export class Database implements DatabaseInterface { }); } - async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanManage) .findOne({ blockHash, @@ -321,7 +317,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnProxy) .findOne({ blockHash, @@ -330,7 +326,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsSpawnProxy) .findOne({ blockHash, @@ -340,7 +336,7 @@ export class Database implements DatabaseInterface { }); } - async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanSpawnAs) .findOne({ blockHash, @@ -359,7 +355,7 @@ export class Database implements DatabaseInterface { }); } - async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetVotingProxy) .findOne({ blockHash, @@ -368,7 +364,7 @@ export class Database implements DatabaseInterface { }); } - async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsVotingProxy) .findOne({ blockHash, @@ -378,7 +374,7 @@ export class Database implements DatabaseInterface { }); } - async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanVoteAs) .findOne({ blockHash, @@ -397,7 +393,7 @@ export class Database implements DatabaseInterface { }); } - async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetTransferProxy) .findOne({ blockHash, @@ -406,7 +402,7 @@ export class Database implements DatabaseInterface { }); } - async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsTransferProxy) .findOne({ blockHash, @@ -416,7 +412,7 @@ export class Database implements DatabaseInterface { }); } - async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanTransfer) .findOne({ blockHash, @@ -481,7 +477,7 @@ export class Database implements DatabaseInterface { }); } - async getFindClaim ({ blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string }): Promise { + async getFindClaim ({ blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string }): Promise { return this._conn.getRepository(FindClaim) .findOne({ blockHash, @@ -600,7 +596,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnLimit ({ blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: number, _time: bigint }): Promise { + async getGetSpawnLimit ({ blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: bigint, _time: bigint }): Promise { return this._conn.getRepository(GetSpawnLimit) .findOne({ blockHash, @@ -610,7 +606,7 @@ export class Database implements DatabaseInterface { }); } - async getCanEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getCanEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(CanEscapeTo) .findOne({ blockHash, @@ -649,42 +645,6 @@ export class Database implements DatabaseInterface { }); } - async getGetForfeited ({ blockHash, contractAddress, _participant }: { blockHash: string, contractAddress: string, _participant: string }): Promise { - return this._conn.getRepository(GetForfeited) - .findOne({ - blockHash, - contractAddress, - _participant - }); - } - - async getGetRemainingStars ({ blockHash, contractAddress, _participant }: { blockHash: string, contractAddress: string, _participant: string }): Promise { - return this._conn.getRepository(GetRemainingStars) - .findOne({ - blockHash, - contractAddress, - _participant - }); - } - - async getGetBatches ({ blockHash, contractAddress, _participant }: { blockHash: string, contractAddress: string, _participant: string }): Promise { - return this._conn.getRepository(GetBatches) - .findOne({ - blockHash, - contractAddress, - _participant - }); - } - - async getGetWithdrawn ({ blockHash, contractAddress, _participant }: { blockHash: string, contractAddress: string, _participant: string }): Promise { - return this._conn.getRepository(GetWithdrawn) - .findOne({ - blockHash, - contractAddress, - _participant - }); - } - async getGetWithdrawnFromBatch ({ blockHash, contractAddress, _participant, _batch }: { blockHash: string, contractAddress: string, _participant: string, _batch: number }): Promise { return this._conn.getRepository(GetWithdrawnFromBatch) .findOne({ @@ -1048,30 +1008,6 @@ export class Database implements DatabaseInterface { return repo.save(entity); } - async saveGetBatches ({ blockHash, blockNumber, contractAddress, _participant, value, proof }: DeepPartial): Promise { - const repo = this._conn.getRepository(GetBatches); - const entity = repo.create({ blockHash, blockNumber, contractAddress, _participant, value, proof }); - return repo.save(entity); - } - - async saveGetForfeited ({ blockHash, blockNumber, contractAddress, _participant, value, proof }: DeepPartial): Promise { - const repo = this._conn.getRepository(GetForfeited); - const entity = repo.create({ blockHash, blockNumber, contractAddress, _participant, value, proof }); - return repo.save(entity); - } - - async saveGetRemainingStars ({ blockHash, blockNumber, contractAddress, _participant, value, proof }: DeepPartial): Promise { - const repo = this._conn.getRepository(GetRemainingStars); - const entity = repo.create({ blockHash, blockNumber, contractAddress, _participant, value, proof }); - return repo.save(entity); - } - - async saveGetWithdrawn ({ blockHash, blockNumber, contractAddress, _participant, value, proof }: DeepPartial): Promise { - const repo = this._conn.getRepository(GetWithdrawn); - const entity = repo.create({ blockHash, blockNumber, contractAddress, _participant, value, proof }); - return repo.save(entity); - } - async saveGetWithdrawnFromBatch ({ blockHash, blockNumber, contractAddress, _participant, _batch, value, proof }: DeepPartial): Promise { const repo = this._conn.getRepository(GetWithdrawnFromBatch); const entity = repo.create({ blockHash, blockNumber, contractAddress, _participant, _batch, value, proof }); @@ -1289,10 +1225,6 @@ export class Database implements DatabaseInterface { } _setPropColMaps (): void { - this._propColMaps.GetBatches = this._getPropertyColumnMapForEntity('GetBatches'); - this._propColMaps.GetForfeited = this._getPropertyColumnMapForEntity('GetForfeited'); - this._propColMaps.GetRemainingStars = this._getPropertyColumnMapForEntity('GetRemainingStars'); - this._propColMaps.GetWithdrawn = this._getPropertyColumnMapForEntity('GetWithdrawn'); this._propColMaps.IsActive = this._getPropertyColumnMapForEntity('IsActive'); this._propColMaps.GetKeyRevisionNumber = this._getPropertyColumnMapForEntity('GetKeyRevisionNumber'); this._propColMaps.HasBeenLinked = this._getPropertyColumnMapForEntity('HasBeenLinked'); diff --git a/packages/conditional-star-release-watcher/src/entity/CanEscapeTo.ts b/packages/conditional-star-release-watcher/src/entity/CanEscapeTo.ts index 26a6f69..7b7f093 100644 --- a/packages/conditional-star-release-watcher/src/entity/CanEscapeTo.ts +++ b/packages/conditional-star-release-watcher/src/entity/CanEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class CanEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/conditional-star-release-watcher/src/entity/CanManage.ts b/packages/conditional-star-release-watcher/src/entity/CanManage.ts index 2ad7b1b..442f5bc 100644 --- a/packages/conditional-star-release-watcher/src/entity/CanManage.ts +++ b/packages/conditional-star-release-watcher/src/entity/CanManage.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanManage { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/CanSpawnAs.ts b/packages/conditional-star-release-watcher/src/entity/CanSpawnAs.ts index 9163537..09c21c4 100644 --- a/packages/conditional-star-release-watcher/src/entity/CanSpawnAs.ts +++ b/packages/conditional-star-release-watcher/src/entity/CanSpawnAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanSpawnAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/CanTransfer.ts b/packages/conditional-star-release-watcher/src/entity/CanTransfer.ts index 82fb96e..17ecc02 100644 --- a/packages/conditional-star-release-watcher/src/entity/CanTransfer.ts +++ b/packages/conditional-star-release-watcher/src/entity/CanTransfer.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanTransfer { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/CanVoteAs.ts b/packages/conditional-star-release-watcher/src/entity/CanVoteAs.ts index 956d249..b9519df 100644 --- a/packages/conditional-star-release-watcher/src/entity/CanVoteAs.ts +++ b/packages/conditional-star-release-watcher/src/entity/CanVoteAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanVoteAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/FindClaim.ts b/packages/conditional-star-release-watcher/src/entity/FindClaim.ts index a4c4294..eb35291 100644 --- a/packages/conditional-star-release-watcher/src/entity/FindClaim.ts +++ b/packages/conditional-star-release-watcher/src/entity/FindClaim.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_whose', '_protocol', '_claim'], { unique: true }) @@ -19,8 +20,8 @@ export class FindClaim { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _whose!: number; + @Column('numeric', { transformer: bigintTransformer }) + _whose!: bigint; @Column('varchar') _protocol!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetContinuityNumber.ts b/packages/conditional-star-release-watcher/src/entity/GetContinuityNumber.ts index 27c158a..d4d3fb9 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetContinuityNumber.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetContinuityNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetContinuityNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetEscapeRequest.ts b/packages/conditional-star-release-watcher/src/entity/GetEscapeRequest.ts index 09eb1d9..d2ed83d 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetEscapeRequest.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetEscapeRequest.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetEscapeRequest { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetEscapeRequestsCount.ts b/packages/conditional-star-release-watcher/src/entity/GetEscapeRequestsCount.ts index 9e020db..2339c14 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetEscapeRequestsCount.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetEscapeRequestsCount.ts @@ -20,8 +20,8 @@ export class GetEscapeRequestsCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/conditional-star-release-watcher/src/entity/GetKeyRevisionNumber.ts b/packages/conditional-star-release-watcher/src/entity/GetKeyRevisionNumber.ts index ca5f269..9ea106d 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetKeyRevisionNumber.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetKeyRevisionNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetKeyRevisionNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetManagementProxy.ts b/packages/conditional-star-release-watcher/src/entity/GetManagementProxy.ts index 310a4fb..73db456 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetManagementProxy.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetOwnedPointAtIndex.ts b/packages/conditional-star-release-watcher/src/entity/GetOwnedPointAtIndex.ts index cabc086..6aff916 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetOwnedPointAtIndex.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetOwnedPointAtIndex.ts @@ -26,8 +26,8 @@ export class GetOwnedPointAtIndex { @Column('numeric', { transformer: bigintTransformer }) _index!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetOwner.ts b/packages/conditional-star-release-watcher/src/entity/GetOwner.ts index 00ff4df..04f3e9f 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetOwner.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetSpawnCount.ts b/packages/conditional-star-release-watcher/src/entity/GetSpawnCount.ts index 6cc44cc..314cfe6 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetSpawnCount.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetSpawnCount.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSpawnCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetSpawnLimit.ts b/packages/conditional-star-release-watcher/src/entity/GetSpawnLimit.ts index 59ba37d..ab1e0dc 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetSpawnLimit.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetSpawnLimit.ts @@ -20,14 +20,14 @@ export class GetSpawnLimit { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('numeric', { transformer: bigintTransformer }) _time!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetSpawnProxy.ts b/packages/conditional-star-release-watcher/src/entity/GetSpawnProxy.ts index d1e2cbd..7ee732c 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetSpawnProxy.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetSponsor.ts b/packages/conditional-star-release-watcher/src/entity/GetSponsor.ts index 3d964f9..a901174 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetSponsor.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetSponsoringCount.ts b/packages/conditional-star-release-watcher/src/entity/GetSponsoringCount.ts index 95dcbd9..c3e8c8c 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetSponsoringCount.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetSponsoringCount.ts @@ -20,8 +20,8 @@ export class GetSponsoringCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/conditional-star-release-watcher/src/entity/GetTransferProxy.ts b/packages/conditional-star-release-watcher/src/entity/GetTransferProxy.ts index f2dd7b2..1173349 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetTransferProxy.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/GetVotingProxy.ts b/packages/conditional-star-release-watcher/src/entity/GetVotingProxy.ts index c4a73e5..602d459 100644 --- a/packages/conditional-star-release-watcher/src/entity/GetVotingProxy.ts +++ b/packages/conditional-star-release-watcher/src/entity/GetVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/HasBeenLinked.ts b/packages/conditional-star-release-watcher/src/entity/HasBeenLinked.ts index 4f897dc..38916ab 100644 --- a/packages/conditional-star-release-watcher/src/entity/HasBeenLinked.ts +++ b/packages/conditional-star-release-watcher/src/entity/HasBeenLinked.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasBeenLinked { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/conditional-star-release-watcher/src/entity/HasSponsor.ts b/packages/conditional-star-release-watcher/src/entity/HasSponsor.ts index ccc8875..eb479ea 100644 --- a/packages/conditional-star-release-watcher/src/entity/HasSponsor.ts +++ b/packages/conditional-star-release-watcher/src/entity/HasSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/conditional-star-release-watcher/src/entity/IsActive.ts b/packages/conditional-star-release-watcher/src/entity/IsActive.ts index 055e224..a725d12 100644 --- a/packages/conditional-star-release-watcher/src/entity/IsActive.ts +++ b/packages/conditional-star-release-watcher/src/entity/IsActive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsActive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/conditional-star-release-watcher/src/entity/IsEscaping.ts b/packages/conditional-star-release-watcher/src/entity/IsEscaping.ts index fb4c3bd..a3c704f 100644 --- a/packages/conditional-star-release-watcher/src/entity/IsEscaping.ts +++ b/packages/conditional-star-release-watcher/src/entity/IsEscaping.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsEscaping { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/conditional-star-release-watcher/src/entity/IsLive.ts b/packages/conditional-star-release-watcher/src/entity/IsLive.ts index 87ca00f..e3270e0 100644 --- a/packages/conditional-star-release-watcher/src/entity/IsLive.ts +++ b/packages/conditional-star-release-watcher/src/entity/IsLive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsLive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/conditional-star-release-watcher/src/entity/IsManagementProxy.ts b/packages/conditional-star-release-watcher/src/entity/IsManagementProxy.ts index 14ac477..e72a487 100644 --- a/packages/conditional-star-release-watcher/src/entity/IsManagementProxy.ts +++ b/packages/conditional-star-release-watcher/src/entity/IsManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/IsOwner.ts b/packages/conditional-star-release-watcher/src/entity/IsOwner.ts index 81a6046..51aeaed 100644 --- a/packages/conditional-star-release-watcher/src/entity/IsOwner.ts +++ b/packages/conditional-star-release-watcher/src/entity/IsOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_address'], { unique: true }) @@ -19,8 +20,8 @@ export class IsOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _address!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/IsRequestingEscapeTo.ts b/packages/conditional-star-release-watcher/src/entity/IsRequestingEscapeTo.ts index 58409ab..5c6385d 100644 --- a/packages/conditional-star-release-watcher/src/entity/IsRequestingEscapeTo.ts +++ b/packages/conditional-star-release-watcher/src/entity/IsRequestingEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsRequestingEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/conditional-star-release-watcher/src/entity/IsSpawnProxy.ts b/packages/conditional-star-release-watcher/src/entity/IsSpawnProxy.ts index 023ca72..d6ba37b 100644 --- a/packages/conditional-star-release-watcher/src/entity/IsSpawnProxy.ts +++ b/packages/conditional-star-release-watcher/src/entity/IsSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/IsSponsor.ts b/packages/conditional-star-release-watcher/src/entity/IsSponsor.ts index a21b71c..9a615c4 100644 --- a/packages/conditional-star-release-watcher/src/entity/IsSponsor.ts +++ b/packages/conditional-star-release-watcher/src/entity/IsSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/conditional-star-release-watcher/src/entity/IsTransferProxy.ts b/packages/conditional-star-release-watcher/src/entity/IsTransferProxy.ts index b1613a4..904d2df 100644 --- a/packages/conditional-star-release-watcher/src/entity/IsTransferProxy.ts +++ b/packages/conditional-star-release-watcher/src/entity/IsTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/conditional-star-release-watcher/src/entity/IsVotingProxy.ts b/packages/conditional-star-release-watcher/src/entity/IsVotingProxy.ts index 172dd15..5cd6128 100644 --- a/packages/conditional-star-release-watcher/src/entity/IsVotingProxy.ts +++ b/packages/conditional-star-release-watcher/src/entity/IsVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/conditional-star-release-watcher/src/gql/queries/canEscapeTo.gql b/packages/conditional-star-release-watcher/src/gql/queries/canEscapeTo.gql index b065033..54e9c5a 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/canEscapeTo.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/canEscapeTo.gql @@ -1,4 +1,4 @@ -query canEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query canEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ canEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/canManage.gql b/packages/conditional-star-release-watcher/src/gql/queries/canManage.gql index e52d71b..dad1626 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/canManage.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/canManage.gql @@ -1,4 +1,4 @@ -query canManage($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canManage($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canManage(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/canSpawnAs.gql b/packages/conditional-star-release-watcher/src/gql/queries/canSpawnAs.gql index af9c463..040dd32 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/canSpawnAs.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/canSpawnAs.gql @@ -1,4 +1,4 @@ -query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canSpawnAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/canTransfer.gql b/packages/conditional-star-release-watcher/src/gql/queries/canTransfer.gql index 14b39fa..994578f 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/canTransfer.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/canTransfer.gql @@ -1,4 +1,4 @@ -query canTransfer($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canTransfer($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canTransfer(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/canVoteAs.gql b/packages/conditional-star-release-watcher/src/gql/queries/canVoteAs.gql index d2a79a9..87871a2 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/canVoteAs.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/canVoteAs.gql @@ -1,4 +1,4 @@ -query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canVoteAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/findClaim.gql b/packages/conditional-star-release-watcher/src/gql/queries/findClaim.gql index fe8ab15..2d6efb4 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/findClaim.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/findClaim.gql @@ -1,4 +1,4 @@ -query findClaim($blockHash: String!, $contractAddress: String!, $_whose: Int!, $_protocol: String!, $_claim: String!){ +query findClaim($blockHash: String!, $contractAddress: String!, $_whose: BigInt!, $_protocol: String!, $_claim: String!){ findClaim(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose, _protocol: $_protocol, _claim: $_claim){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getBatches.gql b/packages/conditional-star-release-watcher/src/gql/queries/getBatches.gql new file mode 100644 index 0000000..7951e3c --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getBatches.gql @@ -0,0 +1,8 @@ +query getBatches($blockHash: String!, $contractAddress: String!, $_participant: String!){ + getBatches(blockHash: $blockHash, contractAddress: $contractAddress, _participant: $_participant){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getContinuityNumber.gql b/packages/conditional-star-release-watcher/src/gql/queries/getContinuityNumber.gql index 1ad5af4..244398d 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getContinuityNumber.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getContinuityNumber.gql @@ -1,4 +1,4 @@ -query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getContinuityNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getDocumentMajorities.gql b/packages/conditional-star-release-watcher/src/gql/queries/getDocumentMajorities.gql new file mode 100644 index 0000000..89fd856 --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getDocumentMajorities.gql @@ -0,0 +1,8 @@ +query getDocumentMajorities($blockHash: String!, $contractAddress: String!){ + getDocumentMajorities(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getDocumentProposals.gql b/packages/conditional-star-release-watcher/src/gql/queries/getDocumentProposals.gql new file mode 100644 index 0000000..75b30c2 --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getDocumentProposals.gql @@ -0,0 +1,8 @@ +query getDocumentProposals($blockHash: String!, $contractAddress: String!){ + getDocumentProposals(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequest.gql b/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequest.gql index acf7e7b..7215f8b 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequest.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequest.gql @@ -1,4 +1,4 @@ -query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getEscapeRequest(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequests.gql b/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequests.gql new file mode 100644 index 0000000..13b81ac --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequests.gql @@ -0,0 +1,8 @@ +query getEscapeRequests($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getEscapeRequests(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequestsCount.gql b/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequestsCount.gql index 5b6e489..ca7f8ef 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequestsCount.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getEscapeRequestsCount.gql @@ -1,4 +1,4 @@ -query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getEscapeRequestsCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getForfeited.gql b/packages/conditional-star-release-watcher/src/gql/queries/getForfeited.gql new file mode 100644 index 0000000..cfccc4d --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getForfeited.gql @@ -0,0 +1,8 @@ +query getForfeited($blockHash: String!, $contractAddress: String!, $_participant: String!){ + getForfeited(blockHash: $blockHash, contractAddress: $contractAddress, _participant: $_participant){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getKeyRevisionNumber.gql b/packages/conditional-star-release-watcher/src/gql/queries/getKeyRevisionNumber.gql index ebcea96..fdccc8b 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getKeyRevisionNumber.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getKeyRevisionNumber.gql @@ -1,4 +1,4 @@ -query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getKeyRevisionNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getManagementProxy.gql b/packages/conditional-star-release-watcher/src/gql/queries/getManagementProxy.gql index fd499b7..a9be364 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getManagementProxy.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getManagementProxy.gql @@ -1,4 +1,4 @@ -query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getManagerFor.gql b/packages/conditional-star-release-watcher/src/gql/queries/getManagerFor.gql new file mode 100644 index 0000000..12e6ca0 --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getManagerFor.gql @@ -0,0 +1,8 @@ +query getManagerFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getManagerFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getOwnedPoints.gql b/packages/conditional-star-release-watcher/src/gql/queries/getOwnedPoints.gql new file mode 100644 index 0000000..869ed24 --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getOwnedPoints.gql @@ -0,0 +1,8 @@ +query getOwnedPoints($blockHash: String!, $contractAddress: String!, $_whose: String!){ + getOwnedPoints(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getOwner.gql b/packages/conditional-star-release-watcher/src/gql/queries/getOwner.gql index f20db27..cc665d0 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getOwner.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getOwner.gql @@ -1,4 +1,4 @@ -query getOwner($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getRemainingStars.gql b/packages/conditional-star-release-watcher/src/gql/queries/getRemainingStars.gql new file mode 100644 index 0000000..7bcb341 --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getRemainingStars.gql @@ -0,0 +1,8 @@ +query getRemainingStars($blockHash: String!, $contractAddress: String!, $_participant: String!){ + getRemainingStars(blockHash: $blockHash, contractAddress: $contractAddress, _participant: $_participant){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getSpawnCount.gql b/packages/conditional-star-release-watcher/src/gql/queries/getSpawnCount.gql index 2edcff0..f990551 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getSpawnCount.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getSpawnCount.gql @@ -1,4 +1,4 @@ -query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnCount(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getSpawnLimit.gql b/packages/conditional-star-release-watcher/src/gql/queries/getSpawnLimit.gql index 14873c3..fe0174c 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getSpawnLimit.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getSpawnLimit.gql @@ -1,4 +1,4 @@ -query getSpawnLimit($blockHash: String!, $contractAddress: String!, $_point: Int!, $_time: BigInt!){ +query getSpawnLimit($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_time: BigInt!){ getSpawnLimit(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _time: $_time){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getSpawnProxy.gql b/packages/conditional-star-release-watcher/src/gql/queries/getSpawnProxy.gql index fe536b2..f542279 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getSpawnProxy.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getSpawnProxy.gql @@ -1,4 +1,4 @@ -query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getSpawned.gql b/packages/conditional-star-release-watcher/src/gql/queries/getSpawned.gql new file mode 100644 index 0000000..ab9ea11 --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getSpawned.gql @@ -0,0 +1,8 @@ +query getSpawned($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ + getSpawned(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getSpawningFor.gql b/packages/conditional-star-release-watcher/src/gql/queries/getSpawningFor.gql new file mode 100644 index 0000000..5059aa6 --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getSpawningFor.gql @@ -0,0 +1,8 @@ +query getSpawningFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getSpawningFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getSponsor.gql b/packages/conditional-star-release-watcher/src/gql/queries/getSponsor.gql index 9843916..56a5305 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getSponsor.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getSponsor.gql @@ -1,4 +1,4 @@ -query getSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getSponsoring.gql b/packages/conditional-star-release-watcher/src/gql/queries/getSponsoring.gql new file mode 100644 index 0000000..cb6a4b4 --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getSponsoring.gql @@ -0,0 +1,8 @@ +query getSponsoring($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getSponsoring(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getSponsoringCount.gql b/packages/conditional-star-release-watcher/src/gql/queries/getSponsoringCount.gql index 3d070dd..ee62745 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getSponsoringCount.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getSponsoringCount.gql @@ -1,4 +1,4 @@ -query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getSponsoringCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getTransferProxy.gql b/packages/conditional-star-release-watcher/src/gql/queries/getTransferProxy.gql index 852fd2f..c14c0ab 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getTransferProxy.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getTransferProxy.gql @@ -1,4 +1,4 @@ -query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getTransferringFor.gql b/packages/conditional-star-release-watcher/src/gql/queries/getTransferringFor.gql new file mode 100644 index 0000000..0911c39 --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getTransferringFor.gql @@ -0,0 +1,8 @@ +query getTransferringFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getTransferringFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getUpgradeProposals.gql b/packages/conditional-star-release-watcher/src/gql/queries/getUpgradeProposals.gql new file mode 100644 index 0000000..4cb89ce --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getUpgradeProposals.gql @@ -0,0 +1,8 @@ +query getUpgradeProposals($blockHash: String!, $contractAddress: String!){ + getUpgradeProposals(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getVotingFor.gql b/packages/conditional-star-release-watcher/src/gql/queries/getVotingFor.gql new file mode 100644 index 0000000..30186d8 --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getVotingFor.gql @@ -0,0 +1,8 @@ +query getVotingFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getVotingFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getVotingProxy.gql b/packages/conditional-star-release-watcher/src/gql/queries/getVotingProxy.gql index 1f2f38a..49d37ab 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/getVotingProxy.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/getVotingProxy.gql @@ -1,4 +1,4 @@ -query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/getWithdrawn.gql b/packages/conditional-star-release-watcher/src/gql/queries/getWithdrawn.gql new file mode 100644 index 0000000..ebfdd8f --- /dev/null +++ b/packages/conditional-star-release-watcher/src/gql/queries/getWithdrawn.gql @@ -0,0 +1,8 @@ +query getWithdrawn($blockHash: String!, $contractAddress: String!, $_participant: String!){ + getWithdrawn(blockHash: $blockHash, contractAddress: $contractAddress, _participant: $_participant){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/conditional-star-release-watcher/src/gql/queries/hasBeenLinked.gql b/packages/conditional-star-release-watcher/src/gql/queries/hasBeenLinked.gql index e9da67e..a50505c 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/hasBeenLinked.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/hasBeenLinked.gql @@ -1,4 +1,4 @@ -query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasBeenLinked(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/hasSponsor.gql b/packages/conditional-star-release-watcher/src/gql/queries/hasSponsor.gql index 3e804ed..0261c6e 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/hasSponsor.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/hasSponsor.gql @@ -1,4 +1,4 @@ -query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/index.ts b/packages/conditional-star-release-watcher/src/gql/queries/index.ts index ca2f08a..859cf75 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/index.ts +++ b/packages/conditional-star-release-watcher/src/gql/queries/index.ts @@ -9,37 +9,48 @@ export const hasBeenLinked = fs.readFileSync(path.join(__dirname, 'hasBeenLinked export const isLive = fs.readFileSync(path.join(__dirname, 'isLive.gql'), 'utf8'); export const getContinuityNumber = fs.readFileSync(path.join(__dirname, 'getContinuityNumber.gql'), 'utf8'); export const getSpawnCount = fs.readFileSync(path.join(__dirname, 'getSpawnCount.gql'), 'utf8'); +export const getSpawned = fs.readFileSync(path.join(__dirname, 'getSpawned.gql'), 'utf8'); export const hasSponsor = fs.readFileSync(path.join(__dirname, 'hasSponsor.gql'), 'utf8'); export const getSponsor = fs.readFileSync(path.join(__dirname, 'getSponsor.gql'), 'utf8'); export const isSponsor = fs.readFileSync(path.join(__dirname, 'isSponsor.gql'), 'utf8'); export const getSponsoringCount = fs.readFileSync(path.join(__dirname, 'getSponsoringCount.gql'), 'utf8'); +export const getSponsoring = fs.readFileSync(path.join(__dirname, 'getSponsoring.gql'), 'utf8'); export const isEscaping = fs.readFileSync(path.join(__dirname, 'isEscaping.gql'), 'utf8'); export const getEscapeRequest = fs.readFileSync(path.join(__dirname, 'getEscapeRequest.gql'), 'utf8'); export const isRequestingEscapeTo = fs.readFileSync(path.join(__dirname, 'isRequestingEscapeTo.gql'), 'utf8'); export const getEscapeRequestsCount = fs.readFileSync(path.join(__dirname, 'getEscapeRequestsCount.gql'), 'utf8'); +export const getEscapeRequests = fs.readFileSync(path.join(__dirname, 'getEscapeRequests.gql'), 'utf8'); export const getOwner = fs.readFileSync(path.join(__dirname, 'getOwner.gql'), 'utf8'); export const isOwner = fs.readFileSync(path.join(__dirname, 'isOwner.gql'), 'utf8'); export const getOwnedPointCount = fs.readFileSync(path.join(__dirname, 'getOwnedPointCount.gql'), 'utf8'); +export const getOwnedPoints = fs.readFileSync(path.join(__dirname, 'getOwnedPoints.gql'), 'utf8'); export const getOwnedPointAtIndex = fs.readFileSync(path.join(__dirname, 'getOwnedPointAtIndex.gql'), 'utf8'); export const getManagementProxy = fs.readFileSync(path.join(__dirname, 'getManagementProxy.gql'), 'utf8'); export const isManagementProxy = fs.readFileSync(path.join(__dirname, 'isManagementProxy.gql'), 'utf8'); export const canManage = fs.readFileSync(path.join(__dirname, 'canManage.gql'), 'utf8'); export const getManagerForCount = fs.readFileSync(path.join(__dirname, 'getManagerForCount.gql'), 'utf8'); +export const getManagerFor = fs.readFileSync(path.join(__dirname, 'getManagerFor.gql'), 'utf8'); export const getSpawnProxy = fs.readFileSync(path.join(__dirname, 'getSpawnProxy.gql'), 'utf8'); export const isSpawnProxy = fs.readFileSync(path.join(__dirname, 'isSpawnProxy.gql'), 'utf8'); export const canSpawnAs = fs.readFileSync(path.join(__dirname, 'canSpawnAs.gql'), 'utf8'); export const getSpawningForCount = fs.readFileSync(path.join(__dirname, 'getSpawningForCount.gql'), 'utf8'); +export const getSpawningFor = fs.readFileSync(path.join(__dirname, 'getSpawningFor.gql'), 'utf8'); export const getVotingProxy = fs.readFileSync(path.join(__dirname, 'getVotingProxy.gql'), 'utf8'); export const isVotingProxy = fs.readFileSync(path.join(__dirname, 'isVotingProxy.gql'), 'utf8'); export const canVoteAs = fs.readFileSync(path.join(__dirname, 'canVoteAs.gql'), 'utf8'); export const getVotingForCount = fs.readFileSync(path.join(__dirname, 'getVotingForCount.gql'), 'utf8'); +export const getVotingFor = fs.readFileSync(path.join(__dirname, 'getVotingFor.gql'), 'utf8'); export const getTransferProxy = fs.readFileSync(path.join(__dirname, 'getTransferProxy.gql'), 'utf8'); export const isTransferProxy = fs.readFileSync(path.join(__dirname, 'isTransferProxy.gql'), 'utf8'); export const canTransfer = fs.readFileSync(path.join(__dirname, 'canTransfer.gql'), 'utf8'); export const getTransferringForCount = fs.readFileSync(path.join(__dirname, 'getTransferringForCount.gql'), 'utf8'); +export const getTransferringFor = fs.readFileSync(path.join(__dirname, 'getTransferringFor.gql'), 'utf8'); export const isOperator = fs.readFileSync(path.join(__dirname, 'isOperator.gql'), 'utf8'); +export const getUpgradeProposals = fs.readFileSync(path.join(__dirname, 'getUpgradeProposals.gql'), 'utf8'); export const getUpgradeProposalCount = fs.readFileSync(path.join(__dirname, 'getUpgradeProposalCount.gql'), 'utf8'); +export const getDocumentProposals = fs.readFileSync(path.join(__dirname, 'getDocumentProposals.gql'), 'utf8'); export const getDocumentProposalCount = fs.readFileSync(path.join(__dirname, 'getDocumentProposalCount.gql'), 'utf8'); +export const getDocumentMajorities = fs.readFileSync(path.join(__dirname, 'getDocumentMajorities.gql'), 'utf8'); export const hasVotedOnUpgradePoll = fs.readFileSync(path.join(__dirname, 'hasVotedOnUpgradePoll.gql'), 'utf8'); export const hasVotedOnDocumentPoll = fs.readFileSync(path.join(__dirname, 'hasVotedOnDocumentPoll.gql'), 'utf8'); export const findClaim = fs.readFileSync(path.join(__dirname, 'findClaim.gql'), 'utf8'); @@ -59,9 +70,13 @@ export const getSpawnLimit = fs.readFileSync(path.join(__dirname, 'getSpawnLimit export const canEscapeTo = fs.readFileSync(path.join(__dirname, 'canEscapeTo.gql'), 'utf8'); export const withdrawLimit = fs.readFileSync(path.join(__dirname, 'withdrawLimit.gql'), 'utf8'); export const verifyBalance = fs.readFileSync(path.join(__dirname, 'verifyBalance.gql'), 'utf8'); +export const getBatches = fs.readFileSync(path.join(__dirname, 'getBatches.gql'), 'utf8'); export const getBatch = fs.readFileSync(path.join(__dirname, 'getBatch.gql'), 'utf8'); +export const getWithdrawn = fs.readFileSync(path.join(__dirname, 'getWithdrawn.gql'), 'utf8'); export const getWithdrawnFromBatch = fs.readFileSync(path.join(__dirname, 'getWithdrawnFromBatch.gql'), 'utf8'); +export const getForfeited = fs.readFileSync(path.join(__dirname, 'getForfeited.gql'), 'utf8'); export const hasForfeitedBatch = fs.readFileSync(path.join(__dirname, 'hasForfeitedBatch.gql'), 'utf8'); +export const getRemainingStars = fs.readFileSync(path.join(__dirname, 'getRemainingStars.gql'), 'utf8'); export const getSyncStatus = fs.readFileSync(path.join(__dirname, 'getSyncStatus.gql'), 'utf8'); export const getStateByCID = fs.readFileSync(path.join(__dirname, 'getStateByCID.gql'), 'utf8'); export const getState = fs.readFileSync(path.join(__dirname, 'getState.gql'), 'utf8'); diff --git a/packages/conditional-star-release-watcher/src/gql/queries/isActive.gql b/packages/conditional-star-release-watcher/src/gql/queries/isActive.gql index fe365a4..74bc87f 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/isActive.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/isActive.gql @@ -1,4 +1,4 @@ -query isActive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isActive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isActive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/isEscaping.gql b/packages/conditional-star-release-watcher/src/gql/queries/isEscaping.gql index 89113e6..4ed499f 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/isEscaping.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/isEscaping.gql @@ -1,4 +1,4 @@ -query isEscaping($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isEscaping($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isEscaping(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/isLive.gql b/packages/conditional-star-release-watcher/src/gql/queries/isLive.gql index ceaa49e..78a61fd 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/isLive.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/isLive.gql @@ -1,4 +1,4 @@ -query isLive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isLive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isLive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/isManagementProxy.gql b/packages/conditional-star-release-watcher/src/gql/queries/isManagementProxy.gql index c3484d6..64b7656 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/isManagementProxy.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/isManagementProxy.gql @@ -1,4 +1,4 @@ -query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/isOwner.gql b/packages/conditional-star-release-watcher/src/gql/queries/isOwner.gql index 84dfc3b..9378225 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/isOwner.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/isOwner.gql @@ -1,4 +1,4 @@ -query isOwner($blockHash: String!, $contractAddress: String!, $_point: Int!, $_address: String!){ +query isOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_address: String!){ isOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _address: $_address){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/isRequestingEscapeTo.gql b/packages/conditional-star-release-watcher/src/gql/queries/isRequestingEscapeTo.gql index bb2d6dd..f1c9afb 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/isRequestingEscapeTo.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/isRequestingEscapeTo.gql @@ -1,4 +1,4 @@ -query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isRequestingEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/isSpawnProxy.gql b/packages/conditional-star-release-watcher/src/gql/queries/isSpawnProxy.gql index 161923d..2223af6 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/isSpawnProxy.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/isSpawnProxy.gql @@ -1,4 +1,4 @@ -query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/isSponsor.gql b/packages/conditional-star-release-watcher/src/gql/queries/isSponsor.gql index 4daff70..3e1b3cc 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/isSponsor.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/isSponsor.gql @@ -1,4 +1,4 @@ -query isSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/isTransferProxy.gql b/packages/conditional-star-release-watcher/src/gql/queries/isTransferProxy.gql index 1057968..feccdf0 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/isTransferProxy.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/isTransferProxy.gql @@ -1,4 +1,4 @@ -query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/gql/queries/isVotingProxy.gql b/packages/conditional-star-release-watcher/src/gql/queries/isVotingProxy.gql index 28bdb0f..3bf33c8 100644 --- a/packages/conditional-star-release-watcher/src/gql/queries/isVotingProxy.gql +++ b/packages/conditional-star-release-watcher/src/gql/queries/isVotingProxy.gql @@ -1,4 +1,4 @@ -query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/conditional-star-release-watcher/src/indexer.ts b/packages/conditional-star-release-watcher/src/indexer.ts index 01f783f..f34de37 100644 --- a/packages/conditional-star-release-watcher/src/indexer.ts +++ b/packages/conditional-star-release-watcher/src/indexer.ts @@ -94,7 +94,7 @@ export class Indexer implements IndexerInterface { return getResultEvent(event); } - async isActive (blockHash: string, contractAddress: string, _point: number): Promise { + async isActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsActive({ blockHash, contractAddress, _point }); if (entity) { log('isActive: db hit.'); @@ -123,7 +123,7 @@ export class Indexer implements IndexerInterface { return result; } - async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetKeyRevisionNumber({ blockHash, contractAddress, _point }); if (entity) { log('getKeyRevisionNumber: db hit.'); @@ -143,7 +143,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + let value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -152,7 +154,7 @@ export class Indexer implements IndexerInterface { return result; } - async hasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async hasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasBeenLinked({ blockHash, contractAddress, _point }); if (entity) { log('hasBeenLinked: db hit.'); @@ -181,7 +183,7 @@ export class Indexer implements IndexerInterface { return result; } - async isLive (blockHash: string, contractAddress: string, _point: number): Promise { + async isLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsLive({ blockHash, contractAddress, _point }); if (entity) { log('isLive: db hit.'); @@ -210,7 +212,7 @@ export class Indexer implements IndexerInterface { return result; } - async getContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetContinuityNumber({ blockHash, contractAddress, _point }); if (entity) { log('getContinuityNumber: db hit.'); @@ -230,7 +232,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + let value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -239,7 +243,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnCount({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnCount: db hit.'); @@ -259,7 +263,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + let value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -268,7 +274,25 @@ export class Indexer implements IndexerInterface { return result; } - async hasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawned (blockHash: string, contractAddress: string, _point: bigint): Promise { + log('getSpawned: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawned(_point, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async hasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasSponsor({ blockHash, contractAddress, _point }); if (entity) { log('hasSponsor: db hit.'); @@ -297,7 +321,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSponsor({ blockHash, contractAddress, _point }); if (entity) { log('getSponsor: db hit.'); @@ -317,7 +341,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSponsor(_point, { blockTag: blockHash }); + let value = await contract.getSponsor(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -326,7 +352,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsSponsor({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isSponsor: db hit.'); @@ -355,7 +381,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetSponsoringCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getSponsoringCount: db hit.'); @@ -386,7 +412,25 @@ export class Indexer implements IndexerInterface { return result; } - async isEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsoring (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getSponsoring: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSponsoring(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async isEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsEscaping({ blockHash, contractAddress, _point }); if (entity) { log('isEscaping: db hit.'); @@ -415,7 +459,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetEscapeRequest({ blockHash, contractAddress, _point }); if (entity) { log('getEscapeRequest: db hit.'); @@ -435,7 +479,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + let value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -444,7 +490,7 @@ export class Indexer implements IndexerInterface { return result; } - async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsRequestingEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isRequestingEscapeTo: db hit.'); @@ -473,7 +519,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetEscapeRequestsCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getEscapeRequestsCount: db hit.'); @@ -504,7 +550,25 @@ export class Indexer implements IndexerInterface { return result; } - async getOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequests (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getEscapeRequests: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getEscapeRequests(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetOwner({ blockHash, contractAddress, _point }); if (entity) { log('getOwner: db hit.'); @@ -533,7 +597,7 @@ export class Indexer implements IndexerInterface { return result; } - async isOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async isOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const entity = await this._db.getIsOwner({ blockHash, contractAddress, _point, _address }); if (entity) { log('isOwner: db hit.'); @@ -593,6 +657,24 @@ export class Indexer implements IndexerInterface { return result; } + async getOwnedPoints (blockHash: string, contractAddress: string, _whose: string): Promise { + log('getOwnedPoints: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getOwnedPoints(_whose, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async getOwnedPointAtIndex (blockHash: string, contractAddress: string, _whose: string, _index: bigint): Promise { const entity = await this._db.getGetOwnedPointAtIndex({ blockHash, contractAddress, _whose, _index }); if (entity) { @@ -613,7 +695,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + let value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -622,7 +706,7 @@ export class Indexer implements IndexerInterface { return result; } - async getManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetManagementProxy({ blockHash, contractAddress, _point }); if (entity) { log('getManagementProxy: db hit.'); @@ -651,7 +735,7 @@ export class Indexer implements IndexerInterface { return result; } - async isManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsManagementProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isManagementProxy: db hit.'); @@ -680,7 +764,7 @@ export class Indexer implements IndexerInterface { return result; } - async canManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanManage({ blockHash, contractAddress, _point, _who }); if (entity) { log('canManage: db hit.'); @@ -740,7 +824,25 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagerFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getManagerFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getManagerFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnProxy({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnProxy: db hit.'); @@ -769,7 +871,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsSpawnProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isSpawnProxy: db hit.'); @@ -798,7 +900,7 @@ export class Indexer implements IndexerInterface { return result; } - async canSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanSpawnAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canSpawnAs: db hit.'); @@ -858,7 +960,25 @@ export class Indexer implements IndexerInterface { return result; } - async getVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawningFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getSpawningFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawningFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetVotingProxy({ blockHash, contractAddress, _point }); if (entity) { log('getVotingProxy: db hit.'); @@ -887,7 +1007,7 @@ export class Indexer implements IndexerInterface { return result; } - async isVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsVotingProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isVotingProxy: db hit.'); @@ -916,7 +1036,7 @@ export class Indexer implements IndexerInterface { return result; } - async canVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanVoteAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canVoteAs: db hit.'); @@ -976,7 +1096,25 @@ export class Indexer implements IndexerInterface { return result; } - async getTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getVotingFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getVotingFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getVotingFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetTransferProxy({ blockHash, contractAddress, _point }); if (entity) { log('getTransferProxy: db hit.'); @@ -1005,7 +1143,7 @@ export class Indexer implements IndexerInterface { return result; } - async isTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsTransferProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isTransferProxy: db hit.'); @@ -1034,7 +1172,7 @@ export class Indexer implements IndexerInterface { return result; } - async canTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanTransfer({ blockHash, contractAddress, _point, _who }); if (entity) { log('canTransfer: db hit.'); @@ -1094,6 +1232,24 @@ export class Indexer implements IndexerInterface { return result; } + async getTransferringFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getTransferringFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getTransferringFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async isOperator (blockHash: string, contractAddress: string, _owner: string, _operator: string): Promise { const entity = await this._db.getIsOperator({ blockHash, contractAddress, _owner, _operator }); if (entity) { @@ -1123,6 +1279,23 @@ export class Indexer implements IndexerInterface { return result; } + async getUpgradeProposals (blockHash: string, contractAddress: string): Promise { + log('getUpgradeProposals: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getUpgradeProposals({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getUpgradeProposalCount (blockHash: string, contractAddress: string): Promise { const entity = await this._db.getGetUpgradeProposalCount({ blockHash, contractAddress }); if (entity) { @@ -1154,6 +1327,23 @@ export class Indexer implements IndexerInterface { return result; } + async getDocumentProposals (blockHash: string, contractAddress: string): Promise { + log('getDocumentProposals: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getDocumentProposals({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getDocumentProposalCount (blockHash: string, contractAddress: string): Promise { const entity = await this._db.getGetDocumentProposalCount({ blockHash, contractAddress }); if (entity) { @@ -1185,6 +1375,23 @@ export class Indexer implements IndexerInterface { return result; } + async getDocumentMajorities (blockHash: string, contractAddress: string): Promise { + log('getDocumentMajorities: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getDocumentMajorities({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async hasVotedOnUpgradePoll (blockHash: string, contractAddress: string, _galaxy: number, _proposal: string): Promise { const entity = await this._db.getHasVotedOnUpgradePoll({ blockHash, contractAddress, _galaxy, _proposal }); if (entity) { @@ -1243,7 +1450,7 @@ export class Indexer implements IndexerInterface { return result; } - async findClaim (blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string): Promise { + async findClaim (blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string): Promise { const entity = await this._db.getFindClaim({ blockHash, contractAddress, _whose, _protocol, _claim }); if (entity) { log('findClaim: db hit.'); @@ -1628,7 +1835,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnLimit (blockHash: string, contractAddress: string, _point: number, _time: bigint): Promise { + async getSpawnLimit (blockHash: string, contractAddress: string, _point: bigint, _time: bigint): Promise { const entity = await this._db.getGetSpawnLimit({ blockHash, contractAddress, _point, _time }); if (entity) { log('getSpawnLimit: db hit.'); @@ -1648,7 +1855,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnLimit(_point, _time, { blockTag: blockHash }); + let value = await contract.getSpawnLimit(_point, _time, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -1657,7 +1866,7 @@ export class Indexer implements IndexerInterface { return result; } - async canEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async canEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getCanEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('canEscapeTo: db hit.'); @@ -1744,6 +1953,23 @@ export class Indexer implements IndexerInterface { return result; } + async getBatches (blockHash: string, contractAddress: string, _participant: string): Promise { + log('getBatches: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getBatches(_participant, { blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getBatch (blockHash: string, contractAddress: string, _participant: string, _batch: number): Promise { const entity = await this._db.getGetBatch({ blockHash, contractAddress, _participant, _batch }); if (entity) { @@ -1773,46 +1999,7 @@ export class Indexer implements IndexerInterface { return result; } - async getBatches (blockHash: string, contractAddress: string, _participant: string): Promise { - const entity = await this._db.getGetBatches({ blockHash, contractAddress, _participant }); - if (entity) { - log('getBatches: db hit.'); - - return { - value: entity.value, - proof: JSON.parse(entity.proof) - }; - } - - log('getBatches: db miss, fetching from upstream server'); - - const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); - const blockNumber = ethers.BigNumber.from(number).toNumber(); - - const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); - assert(abi); - - const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getBatches(_participant, { blockTag: blockHash }); - - const result: ValueResult = { value }; - - await this._db.saveGetBatches({ blockHash, blockNumber, contractAddress, _participant, value: result.value, proof: JSONbigNative.stringify(result.proof) }); - - return result; - } - async getWithdrawn (blockHash: string, contractAddress: string, _participant: string): Promise { - const entity = await this._db.getGetWithdrawn({ blockHash, contractAddress, _participant }); - if (entity) { - log('getWithdrawn: db hit.'); - - return { - value: entity.value, - proof: JSON.parse(entity.proof) - }; - } - log('getWithdrawn: db miss, fetching from upstream server'); const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); @@ -1826,66 +2013,6 @@ export class Indexer implements IndexerInterface { const result: ValueResult = { value }; - await this._db.saveGetWithdrawn({ blockHash, blockNumber, contractAddress, _participant, value: result.value, proof: JSONbigNative.stringify(result.proof) }); - - return result; - } - - async getRemainingStars (blockHash: string, contractAddress: string, _participant: string): Promise { - const entity = await this._db.getGetRemainingStars({ blockHash, contractAddress, _participant }); - if (entity) { - log('getRemainingStars: db hit.'); - - return { - value: entity.value, - proof: JSON.parse(entity.proof) - }; - } - - log('getRemainingStars: db miss, fetching from upstream server'); - - const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); - const blockNumber = ethers.BigNumber.from(number).toNumber(); - - const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); - assert(abi); - - const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getRemainingStars(_participant, { blockTag: blockHash }); - - const result: ValueResult = { value }; - - await this._db.saveGetRemainingStars({ blockHash, blockNumber, contractAddress, _participant, value: result.value, proof: JSONbigNative.stringify(result.proof) }); - - return result; - } - - async getForfeited (blockHash: string, contractAddress: string, _participant: string): Promise { - const entity = await this._db.getGetForfeited({ blockHash, contractAddress, _participant }); - if (entity) { - log('getForfeited: db hit.'); - - return { - value: entity.value, - proof: JSON.parse(entity.proof) - }; - } - - log('getForfeited: db miss, fetching from upstream server'); - - const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); - const blockNumber = ethers.BigNumber.from(number).toNumber(); - - const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); - assert(abi); - - const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getForfeited(_participant, { blockTag: blockHash }); - - const result: ValueResult = { value }; - - await this._db.saveGetForfeited({ blockHash, blockNumber, contractAddress, _participant, value: result.value, proof: JSONbigNative.stringify(result.proof) }); - return result; } @@ -1918,6 +2045,23 @@ export class Indexer implements IndexerInterface { return result; } + async getForfeited (blockHash: string, contractAddress: string, _participant: string): Promise { + log('getForfeited: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getForfeited(_participant, { blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async hasForfeitedBatch (blockHash: string, contractAddress: string, _participant: string, _batch: number): Promise { const entity = await this._db.getHasForfeitedBatch({ blockHash, contractAddress, _participant, _batch }); if (entity) { @@ -1947,6 +2091,23 @@ export class Indexer implements IndexerInterface { return result; } + async getRemainingStars (blockHash: string, contractAddress: string, _participant: string): Promise { + log('getRemainingStars: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_CONDITIONALSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getRemainingStars(_participant, { blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getStorageValue (storageLayout: StorageLayout, blockHash: string, contractAddress: string, variable: string, ...mappingKeys: MappingKey[]): Promise { return this._baseIndexer.getStorageValue( storageLayout, diff --git a/packages/conditional-star-release-watcher/src/resolvers.ts b/packages/conditional-star-release-watcher/src/resolvers.ts index c9f30b7..dd32a36 100644 --- a/packages/conditional-star-release-watcher/src/resolvers.ts +++ b/packages/conditional-star-release-watcher/src/resolvers.ts @@ -71,7 +71,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher Query: { isActive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -87,7 +87,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getKeyRevisionNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -103,7 +103,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher hasBeenLinked: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -119,7 +119,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isLive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -135,7 +135,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getContinuityNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -151,7 +151,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnCount: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -165,9 +165,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawnCount(blockHash, contractAddress, _point); }, + getSpawned: ( + _: any, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawned', blockHash, contractAddress, _point); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawned').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawned(blockHash, contractAddress, _point); + }, + hasSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -183,7 +199,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -199,7 +215,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSponsor: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -215,7 +231,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsoringCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -229,9 +245,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSponsoringCount(blockHash, contractAddress, _sponsor); }, + getSponsoring: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSponsoring', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSponsoring').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSponsoring(blockHash, contractAddress, _sponsor); + }, + isEscaping: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -247,7 +279,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequest: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -263,7 +295,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isRequestingEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -279,7 +311,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequestsCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -293,9 +325,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getEscapeRequestsCount(blockHash, contractAddress, _sponsor); }, + getEscapeRequests: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getEscapeRequests', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getEscapeRequests').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getEscapeRequests(blockHash, contractAddress, _sponsor); + }, + getOwner: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -311,7 +359,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isOwner: ( _: any, - { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }, + { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -341,6 +389,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getOwnedPointCount(blockHash, contractAddress, _whose); }, + getOwnedPoints: ( + _: any, + { blockHash, contractAddress, _whose }: { blockHash: string, contractAddress: string, _whose: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getOwnedPoints', blockHash, contractAddress, _whose); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getOwnedPoints').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getOwnedPoints(blockHash, contractAddress, _whose); + }, + getOwnedPointAtIndex: ( _: any, { blockHash, contractAddress, _whose, _index }: { blockHash: string, contractAddress: string, _whose: string, _index: bigint }, @@ -359,7 +423,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getManagementProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -375,7 +439,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isManagementProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -391,7 +455,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canManage: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -421,9 +485,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getManagerForCount(blockHash, contractAddress, _proxy); }, + getManagerFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getManagerFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getManagerFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getManagerFor(blockHash, contractAddress, _proxy); + }, + getSpawnProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -439,7 +519,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSpawnProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -455,7 +535,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canSpawnAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -485,9 +565,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawningForCount(blockHash, contractAddress, _proxy); }, + getSpawningFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawningFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawningFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawningFor(blockHash, contractAddress, _proxy); + }, + getVotingProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -503,7 +599,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isVotingProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -519,7 +615,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canVoteAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -549,9 +645,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getVotingForCount(blockHash, contractAddress, _proxy); }, + getVotingFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getVotingFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getVotingFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getVotingFor(blockHash, contractAddress, _proxy); + }, + getTransferProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -567,7 +679,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isTransferProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -583,7 +695,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canTransfer: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -613,6 +725,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getTransferringForCount(blockHash, contractAddress, _proxy); }, + getTransferringFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getTransferringFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getTransferringFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getTransferringFor(blockHash, contractAddress, _proxy); + }, + isOperator: ( _: any, { blockHash, contractAddress, _owner, _operator }: { blockHash: string, contractAddress: string, _owner: string, _operator: string }, @@ -629,6 +757,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.isOperator(blockHash, contractAddress, _owner, _operator); }, + getUpgradeProposals: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getUpgradeProposals', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getUpgradeProposals').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getUpgradeProposals(blockHash, contractAddress); + }, + getUpgradeProposalCount: ( _: any, { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, @@ -645,6 +789,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getUpgradeProposalCount(blockHash, contractAddress); }, + getDocumentProposals: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getDocumentProposals', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getDocumentProposals').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getDocumentProposals(blockHash, contractAddress); + }, + getDocumentProposalCount: ( _: any, { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, @@ -661,6 +821,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getDocumentProposalCount(blockHash, contractAddress); }, + getDocumentMajorities: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getDocumentMajorities', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getDocumentMajorities').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getDocumentMajorities(blockHash, contractAddress); + }, + hasVotedOnUpgradePoll: ( _: any, { blockHash, contractAddress, _galaxy, _proposal }: { blockHash: string, contractAddress: string, _galaxy: number, _proposal: string }, @@ -695,7 +871,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher findClaim: ( _: any, - { blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string }, + { blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -903,7 +1079,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnLimit: ( _: any, - { blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: number, _time: bigint }, + { blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: bigint, _time: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -919,7 +1095,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -965,6 +1141,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.verifyBalance(blockHash, contractAddress, _participant); }, + getBatches: ( + _: any, + { blockHash, contractAddress, _participant }: { blockHash: string, contractAddress: string, _participant: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getBatches', blockHash, contractAddress, _participant); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getBatches').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getBatches(blockHash, contractAddress, _participant); + }, + getBatch: ( _: any, { blockHash, contractAddress, _participant, _batch }: { blockHash: string, contractAddress: string, _participant: string, _batch: number }, @@ -981,6 +1173,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getBatch(blockHash, contractAddress, _participant, _batch); }, + getWithdrawn: ( + _: any, + { blockHash, contractAddress, _participant }: { blockHash: string, contractAddress: string, _participant: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getWithdrawn', blockHash, contractAddress, _participant); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getWithdrawn').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getWithdrawn(blockHash, contractAddress, _participant); + }, + getWithdrawnFromBatch: ( _: any, { blockHash, contractAddress, _participant, _batch }: { blockHash: string, contractAddress: string, _participant: string, _batch: number }, @@ -997,6 +1205,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getWithdrawnFromBatch(blockHash, contractAddress, _participant, _batch); }, + getForfeited: ( + _: any, + { blockHash, contractAddress, _participant }: { blockHash: string, contractAddress: string, _participant: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getForfeited', blockHash, contractAddress, _participant); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getForfeited').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getForfeited(blockHash, contractAddress, _participant); + }, + hasForfeitedBatch: ( _: any, { blockHash, contractAddress, _participant, _batch }: { blockHash: string, contractAddress: string, _participant: string, _batch: number }, @@ -1013,6 +1237,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.hasForfeitedBatch(blockHash, contractAddress, _participant, _batch); }, + getRemainingStars: ( + _: any, + { blockHash, contractAddress, _participant }: { blockHash: string, contractAddress: string, _participant: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getRemainingStars', blockHash, contractAddress, _participant); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getRemainingStars').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getRemainingStars(blockHash, contractAddress, _participant); + }, + events: async (_: any, { blockHash, contractAddress, name }: { blockHash: string, contractAddress: string, name?: string }) => { log('events', blockHash, contractAddress, name); gqlTotalQueryCount.inc(1); diff --git a/packages/conditional-star-release-watcher/src/schema.gql b/packages/conditional-star-release-watcher/src/schema.gql index 9b4dcf6..b22cab7 100644 --- a/packages/conditional-star-release-watcher/src/schema.gql +++ b/packages/conditional-star-release-watcher/src/schema.gql @@ -15,26 +15,6 @@ type Proof { data: String! } -type ResultBoolean { - value: Boolean! - proof: Proof -} - -type ResultString { - value: String! - proof: Proof -} - -type ResultInt { - value: Int! - proof: Proof -} - -type ResultBigInt { - value: BigInt! - proof: Proof -} - type _Block_ { cid: String! hash: String! @@ -99,46 +79,57 @@ type ResultState { type Query { events(blockHash: String!, contractAddress: String!, name: String): [ResultEvent!] eventsInRange(fromBlockNumber: Int!, toBlockNumber: Int!): [ResultEvent!] - isActive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasBeenLinked(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - isLive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getContinuityNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - getSpawnCount(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isSponsor(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - isEscaping(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getEscapeRequest(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - getOwner(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isOwner(blockHash: String!, contractAddress: String!, _point: Int!, _address: String!): ResultBoolean! + isActive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + hasBeenLinked(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + isLive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getContinuityNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawnCount(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawned(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigIntArray! + hasSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getSponsoring(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + isEscaping(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getEscapeRequest(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getEscapeRequests(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + getOwner(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isOwner(blockHash: String!, contractAddress: String!, _point: BigInt!, _address: String!): ResultBoolean! getOwnedPointCount(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigInt! - getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultInt! - getManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canManage(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getOwnedPoints(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigIntArray! + getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultBigInt! + getManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canManage(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getManagerForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canSpawnAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getManagerFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canSpawnAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getSpawningForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canVoteAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getSpawningFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canVoteAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getVotingForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canTransfer(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getVotingFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canTransfer(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getTransferringForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! + getTransferringFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! isOperator(blockHash: String!, contractAddress: String!, _owner: String!, _operator: String!): ResultBoolean! + getUpgradeProposals(blockHash: String!, contractAddress: String!): ResultStringArray! getUpgradeProposalCount(blockHash: String!, contractAddress: String!): ResultBigInt! + getDocumentProposals(blockHash: String!, contractAddress: String!): ResultStringArray! getDocumentProposalCount(blockHash: String!, contractAddress: String!): ResultBigInt! + getDocumentMajorities(blockHash: String!, contractAddress: String!): ResultStringArray! hasVotedOnUpgradePoll(blockHash: String!, contractAddress: String!, _galaxy: Int!, _proposal: String!): ResultBoolean! hasVotedOnDocumentPoll(blockHash: String!, contractAddress: String!, _galaxy: Int!, _proposal: String!): ResultBoolean! - findClaim(blockHash: String!, contractAddress: String!, _whose: Int!, _protocol: String!, _claim: String!): ResultInt! + findClaim(blockHash: String!, contractAddress: String!, _whose: BigInt!, _protocol: String!, _claim: String!): ResultInt! supportsInterface(blockHash: String!, contractAddress: String!, _interfaceId: String!): ResultBoolean! balanceOf(blockHash: String!, contractAddress: String!, _owner: String!): ResultBigInt! ownerOf(blockHash: String!, contractAddress: String!, _tokenId: BigInt!): ResultString! @@ -151,18 +142,62 @@ type Query { name(blockHash: String!, contractAddress: String!): ResultString! symbol(blockHash: String!, contractAddress: String!): ResultString! tokenURI(blockHash: String!, contractAddress: String!, _tokenId: BigInt!): ResultString! - getSpawnLimit(blockHash: String!, contractAddress: String!, _point: Int!, _time: BigInt!): ResultInt! - canEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! + getSpawnLimit(blockHash: String!, contractAddress: String!, _point: BigInt!, _time: BigInt!): ResultBigInt! + canEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! withdrawLimit(blockHash: String!, contractAddress: String!, _participant: String!, _batch: Int!): ResultInt! verifyBalance(blockHash: String!, contractAddress: String!, _participant: String!): ResultBoolean! + getBatches(blockHash: String!, contractAddress: String!, _participant: String!): ResultIntArray! getBatch(blockHash: String!, contractAddress: String!, _participant: String!, _batch: Int!): ResultInt! + getWithdrawn(blockHash: String!, contractAddress: String!, _participant: String!): ResultIntArray! getWithdrawnFromBatch(blockHash: String!, contractAddress: String!, _participant: String!, _batch: Int!): ResultInt! + getForfeited(blockHash: String!, contractAddress: String!, _participant: String!): ResultBooleanArray! hasForfeitedBatch(blockHash: String!, contractAddress: String!, _participant: String!, _batch: Int!): ResultBoolean! + getRemainingStars(blockHash: String!, contractAddress: String!, _participant: String!): ResultIntArray! getSyncStatus: SyncStatus getStateByCID(cid: String!): ResultState getState(blockHash: String!, contractAddress: String!, kind: String): ResultState } +type ResultBoolean { + value: Boolean! + proof: Proof +} + +type ResultBigInt { + value: BigInt! + proof: Proof +} + +type ResultBigIntArray { + value: [BigInt!]! + proof: Proof +} + +type ResultString { + value: String! + proof: Proof +} + +type ResultStringArray { + value: [String!]! + proof: Proof +} + +type ResultInt { + value: Int! + proof: Proof +} + +type ResultIntArray { + value: [Int!]! + proof: Proof +} + +type ResultBooleanArray { + value: [Boolean!]! + proof: Proof +} + type Mutation { watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean! } diff --git a/packages/delegated-sending-watcher/package.json b/packages/delegated-sending-watcher/package.json index 4b3066e..718ccce 100644 --- a/packages/delegated-sending-watcher/package.json +++ b/packages/delegated-sending-watcher/package.json @@ -5,7 +5,7 @@ "private": true, "main": "dist/index.js", "scripts": { - "lint": "eslint .", + "lint": "eslint --max-warnings=0 .", "build": "yarn clean && tsc && yarn copy-assets", "clean": "rm -rf ./dist", "copy-assets": "copyfiles -u 1 src/**/*.gql dist/", @@ -38,10 +38,10 @@ "dependencies": { "@apollo/client": "^3.3.19", "@ethersproject/providers": "^5.4.4", - "@cerc-io/cli": "^0.2.34", - "@cerc-io/ipld-eth-client": "^0.2.34", - "@cerc-io/solidity-mapper": "^0.2.34", - "@cerc-io/util": "^0.2.34", + "@cerc-io/cli": "^0.2.39", + "@cerc-io/ipld-eth-client": "^0.2.39", + "@cerc-io/solidity-mapper": "^0.2.39", + "@cerc-io/util": "^0.2.39", "apollo-type-bigint": "^0.1.3", "debug": "^4.3.1", "ethers": "^5.4.4", @@ -56,7 +56,7 @@ "@ethersproject/abi": "^5.3.0", "@types/yargs": "^17.0.0", "@types/debug": "^4.1.5", - "@types/json-bigint": "^1.0.1", + "@types/json-bigint": "^1.0.0", "@typescript-eslint/eslint-plugin": "^5.47.1", "@typescript-eslint/parser": "^5.47.1", "eslint": "^8.35.0", diff --git a/packages/delegated-sending-watcher/src/client.ts b/packages/delegated-sending-watcher/src/client.ts index a5bacf1..4b62265 100644 --- a/packages/delegated-sending-watcher/src/client.ts +++ b/packages/delegated-sending-watcher/src/client.ts @@ -17,7 +17,7 @@ export class Client { this._client = new GraphQLClient(config); } - async getIsActive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isActive } = await this._client.query( gql(queries.isActive), { blockHash, contractAddress, _point } @@ -26,7 +26,7 @@ export class Client { return isActive; } - async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getKeyRevisionNumber } = await this._client.query( gql(queries.getKeyRevisionNumber), { blockHash, contractAddress, _point } @@ -35,7 +35,7 @@ export class Client { return getKeyRevisionNumber; } - async getHasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasBeenLinked } = await this._client.query( gql(queries.hasBeenLinked), { blockHash, contractAddress, _point } @@ -44,7 +44,7 @@ export class Client { return hasBeenLinked; } - async getIsLive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isLive } = await this._client.query( gql(queries.isLive), { blockHash, contractAddress, _point } @@ -53,7 +53,7 @@ export class Client { return isLive; } - async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getContinuityNumber } = await this._client.query( gql(queries.getContinuityNumber), { blockHash, contractAddress, _point } @@ -62,7 +62,7 @@ export class Client { return getContinuityNumber; } - async getGetSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnCount } = await this._client.query( gql(queries.getSpawnCount), { blockHash, contractAddress, _point } @@ -71,7 +71,7 @@ export class Client { return getSpawnCount; } - async getHasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasSponsor } = await this._client.query( gql(queries.hasSponsor), { blockHash, contractAddress, _point } @@ -80,7 +80,7 @@ export class Client { return hasSponsor; } - async getGetSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSponsor } = await this._client.query( gql(queries.getSponsor), { blockHash, contractAddress, _point } @@ -89,7 +89,7 @@ export class Client { return getSponsor; } - async getIsSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isSponsor } = await this._client.query( gql(queries.isSponsor), { blockHash, contractAddress, _point, _sponsor } @@ -98,7 +98,7 @@ export class Client { return isSponsor; } - async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getSponsoringCount } = await this._client.query( gql(queries.getSponsoringCount), { blockHash, contractAddress, _sponsor } @@ -107,7 +107,7 @@ export class Client { return getSponsoringCount; } - async getIsEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isEscaping } = await this._client.query( gql(queries.isEscaping), { blockHash, contractAddress, _point } @@ -116,7 +116,7 @@ export class Client { return isEscaping; } - async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getEscapeRequest } = await this._client.query( gql(queries.getEscapeRequest), { blockHash, contractAddress, _point } @@ -125,7 +125,7 @@ export class Client { return getEscapeRequest; } - async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isRequestingEscapeTo } = await this._client.query( gql(queries.isRequestingEscapeTo), { blockHash, contractAddress, _point, _sponsor } @@ -134,7 +134,7 @@ export class Client { return isRequestingEscapeTo; } - async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getEscapeRequestsCount } = await this._client.query( gql(queries.getEscapeRequestsCount), { blockHash, contractAddress, _sponsor } @@ -143,7 +143,7 @@ export class Client { return getEscapeRequestsCount; } - async getGetOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getOwner } = await this._client.query( gql(queries.getOwner), { blockHash, contractAddress, _point } @@ -152,7 +152,7 @@ export class Client { return getOwner; } - async getIsOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async getIsOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const { isOwner } = await this._client.query( gql(queries.isOwner), { blockHash, contractAddress, _point, _address } @@ -179,7 +179,7 @@ export class Client { return getOwnedPointAtIndex; } - async getGetManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getManagementProxy } = await this._client.query( gql(queries.getManagementProxy), { blockHash, contractAddress, _point } @@ -188,7 +188,7 @@ export class Client { return getManagementProxy; } - async getIsManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isManagementProxy } = await this._client.query( gql(queries.isManagementProxy), { blockHash, contractAddress, _point, _proxy } @@ -197,7 +197,7 @@ export class Client { return isManagementProxy; } - async getCanManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canManage } = await this._client.query( gql(queries.canManage), { blockHash, contractAddress, _point, _who } @@ -215,7 +215,7 @@ export class Client { return getManagerForCount; } - async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnProxy } = await this._client.query( gql(queries.getSpawnProxy), { blockHash, contractAddress, _point } @@ -224,7 +224,7 @@ export class Client { return getSpawnProxy; } - async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isSpawnProxy } = await this._client.query( gql(queries.isSpawnProxy), { blockHash, contractAddress, _point, _proxy } @@ -233,7 +233,7 @@ export class Client { return isSpawnProxy; } - async getCanSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canSpawnAs } = await this._client.query( gql(queries.canSpawnAs), { blockHash, contractAddress, _point, _who } @@ -251,7 +251,7 @@ export class Client { return getSpawningForCount; } - async getGetVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getVotingProxy } = await this._client.query( gql(queries.getVotingProxy), { blockHash, contractAddress, _point } @@ -260,7 +260,7 @@ export class Client { return getVotingProxy; } - async getIsVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isVotingProxy } = await this._client.query( gql(queries.isVotingProxy), { blockHash, contractAddress, _point, _proxy } @@ -269,7 +269,7 @@ export class Client { return isVotingProxy; } - async getCanVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canVoteAs } = await this._client.query( gql(queries.canVoteAs), { blockHash, contractAddress, _point, _who } @@ -287,7 +287,7 @@ export class Client { return getVotingForCount; } - async getGetTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getTransferProxy } = await this._client.query( gql(queries.getTransferProxy), { blockHash, contractAddress, _point } @@ -296,7 +296,7 @@ export class Client { return getTransferProxy; } - async getIsTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isTransferProxy } = await this._client.query( gql(queries.isTransferProxy), { blockHash, contractAddress, _point, _proxy } @@ -305,7 +305,7 @@ export class Client { return isTransferProxy; } - async getCanTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canTransfer } = await this._client.query( gql(queries.canTransfer), { blockHash, contractAddress, _point, _who } @@ -368,7 +368,7 @@ export class Client { return hasVotedOnDocumentPoll; } - async getFindClaim (blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string): Promise { + async getFindClaim (blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string): Promise { const { findClaim } = await this._client.query( gql(queries.findClaim), { blockHash, contractAddress, _whose, _protocol, _claim } @@ -485,7 +485,7 @@ export class Client { return tokenURI; } - async getGetSpawnLimit (blockHash: string, contractAddress: string, _point: number, _time: bigint): Promise { + async getGetSpawnLimit (blockHash: string, contractAddress: string, _point: bigint, _time: bigint): Promise { const { getSpawnLimit } = await this._client.query( gql(queries.getSpawnLimit), { blockHash, contractAddress, _point, _time } @@ -494,7 +494,7 @@ export class Client { return getSpawnLimit; } - async getCanEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getCanEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { canEscapeTo } = await this._client.query( gql(queries.canEscapeTo), { blockHash, contractAddress, _point, _sponsor } @@ -503,7 +503,7 @@ export class Client { return canEscapeTo; } - async getCanSend (blockHash: string, contractAddress: string, _as: number, _point: number): Promise { + async getCanSend (blockHash: string, contractAddress: string, _as: bigint, _point: bigint): Promise { const { canSend } = await this._client.query( gql(queries.canSend), { blockHash, contractAddress, _as, _point } @@ -512,7 +512,7 @@ export class Client { return canSend; } - async getGetPool (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetPool (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getPool } = await this._client.query( gql(queries.getPool), { blockHash, contractAddress, _point } diff --git a/packages/delegated-sending-watcher/src/database.ts b/packages/delegated-sending-watcher/src/database.ts index a33b946..5510436 100644 --- a/packages/delegated-sending-watcher/src/database.ts +++ b/packages/delegated-sending-watcher/src/database.ts @@ -111,7 +111,7 @@ export class Database implements DatabaseInterface { return this._baseDatabase.close(); } - async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsActive) .findOne({ blockHash, @@ -120,7 +120,7 @@ export class Database implements DatabaseInterface { }); } - async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetKeyRevisionNumber) .findOne({ blockHash, @@ -129,7 +129,7 @@ export class Database implements DatabaseInterface { }); } - async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasBeenLinked) .findOne({ blockHash, @@ -138,7 +138,7 @@ export class Database implements DatabaseInterface { }); } - async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsLive) .findOne({ blockHash, @@ -147,7 +147,7 @@ export class Database implements DatabaseInterface { }); } - async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetContinuityNumber) .findOne({ blockHash, @@ -156,7 +156,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnCount) .findOne({ blockHash, @@ -165,7 +165,7 @@ export class Database implements DatabaseInterface { }); } - async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasSponsor) .findOne({ blockHash, @@ -174,7 +174,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSponsor) .findOne({ blockHash, @@ -183,7 +183,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsSponsor) .findOne({ blockHash, @@ -193,7 +193,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetSponsoringCount) .findOne({ blockHash, @@ -202,7 +202,7 @@ export class Database implements DatabaseInterface { }); } - async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsEscaping) .findOne({ blockHash, @@ -211,7 +211,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetEscapeRequest) .findOne({ blockHash, @@ -220,7 +220,7 @@ export class Database implements DatabaseInterface { }); } - async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsRequestingEscapeTo) .findOne({ blockHash, @@ -230,7 +230,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetEscapeRequestsCount) .findOne({ blockHash, @@ -239,7 +239,7 @@ export class Database implements DatabaseInterface { }); } - async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetOwner) .findOne({ blockHash, @@ -248,7 +248,7 @@ export class Database implements DatabaseInterface { }); } - async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }): Promise { + async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }): Promise { return this._conn.getRepository(IsOwner) .findOne({ blockHash, @@ -277,7 +277,7 @@ export class Database implements DatabaseInterface { }); } - async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetManagementProxy) .findOne({ blockHash, @@ -286,7 +286,7 @@ export class Database implements DatabaseInterface { }); } - async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsManagementProxy) .findOne({ blockHash, @@ -296,7 +296,7 @@ export class Database implements DatabaseInterface { }); } - async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanManage) .findOne({ blockHash, @@ -315,7 +315,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnProxy) .findOne({ blockHash, @@ -324,7 +324,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsSpawnProxy) .findOne({ blockHash, @@ -334,7 +334,7 @@ export class Database implements DatabaseInterface { }); } - async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanSpawnAs) .findOne({ blockHash, @@ -353,7 +353,7 @@ export class Database implements DatabaseInterface { }); } - async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetVotingProxy) .findOne({ blockHash, @@ -362,7 +362,7 @@ export class Database implements DatabaseInterface { }); } - async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsVotingProxy) .findOne({ blockHash, @@ -372,7 +372,7 @@ export class Database implements DatabaseInterface { }); } - async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanVoteAs) .findOne({ blockHash, @@ -391,7 +391,7 @@ export class Database implements DatabaseInterface { }); } - async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetTransferProxy) .findOne({ blockHash, @@ -400,7 +400,7 @@ export class Database implements DatabaseInterface { }); } - async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsTransferProxy) .findOne({ blockHash, @@ -410,7 +410,7 @@ export class Database implements DatabaseInterface { }); } - async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanTransfer) .findOne({ blockHash, @@ -475,7 +475,7 @@ export class Database implements DatabaseInterface { }); } - async getFindClaim ({ blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string }): Promise { + async getFindClaim ({ blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string }): Promise { return this._conn.getRepository(FindClaim) .findOne({ blockHash, @@ -594,7 +594,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnLimit ({ blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: number, _time: bigint }): Promise { + async getGetSpawnLimit ({ blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: bigint, _time: bigint }): Promise { return this._conn.getRepository(GetSpawnLimit) .findOne({ blockHash, @@ -604,7 +604,7 @@ export class Database implements DatabaseInterface { }); } - async getCanEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getCanEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(CanEscapeTo) .findOne({ blockHash, @@ -614,7 +614,7 @@ export class Database implements DatabaseInterface { }); } - async getCanSend ({ blockHash, contractAddress, _as, _point }: { blockHash: string, contractAddress: string, _as: number, _point: number }): Promise { + async getCanSend ({ blockHash, contractAddress, _as, _point }: { blockHash: string, contractAddress: string, _as: bigint, _point: bigint }): Promise { return this._conn.getRepository(CanSend) .findOne({ blockHash, @@ -624,7 +624,7 @@ export class Database implements DatabaseInterface { }); } - async getGetPool ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetPool ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetPool) .findOne({ blockHash, diff --git a/packages/delegated-sending-watcher/src/entity/CanEscapeTo.ts b/packages/delegated-sending-watcher/src/entity/CanEscapeTo.ts index 26a6f69..7b7f093 100644 --- a/packages/delegated-sending-watcher/src/entity/CanEscapeTo.ts +++ b/packages/delegated-sending-watcher/src/entity/CanEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class CanEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/delegated-sending-watcher/src/entity/CanManage.ts b/packages/delegated-sending-watcher/src/entity/CanManage.ts index 2ad7b1b..442f5bc 100644 --- a/packages/delegated-sending-watcher/src/entity/CanManage.ts +++ b/packages/delegated-sending-watcher/src/entity/CanManage.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanManage { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/delegated-sending-watcher/src/entity/CanSend.ts b/packages/delegated-sending-watcher/src/entity/CanSend.ts index b6a5684..aea116c 100644 --- a/packages/delegated-sending-watcher/src/entity/CanSend.ts +++ b/packages/delegated-sending-watcher/src/entity/CanSend.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_as', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class CanSend { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _as!: number; + @Column('numeric', { transformer: bigintTransformer }) + _as!: bigint; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/delegated-sending-watcher/src/entity/CanSpawnAs.ts b/packages/delegated-sending-watcher/src/entity/CanSpawnAs.ts index 9163537..09c21c4 100644 --- a/packages/delegated-sending-watcher/src/entity/CanSpawnAs.ts +++ b/packages/delegated-sending-watcher/src/entity/CanSpawnAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanSpawnAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/delegated-sending-watcher/src/entity/CanTransfer.ts b/packages/delegated-sending-watcher/src/entity/CanTransfer.ts index 82fb96e..17ecc02 100644 --- a/packages/delegated-sending-watcher/src/entity/CanTransfer.ts +++ b/packages/delegated-sending-watcher/src/entity/CanTransfer.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanTransfer { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/delegated-sending-watcher/src/entity/CanVoteAs.ts b/packages/delegated-sending-watcher/src/entity/CanVoteAs.ts index 956d249..b9519df 100644 --- a/packages/delegated-sending-watcher/src/entity/CanVoteAs.ts +++ b/packages/delegated-sending-watcher/src/entity/CanVoteAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanVoteAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/delegated-sending-watcher/src/entity/FindClaim.ts b/packages/delegated-sending-watcher/src/entity/FindClaim.ts index a4c4294..eb35291 100644 --- a/packages/delegated-sending-watcher/src/entity/FindClaim.ts +++ b/packages/delegated-sending-watcher/src/entity/FindClaim.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_whose', '_protocol', '_claim'], { unique: true }) @@ -19,8 +20,8 @@ export class FindClaim { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _whose!: number; + @Column('numeric', { transformer: bigintTransformer }) + _whose!: bigint; @Column('varchar') _protocol!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetContinuityNumber.ts b/packages/delegated-sending-watcher/src/entity/GetContinuityNumber.ts index 27c158a..d4d3fb9 100644 --- a/packages/delegated-sending-watcher/src/entity/GetContinuityNumber.ts +++ b/packages/delegated-sending-watcher/src/entity/GetContinuityNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetContinuityNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetEscapeRequest.ts b/packages/delegated-sending-watcher/src/entity/GetEscapeRequest.ts index 09eb1d9..d2ed83d 100644 --- a/packages/delegated-sending-watcher/src/entity/GetEscapeRequest.ts +++ b/packages/delegated-sending-watcher/src/entity/GetEscapeRequest.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetEscapeRequest { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetEscapeRequestsCount.ts b/packages/delegated-sending-watcher/src/entity/GetEscapeRequestsCount.ts index 9e020db..2339c14 100644 --- a/packages/delegated-sending-watcher/src/entity/GetEscapeRequestsCount.ts +++ b/packages/delegated-sending-watcher/src/entity/GetEscapeRequestsCount.ts @@ -20,8 +20,8 @@ export class GetEscapeRequestsCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/delegated-sending-watcher/src/entity/GetKeyRevisionNumber.ts b/packages/delegated-sending-watcher/src/entity/GetKeyRevisionNumber.ts index ca5f269..9ea106d 100644 --- a/packages/delegated-sending-watcher/src/entity/GetKeyRevisionNumber.ts +++ b/packages/delegated-sending-watcher/src/entity/GetKeyRevisionNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetKeyRevisionNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetManagementProxy.ts b/packages/delegated-sending-watcher/src/entity/GetManagementProxy.ts index 310a4fb..73db456 100644 --- a/packages/delegated-sending-watcher/src/entity/GetManagementProxy.ts +++ b/packages/delegated-sending-watcher/src/entity/GetManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetOwnedPointAtIndex.ts b/packages/delegated-sending-watcher/src/entity/GetOwnedPointAtIndex.ts index cabc086..6aff916 100644 --- a/packages/delegated-sending-watcher/src/entity/GetOwnedPointAtIndex.ts +++ b/packages/delegated-sending-watcher/src/entity/GetOwnedPointAtIndex.ts @@ -26,8 +26,8 @@ export class GetOwnedPointAtIndex { @Column('numeric', { transformer: bigintTransformer }) _index!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetOwner.ts b/packages/delegated-sending-watcher/src/entity/GetOwner.ts index 00ff4df..04f3e9f 100644 --- a/packages/delegated-sending-watcher/src/entity/GetOwner.ts +++ b/packages/delegated-sending-watcher/src/entity/GetOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetPool.ts b/packages/delegated-sending-watcher/src/entity/GetPool.ts index 2c3a030..efda57b 100644 --- a/packages/delegated-sending-watcher/src/entity/GetPool.ts +++ b/packages/delegated-sending-watcher/src/entity/GetPool.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetPool { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetSpawnCount.ts b/packages/delegated-sending-watcher/src/entity/GetSpawnCount.ts index 6cc44cc..314cfe6 100644 --- a/packages/delegated-sending-watcher/src/entity/GetSpawnCount.ts +++ b/packages/delegated-sending-watcher/src/entity/GetSpawnCount.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSpawnCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetSpawnLimit.ts b/packages/delegated-sending-watcher/src/entity/GetSpawnLimit.ts index 59ba37d..ab1e0dc 100644 --- a/packages/delegated-sending-watcher/src/entity/GetSpawnLimit.ts +++ b/packages/delegated-sending-watcher/src/entity/GetSpawnLimit.ts @@ -20,14 +20,14 @@ export class GetSpawnLimit { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('numeric', { transformer: bigintTransformer }) _time!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetSpawnProxy.ts b/packages/delegated-sending-watcher/src/entity/GetSpawnProxy.ts index d1e2cbd..7ee732c 100644 --- a/packages/delegated-sending-watcher/src/entity/GetSpawnProxy.ts +++ b/packages/delegated-sending-watcher/src/entity/GetSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetSponsor.ts b/packages/delegated-sending-watcher/src/entity/GetSponsor.ts index 3d964f9..a901174 100644 --- a/packages/delegated-sending-watcher/src/entity/GetSponsor.ts +++ b/packages/delegated-sending-watcher/src/entity/GetSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetSponsoringCount.ts b/packages/delegated-sending-watcher/src/entity/GetSponsoringCount.ts index 95dcbd9..c3e8c8c 100644 --- a/packages/delegated-sending-watcher/src/entity/GetSponsoringCount.ts +++ b/packages/delegated-sending-watcher/src/entity/GetSponsoringCount.ts @@ -20,8 +20,8 @@ export class GetSponsoringCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/delegated-sending-watcher/src/entity/GetTransferProxy.ts b/packages/delegated-sending-watcher/src/entity/GetTransferProxy.ts index f2dd7b2..1173349 100644 --- a/packages/delegated-sending-watcher/src/entity/GetTransferProxy.ts +++ b/packages/delegated-sending-watcher/src/entity/GetTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/delegated-sending-watcher/src/entity/GetVotingProxy.ts b/packages/delegated-sending-watcher/src/entity/GetVotingProxy.ts index c4a73e5..602d459 100644 --- a/packages/delegated-sending-watcher/src/entity/GetVotingProxy.ts +++ b/packages/delegated-sending-watcher/src/entity/GetVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/delegated-sending-watcher/src/entity/HasBeenLinked.ts b/packages/delegated-sending-watcher/src/entity/HasBeenLinked.ts index 4f897dc..38916ab 100644 --- a/packages/delegated-sending-watcher/src/entity/HasBeenLinked.ts +++ b/packages/delegated-sending-watcher/src/entity/HasBeenLinked.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasBeenLinked { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/delegated-sending-watcher/src/entity/HasSponsor.ts b/packages/delegated-sending-watcher/src/entity/HasSponsor.ts index ccc8875..eb479ea 100644 --- a/packages/delegated-sending-watcher/src/entity/HasSponsor.ts +++ b/packages/delegated-sending-watcher/src/entity/HasSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/delegated-sending-watcher/src/entity/IsActive.ts b/packages/delegated-sending-watcher/src/entity/IsActive.ts index 055e224..a725d12 100644 --- a/packages/delegated-sending-watcher/src/entity/IsActive.ts +++ b/packages/delegated-sending-watcher/src/entity/IsActive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsActive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/delegated-sending-watcher/src/entity/IsEscaping.ts b/packages/delegated-sending-watcher/src/entity/IsEscaping.ts index fb4c3bd..a3c704f 100644 --- a/packages/delegated-sending-watcher/src/entity/IsEscaping.ts +++ b/packages/delegated-sending-watcher/src/entity/IsEscaping.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsEscaping { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/delegated-sending-watcher/src/entity/IsLive.ts b/packages/delegated-sending-watcher/src/entity/IsLive.ts index 87ca00f..e3270e0 100644 --- a/packages/delegated-sending-watcher/src/entity/IsLive.ts +++ b/packages/delegated-sending-watcher/src/entity/IsLive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsLive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/delegated-sending-watcher/src/entity/IsManagementProxy.ts b/packages/delegated-sending-watcher/src/entity/IsManagementProxy.ts index 14ac477..e72a487 100644 --- a/packages/delegated-sending-watcher/src/entity/IsManagementProxy.ts +++ b/packages/delegated-sending-watcher/src/entity/IsManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/delegated-sending-watcher/src/entity/IsOwner.ts b/packages/delegated-sending-watcher/src/entity/IsOwner.ts index 81a6046..51aeaed 100644 --- a/packages/delegated-sending-watcher/src/entity/IsOwner.ts +++ b/packages/delegated-sending-watcher/src/entity/IsOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_address'], { unique: true }) @@ -19,8 +20,8 @@ export class IsOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _address!: string; diff --git a/packages/delegated-sending-watcher/src/entity/IsRequestingEscapeTo.ts b/packages/delegated-sending-watcher/src/entity/IsRequestingEscapeTo.ts index 58409ab..5c6385d 100644 --- a/packages/delegated-sending-watcher/src/entity/IsRequestingEscapeTo.ts +++ b/packages/delegated-sending-watcher/src/entity/IsRequestingEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsRequestingEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/delegated-sending-watcher/src/entity/IsSpawnProxy.ts b/packages/delegated-sending-watcher/src/entity/IsSpawnProxy.ts index 023ca72..d6ba37b 100644 --- a/packages/delegated-sending-watcher/src/entity/IsSpawnProxy.ts +++ b/packages/delegated-sending-watcher/src/entity/IsSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/delegated-sending-watcher/src/entity/IsSponsor.ts b/packages/delegated-sending-watcher/src/entity/IsSponsor.ts index a21b71c..9a615c4 100644 --- a/packages/delegated-sending-watcher/src/entity/IsSponsor.ts +++ b/packages/delegated-sending-watcher/src/entity/IsSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/delegated-sending-watcher/src/entity/IsTransferProxy.ts b/packages/delegated-sending-watcher/src/entity/IsTransferProxy.ts index b1613a4..904d2df 100644 --- a/packages/delegated-sending-watcher/src/entity/IsTransferProxy.ts +++ b/packages/delegated-sending-watcher/src/entity/IsTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/delegated-sending-watcher/src/entity/IsVotingProxy.ts b/packages/delegated-sending-watcher/src/entity/IsVotingProxy.ts index 172dd15..5cd6128 100644 --- a/packages/delegated-sending-watcher/src/entity/IsVotingProxy.ts +++ b/packages/delegated-sending-watcher/src/entity/IsVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/delegated-sending-watcher/src/gql/queries/canEscapeTo.gql b/packages/delegated-sending-watcher/src/gql/queries/canEscapeTo.gql index b065033..54e9c5a 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/canEscapeTo.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/canEscapeTo.gql @@ -1,4 +1,4 @@ -query canEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query canEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ canEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/canManage.gql b/packages/delegated-sending-watcher/src/gql/queries/canManage.gql index e52d71b..dad1626 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/canManage.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/canManage.gql @@ -1,4 +1,4 @@ -query canManage($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canManage($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canManage(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/canSend.gql b/packages/delegated-sending-watcher/src/gql/queries/canSend.gql index f5731ae..3d43b04 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/canSend.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/canSend.gql @@ -1,4 +1,4 @@ -query canSend($blockHash: String!, $contractAddress: String!, $_as: Int!, $_point: Int!){ +query canSend($blockHash: String!, $contractAddress: String!, $_as: BigInt!, $_point: BigInt!){ canSend(blockHash: $blockHash, contractAddress: $contractAddress, _as: $_as, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/canSpawnAs.gql b/packages/delegated-sending-watcher/src/gql/queries/canSpawnAs.gql index af9c463..040dd32 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/canSpawnAs.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/canSpawnAs.gql @@ -1,4 +1,4 @@ -query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canSpawnAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/canTransfer.gql b/packages/delegated-sending-watcher/src/gql/queries/canTransfer.gql index 14b39fa..994578f 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/canTransfer.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/canTransfer.gql @@ -1,4 +1,4 @@ -query canTransfer($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canTransfer($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canTransfer(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/canVoteAs.gql b/packages/delegated-sending-watcher/src/gql/queries/canVoteAs.gql index d2a79a9..87871a2 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/canVoteAs.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/canVoteAs.gql @@ -1,4 +1,4 @@ -query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canVoteAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/findClaim.gql b/packages/delegated-sending-watcher/src/gql/queries/findClaim.gql index fe8ab15..2d6efb4 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/findClaim.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/findClaim.gql @@ -1,4 +1,4 @@ -query findClaim($blockHash: String!, $contractAddress: String!, $_whose: Int!, $_protocol: String!, $_claim: String!){ +query findClaim($blockHash: String!, $contractAddress: String!, $_whose: BigInt!, $_protocol: String!, $_claim: String!){ findClaim(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose, _protocol: $_protocol, _claim: $_claim){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getContinuityNumber.gql b/packages/delegated-sending-watcher/src/gql/queries/getContinuityNumber.gql index 1ad5af4..244398d 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getContinuityNumber.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getContinuityNumber.gql @@ -1,4 +1,4 @@ -query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getContinuityNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getDocumentMajorities.gql b/packages/delegated-sending-watcher/src/gql/queries/getDocumentMajorities.gql new file mode 100644 index 0000000..89fd856 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getDocumentMajorities.gql @@ -0,0 +1,8 @@ +query getDocumentMajorities($blockHash: String!, $contractAddress: String!){ + getDocumentMajorities(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getDocumentProposals.gql b/packages/delegated-sending-watcher/src/gql/queries/getDocumentProposals.gql new file mode 100644 index 0000000..75b30c2 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getDocumentProposals.gql @@ -0,0 +1,8 @@ +query getDocumentProposals($blockHash: String!, $contractAddress: String!){ + getDocumentProposals(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequest.gql b/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequest.gql index acf7e7b..7215f8b 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequest.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequest.gql @@ -1,4 +1,4 @@ -query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getEscapeRequest(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequests.gql b/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequests.gql new file mode 100644 index 0000000..13b81ac --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequests.gql @@ -0,0 +1,8 @@ +query getEscapeRequests($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getEscapeRequests(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequestsCount.gql b/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequestsCount.gql index 5b6e489..ca7f8ef 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequestsCount.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getEscapeRequestsCount.gql @@ -1,4 +1,4 @@ -query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getEscapeRequestsCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getInvited.gql b/packages/delegated-sending-watcher/src/gql/queries/getInvited.gql new file mode 100644 index 0000000..6739f15 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getInvited.gql @@ -0,0 +1,8 @@ +query getInvited($blockHash: String!, $contractAddress: String!, $_who: BigInt!){ + getInvited(blockHash: $blockHash, contractAddress: $contractAddress, _who: $_who){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getInviters.gql b/packages/delegated-sending-watcher/src/gql/queries/getInviters.gql new file mode 100644 index 0000000..3df2b00 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getInviters.gql @@ -0,0 +1,8 @@ +query getInviters($blockHash: String!, $contractAddress: String!){ + getInviters(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getKeyRevisionNumber.gql b/packages/delegated-sending-watcher/src/gql/queries/getKeyRevisionNumber.gql index ebcea96..fdccc8b 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getKeyRevisionNumber.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getKeyRevisionNumber.gql @@ -1,4 +1,4 @@ -query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getKeyRevisionNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getManagementProxy.gql b/packages/delegated-sending-watcher/src/gql/queries/getManagementProxy.gql index fd499b7..a9be364 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getManagementProxy.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getManagementProxy.gql @@ -1,4 +1,4 @@ -query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getManagerFor.gql b/packages/delegated-sending-watcher/src/gql/queries/getManagerFor.gql new file mode 100644 index 0000000..12e6ca0 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getManagerFor.gql @@ -0,0 +1,8 @@ +query getManagerFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getManagerFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getOwnedPoints.gql b/packages/delegated-sending-watcher/src/gql/queries/getOwnedPoints.gql new file mode 100644 index 0000000..869ed24 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getOwnedPoints.gql @@ -0,0 +1,8 @@ +query getOwnedPoints($blockHash: String!, $contractAddress: String!, $_whose: String!){ + getOwnedPoints(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getOwner.gql b/packages/delegated-sending-watcher/src/gql/queries/getOwner.gql index f20db27..cc665d0 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getOwner.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getOwner.gql @@ -1,4 +1,4 @@ -query getOwner($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getPool.gql b/packages/delegated-sending-watcher/src/gql/queries/getPool.gql index 05bddb7..7d9f8b5 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getPool.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getPool.gql @@ -1,4 +1,4 @@ -query getPool($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getPool($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getPool(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getPoolStars.gql b/packages/delegated-sending-watcher/src/gql/queries/getPoolStars.gql new file mode 100644 index 0000000..accaa3f --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getPoolStars.gql @@ -0,0 +1,8 @@ +query getPoolStars($blockHash: String!, $contractAddress: String!, $_who: BigInt!){ + getPoolStars(blockHash: $blockHash, contractAddress: $contractAddress, _who: $_who){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getSpawnCount.gql b/packages/delegated-sending-watcher/src/gql/queries/getSpawnCount.gql index 2edcff0..f990551 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getSpawnCount.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getSpawnCount.gql @@ -1,4 +1,4 @@ -query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnCount(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getSpawnLimit.gql b/packages/delegated-sending-watcher/src/gql/queries/getSpawnLimit.gql index 14873c3..fe0174c 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getSpawnLimit.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getSpawnLimit.gql @@ -1,4 +1,4 @@ -query getSpawnLimit($blockHash: String!, $contractAddress: String!, $_point: Int!, $_time: BigInt!){ +query getSpawnLimit($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_time: BigInt!){ getSpawnLimit(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _time: $_time){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getSpawnProxy.gql b/packages/delegated-sending-watcher/src/gql/queries/getSpawnProxy.gql index fe536b2..f542279 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getSpawnProxy.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getSpawnProxy.gql @@ -1,4 +1,4 @@ -query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getSpawned.gql b/packages/delegated-sending-watcher/src/gql/queries/getSpawned.gql new file mode 100644 index 0000000..ab9ea11 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getSpawned.gql @@ -0,0 +1,8 @@ +query getSpawned($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ + getSpawned(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getSpawningFor.gql b/packages/delegated-sending-watcher/src/gql/queries/getSpawningFor.gql new file mode 100644 index 0000000..5059aa6 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getSpawningFor.gql @@ -0,0 +1,8 @@ +query getSpawningFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getSpawningFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getSponsor.gql b/packages/delegated-sending-watcher/src/gql/queries/getSponsor.gql index 9843916..56a5305 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getSponsor.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getSponsor.gql @@ -1,4 +1,4 @@ -query getSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getSponsoring.gql b/packages/delegated-sending-watcher/src/gql/queries/getSponsoring.gql new file mode 100644 index 0000000..cb6a4b4 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getSponsoring.gql @@ -0,0 +1,8 @@ +query getSponsoring($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getSponsoring(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getSponsoringCount.gql b/packages/delegated-sending-watcher/src/gql/queries/getSponsoringCount.gql index 3d070dd..ee62745 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getSponsoringCount.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getSponsoringCount.gql @@ -1,4 +1,4 @@ -query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getSponsoringCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getTransferProxy.gql b/packages/delegated-sending-watcher/src/gql/queries/getTransferProxy.gql index 852fd2f..c14c0ab 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getTransferProxy.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getTransferProxy.gql @@ -1,4 +1,4 @@ -query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/getTransferringFor.gql b/packages/delegated-sending-watcher/src/gql/queries/getTransferringFor.gql new file mode 100644 index 0000000..0911c39 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getTransferringFor.gql @@ -0,0 +1,8 @@ +query getTransferringFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getTransferringFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getUpgradeProposals.gql b/packages/delegated-sending-watcher/src/gql/queries/getUpgradeProposals.gql new file mode 100644 index 0000000..4cb89ce --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getUpgradeProposals.gql @@ -0,0 +1,8 @@ +query getUpgradeProposals($blockHash: String!, $contractAddress: String!){ + getUpgradeProposals(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getVotingFor.gql b/packages/delegated-sending-watcher/src/gql/queries/getVotingFor.gql new file mode 100644 index 0000000..30186d8 --- /dev/null +++ b/packages/delegated-sending-watcher/src/gql/queries/getVotingFor.gql @@ -0,0 +1,8 @@ +query getVotingFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getVotingFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/delegated-sending-watcher/src/gql/queries/getVotingProxy.gql b/packages/delegated-sending-watcher/src/gql/queries/getVotingProxy.gql index 1f2f38a..49d37ab 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/getVotingProxy.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/getVotingProxy.gql @@ -1,4 +1,4 @@ -query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/hasBeenLinked.gql b/packages/delegated-sending-watcher/src/gql/queries/hasBeenLinked.gql index e9da67e..a50505c 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/hasBeenLinked.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/hasBeenLinked.gql @@ -1,4 +1,4 @@ -query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasBeenLinked(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/hasSponsor.gql b/packages/delegated-sending-watcher/src/gql/queries/hasSponsor.gql index 3e804ed..0261c6e 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/hasSponsor.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/hasSponsor.gql @@ -1,4 +1,4 @@ -query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/index.ts b/packages/delegated-sending-watcher/src/gql/queries/index.ts index f3da159..6850122 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/index.ts +++ b/packages/delegated-sending-watcher/src/gql/queries/index.ts @@ -9,37 +9,48 @@ export const hasBeenLinked = fs.readFileSync(path.join(__dirname, 'hasBeenLinked export const isLive = fs.readFileSync(path.join(__dirname, 'isLive.gql'), 'utf8'); export const getContinuityNumber = fs.readFileSync(path.join(__dirname, 'getContinuityNumber.gql'), 'utf8'); export const getSpawnCount = fs.readFileSync(path.join(__dirname, 'getSpawnCount.gql'), 'utf8'); +export const getSpawned = fs.readFileSync(path.join(__dirname, 'getSpawned.gql'), 'utf8'); export const hasSponsor = fs.readFileSync(path.join(__dirname, 'hasSponsor.gql'), 'utf8'); export const getSponsor = fs.readFileSync(path.join(__dirname, 'getSponsor.gql'), 'utf8'); export const isSponsor = fs.readFileSync(path.join(__dirname, 'isSponsor.gql'), 'utf8'); export const getSponsoringCount = fs.readFileSync(path.join(__dirname, 'getSponsoringCount.gql'), 'utf8'); +export const getSponsoring = fs.readFileSync(path.join(__dirname, 'getSponsoring.gql'), 'utf8'); export const isEscaping = fs.readFileSync(path.join(__dirname, 'isEscaping.gql'), 'utf8'); export const getEscapeRequest = fs.readFileSync(path.join(__dirname, 'getEscapeRequest.gql'), 'utf8'); export const isRequestingEscapeTo = fs.readFileSync(path.join(__dirname, 'isRequestingEscapeTo.gql'), 'utf8'); export const getEscapeRequestsCount = fs.readFileSync(path.join(__dirname, 'getEscapeRequestsCount.gql'), 'utf8'); +export const getEscapeRequests = fs.readFileSync(path.join(__dirname, 'getEscapeRequests.gql'), 'utf8'); export const getOwner = fs.readFileSync(path.join(__dirname, 'getOwner.gql'), 'utf8'); export const isOwner = fs.readFileSync(path.join(__dirname, 'isOwner.gql'), 'utf8'); export const getOwnedPointCount = fs.readFileSync(path.join(__dirname, 'getOwnedPointCount.gql'), 'utf8'); +export const getOwnedPoints = fs.readFileSync(path.join(__dirname, 'getOwnedPoints.gql'), 'utf8'); export const getOwnedPointAtIndex = fs.readFileSync(path.join(__dirname, 'getOwnedPointAtIndex.gql'), 'utf8'); export const getManagementProxy = fs.readFileSync(path.join(__dirname, 'getManagementProxy.gql'), 'utf8'); export const isManagementProxy = fs.readFileSync(path.join(__dirname, 'isManagementProxy.gql'), 'utf8'); export const canManage = fs.readFileSync(path.join(__dirname, 'canManage.gql'), 'utf8'); export const getManagerForCount = fs.readFileSync(path.join(__dirname, 'getManagerForCount.gql'), 'utf8'); +export const getManagerFor = fs.readFileSync(path.join(__dirname, 'getManagerFor.gql'), 'utf8'); export const getSpawnProxy = fs.readFileSync(path.join(__dirname, 'getSpawnProxy.gql'), 'utf8'); export const isSpawnProxy = fs.readFileSync(path.join(__dirname, 'isSpawnProxy.gql'), 'utf8'); export const canSpawnAs = fs.readFileSync(path.join(__dirname, 'canSpawnAs.gql'), 'utf8'); export const getSpawningForCount = fs.readFileSync(path.join(__dirname, 'getSpawningForCount.gql'), 'utf8'); +export const getSpawningFor = fs.readFileSync(path.join(__dirname, 'getSpawningFor.gql'), 'utf8'); export const getVotingProxy = fs.readFileSync(path.join(__dirname, 'getVotingProxy.gql'), 'utf8'); export const isVotingProxy = fs.readFileSync(path.join(__dirname, 'isVotingProxy.gql'), 'utf8'); export const canVoteAs = fs.readFileSync(path.join(__dirname, 'canVoteAs.gql'), 'utf8'); export const getVotingForCount = fs.readFileSync(path.join(__dirname, 'getVotingForCount.gql'), 'utf8'); +export const getVotingFor = fs.readFileSync(path.join(__dirname, 'getVotingFor.gql'), 'utf8'); export const getTransferProxy = fs.readFileSync(path.join(__dirname, 'getTransferProxy.gql'), 'utf8'); export const isTransferProxy = fs.readFileSync(path.join(__dirname, 'isTransferProxy.gql'), 'utf8'); export const canTransfer = fs.readFileSync(path.join(__dirname, 'canTransfer.gql'), 'utf8'); export const getTransferringForCount = fs.readFileSync(path.join(__dirname, 'getTransferringForCount.gql'), 'utf8'); +export const getTransferringFor = fs.readFileSync(path.join(__dirname, 'getTransferringFor.gql'), 'utf8'); export const isOperator = fs.readFileSync(path.join(__dirname, 'isOperator.gql'), 'utf8'); +export const getUpgradeProposals = fs.readFileSync(path.join(__dirname, 'getUpgradeProposals.gql'), 'utf8'); export const getUpgradeProposalCount = fs.readFileSync(path.join(__dirname, 'getUpgradeProposalCount.gql'), 'utf8'); +export const getDocumentProposals = fs.readFileSync(path.join(__dirname, 'getDocumentProposals.gql'), 'utf8'); export const getDocumentProposalCount = fs.readFileSync(path.join(__dirname, 'getDocumentProposalCount.gql'), 'utf8'); +export const getDocumentMajorities = fs.readFileSync(path.join(__dirname, 'getDocumentMajorities.gql'), 'utf8'); export const hasVotedOnUpgradePoll = fs.readFileSync(path.join(__dirname, 'hasVotedOnUpgradePoll.gql'), 'utf8'); export const hasVotedOnDocumentPoll = fs.readFileSync(path.join(__dirname, 'hasVotedOnDocumentPoll.gql'), 'utf8'); export const findClaim = fs.readFileSync(path.join(__dirname, 'findClaim.gql'), 'utf8'); @@ -60,6 +71,9 @@ export const canEscapeTo = fs.readFileSync(path.join(__dirname, 'canEscapeTo.gql export const canSend = fs.readFileSync(path.join(__dirname, 'canSend.gql'), 'utf8'); export const getPool = fs.readFileSync(path.join(__dirname, 'getPool.gql'), 'utf8'); export const canReceive = fs.readFileSync(path.join(__dirname, 'canReceive.gql'), 'utf8'); +export const getPoolStars = fs.readFileSync(path.join(__dirname, 'getPoolStars.gql'), 'utf8'); +export const getInviters = fs.readFileSync(path.join(__dirname, 'getInviters.gql'), 'utf8'); +export const getInvited = fs.readFileSync(path.join(__dirname, 'getInvited.gql'), 'utf8'); export const getSyncStatus = fs.readFileSync(path.join(__dirname, 'getSyncStatus.gql'), 'utf8'); export const getStateByCID = fs.readFileSync(path.join(__dirname, 'getStateByCID.gql'), 'utf8'); export const getState = fs.readFileSync(path.join(__dirname, 'getState.gql'), 'utf8'); diff --git a/packages/delegated-sending-watcher/src/gql/queries/isActive.gql b/packages/delegated-sending-watcher/src/gql/queries/isActive.gql index fe365a4..74bc87f 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/isActive.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/isActive.gql @@ -1,4 +1,4 @@ -query isActive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isActive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isActive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/isEscaping.gql b/packages/delegated-sending-watcher/src/gql/queries/isEscaping.gql index 89113e6..4ed499f 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/isEscaping.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/isEscaping.gql @@ -1,4 +1,4 @@ -query isEscaping($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isEscaping($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isEscaping(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/isLive.gql b/packages/delegated-sending-watcher/src/gql/queries/isLive.gql index ceaa49e..78a61fd 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/isLive.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/isLive.gql @@ -1,4 +1,4 @@ -query isLive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isLive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isLive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/isManagementProxy.gql b/packages/delegated-sending-watcher/src/gql/queries/isManagementProxy.gql index c3484d6..64b7656 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/isManagementProxy.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/isManagementProxy.gql @@ -1,4 +1,4 @@ -query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/isOwner.gql b/packages/delegated-sending-watcher/src/gql/queries/isOwner.gql index 84dfc3b..9378225 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/isOwner.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/isOwner.gql @@ -1,4 +1,4 @@ -query isOwner($blockHash: String!, $contractAddress: String!, $_point: Int!, $_address: String!){ +query isOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_address: String!){ isOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _address: $_address){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/isRequestingEscapeTo.gql b/packages/delegated-sending-watcher/src/gql/queries/isRequestingEscapeTo.gql index bb2d6dd..f1c9afb 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/isRequestingEscapeTo.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/isRequestingEscapeTo.gql @@ -1,4 +1,4 @@ -query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isRequestingEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/isSpawnProxy.gql b/packages/delegated-sending-watcher/src/gql/queries/isSpawnProxy.gql index 161923d..2223af6 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/isSpawnProxy.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/isSpawnProxy.gql @@ -1,4 +1,4 @@ -query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/isSponsor.gql b/packages/delegated-sending-watcher/src/gql/queries/isSponsor.gql index 4daff70..3e1b3cc 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/isSponsor.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/isSponsor.gql @@ -1,4 +1,4 @@ -query isSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/isTransferProxy.gql b/packages/delegated-sending-watcher/src/gql/queries/isTransferProxy.gql index 1057968..feccdf0 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/isTransferProxy.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/isTransferProxy.gql @@ -1,4 +1,4 @@ -query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/delegated-sending-watcher/src/gql/queries/isVotingProxy.gql b/packages/delegated-sending-watcher/src/gql/queries/isVotingProxy.gql index 28bdb0f..3bf33c8 100644 --- a/packages/delegated-sending-watcher/src/gql/queries/isVotingProxy.gql +++ b/packages/delegated-sending-watcher/src/gql/queries/isVotingProxy.gql @@ -1,4 +1,4 @@ -query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/delegated-sending-watcher/src/indexer.ts b/packages/delegated-sending-watcher/src/indexer.ts index 7638d51..eb757c5 100644 --- a/packages/delegated-sending-watcher/src/indexer.ts +++ b/packages/delegated-sending-watcher/src/indexer.ts @@ -94,7 +94,7 @@ export class Indexer implements IndexerInterface { return getResultEvent(event); } - async isActive (blockHash: string, contractAddress: string, _point: number): Promise { + async isActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsActive({ blockHash, contractAddress, _point }); if (entity) { log('isActive: db hit.'); @@ -123,7 +123,7 @@ export class Indexer implements IndexerInterface { return result; } - async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetKeyRevisionNumber({ blockHash, contractAddress, _point }); if (entity) { log('getKeyRevisionNumber: db hit.'); @@ -143,7 +143,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + let value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -152,7 +154,7 @@ export class Indexer implements IndexerInterface { return result; } - async hasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async hasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasBeenLinked({ blockHash, contractAddress, _point }); if (entity) { log('hasBeenLinked: db hit.'); @@ -181,7 +183,7 @@ export class Indexer implements IndexerInterface { return result; } - async isLive (blockHash: string, contractAddress: string, _point: number): Promise { + async isLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsLive({ blockHash, contractAddress, _point }); if (entity) { log('isLive: db hit.'); @@ -210,7 +212,7 @@ export class Indexer implements IndexerInterface { return result; } - async getContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetContinuityNumber({ blockHash, contractAddress, _point }); if (entity) { log('getContinuityNumber: db hit.'); @@ -230,7 +232,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + let value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -239,7 +243,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnCount({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnCount: db hit.'); @@ -259,7 +263,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + let value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -268,7 +274,25 @@ export class Indexer implements IndexerInterface { return result; } - async hasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawned (blockHash: string, contractAddress: string, _point: bigint): Promise { + log('getSpawned: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawned(_point, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async hasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasSponsor({ blockHash, contractAddress, _point }); if (entity) { log('hasSponsor: db hit.'); @@ -297,7 +321,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSponsor({ blockHash, contractAddress, _point }); if (entity) { log('getSponsor: db hit.'); @@ -317,7 +341,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSponsor(_point, { blockTag: blockHash }); + let value = await contract.getSponsor(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -326,7 +352,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsSponsor({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isSponsor: db hit.'); @@ -355,7 +381,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetSponsoringCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getSponsoringCount: db hit.'); @@ -386,7 +412,25 @@ export class Indexer implements IndexerInterface { return result; } - async isEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsoring (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getSponsoring: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSponsoring(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async isEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsEscaping({ blockHash, contractAddress, _point }); if (entity) { log('isEscaping: db hit.'); @@ -415,7 +459,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetEscapeRequest({ blockHash, contractAddress, _point }); if (entity) { log('getEscapeRequest: db hit.'); @@ -435,7 +479,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + let value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -444,7 +490,7 @@ export class Indexer implements IndexerInterface { return result; } - async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsRequestingEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isRequestingEscapeTo: db hit.'); @@ -473,7 +519,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetEscapeRequestsCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getEscapeRequestsCount: db hit.'); @@ -504,7 +550,25 @@ export class Indexer implements IndexerInterface { return result; } - async getOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequests (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getEscapeRequests: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getEscapeRequests(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetOwner({ blockHash, contractAddress, _point }); if (entity) { log('getOwner: db hit.'); @@ -533,7 +597,7 @@ export class Indexer implements IndexerInterface { return result; } - async isOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async isOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const entity = await this._db.getIsOwner({ blockHash, contractAddress, _point, _address }); if (entity) { log('isOwner: db hit.'); @@ -593,6 +657,24 @@ export class Indexer implements IndexerInterface { return result; } + async getOwnedPoints (blockHash: string, contractAddress: string, _whose: string): Promise { + log('getOwnedPoints: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getOwnedPoints(_whose, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async getOwnedPointAtIndex (blockHash: string, contractAddress: string, _whose: string, _index: bigint): Promise { const entity = await this._db.getGetOwnedPointAtIndex({ blockHash, contractAddress, _whose, _index }); if (entity) { @@ -613,7 +695,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + let value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -622,7 +706,7 @@ export class Indexer implements IndexerInterface { return result; } - async getManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetManagementProxy({ blockHash, contractAddress, _point }); if (entity) { log('getManagementProxy: db hit.'); @@ -651,7 +735,7 @@ export class Indexer implements IndexerInterface { return result; } - async isManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsManagementProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isManagementProxy: db hit.'); @@ -680,7 +764,7 @@ export class Indexer implements IndexerInterface { return result; } - async canManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanManage({ blockHash, contractAddress, _point, _who }); if (entity) { log('canManage: db hit.'); @@ -740,7 +824,25 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagerFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getManagerFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getManagerFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnProxy({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnProxy: db hit.'); @@ -769,7 +871,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsSpawnProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isSpawnProxy: db hit.'); @@ -798,7 +900,7 @@ export class Indexer implements IndexerInterface { return result; } - async canSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanSpawnAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canSpawnAs: db hit.'); @@ -858,7 +960,25 @@ export class Indexer implements IndexerInterface { return result; } - async getVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawningFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getSpawningFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawningFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetVotingProxy({ blockHash, contractAddress, _point }); if (entity) { log('getVotingProxy: db hit.'); @@ -887,7 +1007,7 @@ export class Indexer implements IndexerInterface { return result; } - async isVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsVotingProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isVotingProxy: db hit.'); @@ -916,7 +1036,7 @@ export class Indexer implements IndexerInterface { return result; } - async canVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanVoteAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canVoteAs: db hit.'); @@ -976,7 +1096,25 @@ export class Indexer implements IndexerInterface { return result; } - async getTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getVotingFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getVotingFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getVotingFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetTransferProxy({ blockHash, contractAddress, _point }); if (entity) { log('getTransferProxy: db hit.'); @@ -1005,7 +1143,7 @@ export class Indexer implements IndexerInterface { return result; } - async isTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsTransferProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isTransferProxy: db hit.'); @@ -1034,7 +1172,7 @@ export class Indexer implements IndexerInterface { return result; } - async canTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanTransfer({ blockHash, contractAddress, _point, _who }); if (entity) { log('canTransfer: db hit.'); @@ -1094,6 +1232,24 @@ export class Indexer implements IndexerInterface { return result; } + async getTransferringFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getTransferringFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getTransferringFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async isOperator (blockHash: string, contractAddress: string, _owner: string, _operator: string): Promise { const entity = await this._db.getIsOperator({ blockHash, contractAddress, _owner, _operator }); if (entity) { @@ -1123,6 +1279,23 @@ export class Indexer implements IndexerInterface { return result; } + async getUpgradeProposals (blockHash: string, contractAddress: string): Promise { + log('getUpgradeProposals: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getUpgradeProposals({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getUpgradeProposalCount (blockHash: string, contractAddress: string): Promise { const entity = await this._db.getGetUpgradeProposalCount({ blockHash, contractAddress }); if (entity) { @@ -1154,6 +1327,23 @@ export class Indexer implements IndexerInterface { return result; } + async getDocumentProposals (blockHash: string, contractAddress: string): Promise { + log('getDocumentProposals: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getDocumentProposals({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getDocumentProposalCount (blockHash: string, contractAddress: string): Promise { const entity = await this._db.getGetDocumentProposalCount({ blockHash, contractAddress }); if (entity) { @@ -1185,6 +1375,23 @@ export class Indexer implements IndexerInterface { return result; } + async getDocumentMajorities (blockHash: string, contractAddress: string): Promise { + log('getDocumentMajorities: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getDocumentMajorities({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async hasVotedOnUpgradePoll (blockHash: string, contractAddress: string, _galaxy: number, _proposal: string): Promise { const entity = await this._db.getHasVotedOnUpgradePoll({ blockHash, contractAddress, _galaxy, _proposal }); if (entity) { @@ -1243,7 +1450,7 @@ export class Indexer implements IndexerInterface { return result; } - async findClaim (blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string): Promise { + async findClaim (blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string): Promise { const entity = await this._db.getFindClaim({ blockHash, contractAddress, _whose, _protocol, _claim }); if (entity) { log('findClaim: db hit.'); @@ -1628,7 +1835,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnLimit (blockHash: string, contractAddress: string, _point: number, _time: bigint): Promise { + async getSpawnLimit (blockHash: string, contractAddress: string, _point: bigint, _time: bigint): Promise { const entity = await this._db.getGetSpawnLimit({ blockHash, contractAddress, _point, _time }); if (entity) { log('getSpawnLimit: db hit.'); @@ -1648,7 +1855,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnLimit(_point, _time, { blockTag: blockHash }); + let value = await contract.getSpawnLimit(_point, _time, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -1657,7 +1866,7 @@ export class Indexer implements IndexerInterface { return result; } - async canEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async canEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getCanEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('canEscapeTo: db hit.'); @@ -1686,7 +1895,7 @@ export class Indexer implements IndexerInterface { return result; } - async canSend (blockHash: string, contractAddress: string, _as: number, _point: number): Promise { + async canSend (blockHash: string, contractAddress: string, _as: bigint, _point: bigint): Promise { const entity = await this._db.getCanSend({ blockHash, contractAddress, _as, _point }); if (entity) { log('canSend: db hit.'); @@ -1715,7 +1924,7 @@ export class Indexer implements IndexerInterface { return result; } - async getPool (blockHash: string, contractAddress: string, _point: number): Promise { + async getPool (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetPool({ blockHash, contractAddress, _point }); if (entity) { log('getPool: db hit.'); @@ -1735,7 +1944,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getPool(_point, { blockTag: blockHash }); + let value = await contract.getPool(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -1773,6 +1984,59 @@ export class Indexer implements IndexerInterface { return result; } + async getPoolStars (blockHash: string, contractAddress: string, _who: bigint): Promise { + log('getPoolStars: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getPoolStars(_who, { blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + + async getInviters (blockHash: string, contractAddress: string): Promise { + log('getInviters: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getInviters({ blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getInvited (blockHash: string, contractAddress: string, _who: bigint): Promise { + log('getInvited: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_DELEGATEDSENDING); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getInvited(_who, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async getStorageValue (storageLayout: StorageLayout, blockHash: string, contractAddress: string, variable: string, ...mappingKeys: MappingKey[]): Promise { return this._baseIndexer.getStorageValue( storageLayout, diff --git a/packages/delegated-sending-watcher/src/resolvers.ts b/packages/delegated-sending-watcher/src/resolvers.ts index 5141ddd..31decac 100644 --- a/packages/delegated-sending-watcher/src/resolvers.ts +++ b/packages/delegated-sending-watcher/src/resolvers.ts @@ -71,7 +71,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher Query: { isActive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -87,7 +87,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getKeyRevisionNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -103,7 +103,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher hasBeenLinked: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -119,7 +119,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isLive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -135,7 +135,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getContinuityNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -151,7 +151,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnCount: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -165,9 +165,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawnCount(blockHash, contractAddress, _point); }, + getSpawned: ( + _: any, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawned', blockHash, contractAddress, _point); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawned').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawned(blockHash, contractAddress, _point); + }, + hasSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -183,7 +199,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -199,7 +215,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSponsor: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -215,7 +231,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsoringCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -229,9 +245,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSponsoringCount(blockHash, contractAddress, _sponsor); }, + getSponsoring: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSponsoring', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSponsoring').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSponsoring(blockHash, contractAddress, _sponsor); + }, + isEscaping: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -247,7 +279,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequest: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -263,7 +295,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isRequestingEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -279,7 +311,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequestsCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -293,9 +325,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getEscapeRequestsCount(blockHash, contractAddress, _sponsor); }, + getEscapeRequests: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getEscapeRequests', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getEscapeRequests').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getEscapeRequests(blockHash, contractAddress, _sponsor); + }, + getOwner: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -311,7 +359,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isOwner: ( _: any, - { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }, + { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -341,6 +389,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getOwnedPointCount(blockHash, contractAddress, _whose); }, + getOwnedPoints: ( + _: any, + { blockHash, contractAddress, _whose }: { blockHash: string, contractAddress: string, _whose: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getOwnedPoints', blockHash, contractAddress, _whose); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getOwnedPoints').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getOwnedPoints(blockHash, contractAddress, _whose); + }, + getOwnedPointAtIndex: ( _: any, { blockHash, contractAddress, _whose, _index }: { blockHash: string, contractAddress: string, _whose: string, _index: bigint }, @@ -359,7 +423,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getManagementProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -375,7 +439,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isManagementProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -391,7 +455,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canManage: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -421,9 +485,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getManagerForCount(blockHash, contractAddress, _proxy); }, + getManagerFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getManagerFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getManagerFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getManagerFor(blockHash, contractAddress, _proxy); + }, + getSpawnProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -439,7 +519,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSpawnProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -455,7 +535,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canSpawnAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -485,9 +565,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawningForCount(blockHash, contractAddress, _proxy); }, + getSpawningFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawningFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawningFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawningFor(blockHash, contractAddress, _proxy); + }, + getVotingProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -503,7 +599,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isVotingProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -519,7 +615,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canVoteAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -549,9 +645,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getVotingForCount(blockHash, contractAddress, _proxy); }, + getVotingFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getVotingFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getVotingFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getVotingFor(blockHash, contractAddress, _proxy); + }, + getTransferProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -567,7 +679,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isTransferProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -583,7 +695,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canTransfer: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -613,6 +725,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getTransferringForCount(blockHash, contractAddress, _proxy); }, + getTransferringFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getTransferringFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getTransferringFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getTransferringFor(blockHash, contractAddress, _proxy); + }, + isOperator: ( _: any, { blockHash, contractAddress, _owner, _operator }: { blockHash: string, contractAddress: string, _owner: string, _operator: string }, @@ -629,6 +757,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.isOperator(blockHash, contractAddress, _owner, _operator); }, + getUpgradeProposals: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getUpgradeProposals', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getUpgradeProposals').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getUpgradeProposals(blockHash, contractAddress); + }, + getUpgradeProposalCount: ( _: any, { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, @@ -645,6 +789,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getUpgradeProposalCount(blockHash, contractAddress); }, + getDocumentProposals: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getDocumentProposals', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getDocumentProposals').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getDocumentProposals(blockHash, contractAddress); + }, + getDocumentProposalCount: ( _: any, { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, @@ -661,6 +821,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getDocumentProposalCount(blockHash, contractAddress); }, + getDocumentMajorities: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getDocumentMajorities', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getDocumentMajorities').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getDocumentMajorities(blockHash, contractAddress); + }, + hasVotedOnUpgradePoll: ( _: any, { blockHash, contractAddress, _galaxy, _proposal }: { blockHash: string, contractAddress: string, _galaxy: number, _proposal: string }, @@ -695,7 +871,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher findClaim: ( _: any, - { blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string }, + { blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -903,7 +1079,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnLimit: ( _: any, - { blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: number, _time: bigint }, + { blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: bigint, _time: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -919,7 +1095,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -935,7 +1111,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canSend: ( _: any, - { blockHash, contractAddress, _as, _point }: { blockHash: string, contractAddress: string, _as: number, _point: number }, + { blockHash, contractAddress, _as, _point }: { blockHash: string, contractAddress: string, _as: bigint, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -951,7 +1127,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getPool: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -981,6 +1157,54 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.canReceive(blockHash, contractAddress, _recipient); }, + getPoolStars: ( + _: any, + { blockHash, contractAddress, _who }: { blockHash: string, contractAddress: string, _who: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getPoolStars', blockHash, contractAddress, _who); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getPoolStars').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getPoolStars(blockHash, contractAddress, _who); + }, + + getInviters: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getInviters', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getInviters').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getInviters(blockHash, contractAddress); + }, + + getInvited: ( + _: any, + { blockHash, contractAddress, _who }: { blockHash: string, contractAddress: string, _who: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getInvited', blockHash, contractAddress, _who); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getInvited').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getInvited(blockHash, contractAddress, _who); + }, + events: async (_: any, { blockHash, contractAddress, name }: { blockHash: string, contractAddress: string, name?: string }) => { log('events', blockHash, contractAddress, name); gqlTotalQueryCount.inc(1); diff --git a/packages/delegated-sending-watcher/src/schema.gql b/packages/delegated-sending-watcher/src/schema.gql index b344088..16f44f1 100644 --- a/packages/delegated-sending-watcher/src/schema.gql +++ b/packages/delegated-sending-watcher/src/schema.gql @@ -15,26 +15,6 @@ type Proof { data: String! } -type ResultBoolean { - value: Boolean! - proof: Proof -} - -type ResultString { - value: String! - proof: Proof -} - -type ResultInt { - value: Int! - proof: Proof -} - -type ResultBigInt { - value: BigInt! - proof: Proof -} - type _Block_ { cid: String! hash: String! @@ -63,15 +43,15 @@ union Event = PoolEvent | SentEvent type PoolEvent { prefix: Int! - who: Int! + who: BigInt! size: Int! } type SentEvent { prefix: Int! - fromPool: Int! - by: Int! - point: Int! + fromPool: BigInt! + by: BigInt! + point: BigInt! to: String! } @@ -93,46 +73,57 @@ type ResultState { type Query { events(blockHash: String!, contractAddress: String!, name: String): [ResultEvent!] eventsInRange(fromBlockNumber: Int!, toBlockNumber: Int!): [ResultEvent!] - isActive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasBeenLinked(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - isLive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getContinuityNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - getSpawnCount(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isSponsor(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - isEscaping(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getEscapeRequest(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - getOwner(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isOwner(blockHash: String!, contractAddress: String!, _point: Int!, _address: String!): ResultBoolean! + isActive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + hasBeenLinked(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + isLive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getContinuityNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawnCount(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawned(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigIntArray! + hasSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getSponsoring(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + isEscaping(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getEscapeRequest(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getEscapeRequests(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + getOwner(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isOwner(blockHash: String!, contractAddress: String!, _point: BigInt!, _address: String!): ResultBoolean! getOwnedPointCount(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigInt! - getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultInt! - getManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canManage(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getOwnedPoints(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigIntArray! + getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultBigInt! + getManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canManage(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getManagerForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canSpawnAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getManagerFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canSpawnAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getSpawningForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canVoteAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getSpawningFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canVoteAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getVotingForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canTransfer(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getVotingFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canTransfer(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getTransferringForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! + getTransferringFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! isOperator(blockHash: String!, contractAddress: String!, _owner: String!, _operator: String!): ResultBoolean! + getUpgradeProposals(blockHash: String!, contractAddress: String!): ResultStringArray! getUpgradeProposalCount(blockHash: String!, contractAddress: String!): ResultBigInt! + getDocumentProposals(blockHash: String!, contractAddress: String!): ResultStringArray! getDocumentProposalCount(blockHash: String!, contractAddress: String!): ResultBigInt! + getDocumentMajorities(blockHash: String!, contractAddress: String!): ResultStringArray! hasVotedOnUpgradePoll(blockHash: String!, contractAddress: String!, _galaxy: Int!, _proposal: String!): ResultBoolean! hasVotedOnDocumentPoll(blockHash: String!, contractAddress: String!, _galaxy: Int!, _proposal: String!): ResultBoolean! - findClaim(blockHash: String!, contractAddress: String!, _whose: Int!, _protocol: String!, _claim: String!): ResultInt! + findClaim(blockHash: String!, contractAddress: String!, _whose: BigInt!, _protocol: String!, _claim: String!): ResultInt! supportsInterface(blockHash: String!, contractAddress: String!, _interfaceId: String!): ResultBoolean! balanceOf(blockHash: String!, contractAddress: String!, _owner: String!): ResultBigInt! ownerOf(blockHash: String!, contractAddress: String!, _tokenId: BigInt!): ResultString! @@ -145,16 +136,54 @@ type Query { name(blockHash: String!, contractAddress: String!): ResultString! symbol(blockHash: String!, contractAddress: String!): ResultString! tokenURI(blockHash: String!, contractAddress: String!, _tokenId: BigInt!): ResultString! - getSpawnLimit(blockHash: String!, contractAddress: String!, _point: Int!, _time: BigInt!): ResultInt! - canEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - canSend(blockHash: String!, contractAddress: String!, _as: Int!, _point: Int!): ResultBoolean! - getPool(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! + getSpawnLimit(blockHash: String!, contractAddress: String!, _point: BigInt!, _time: BigInt!): ResultBigInt! + canEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + canSend(blockHash: String!, contractAddress: String!, _as: BigInt!, _point: BigInt!): ResultBoolean! + getPool(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! canReceive(blockHash: String!, contractAddress: String!, _recipient: String!): ResultBoolean! + getPoolStars(blockHash: String!, contractAddress: String!, _who: BigInt!): ResultIntArray! + getInviters(blockHash: String!, contractAddress: String!): ResultBigIntArray! + getInvited(blockHash: String!, contractAddress: String!, _who: BigInt!): ResultBigIntArray! getSyncStatus: SyncStatus getStateByCID(cid: String!): ResultState getState(blockHash: String!, contractAddress: String!, kind: String): ResultState } +type ResultBoolean { + value: Boolean! + proof: Proof +} + +type ResultBigInt { + value: BigInt! + proof: Proof +} + +type ResultBigIntArray { + value: [BigInt!]! + proof: Proof +} + +type ResultString { + value: String! + proof: Proof +} + +type ResultStringArray { + value: [String!]! + proof: Proof +} + +type ResultInt { + value: Int! + proof: Proof +} + +type ResultIntArray { + value: [Int!]! + proof: Proof +} + type Mutation { watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean! } diff --git a/packages/ecliptic-watcher/package.json b/packages/ecliptic-watcher/package.json index 96c870d..13d62b7 100644 --- a/packages/ecliptic-watcher/package.json +++ b/packages/ecliptic-watcher/package.json @@ -5,7 +5,7 @@ "private": true, "main": "dist/index.js", "scripts": { - "lint": "eslint .", + "lint": "eslint --max-warnings=0 .", "build": "yarn clean && tsc && yarn copy-assets", "clean": "rm -rf ./dist", "copy-assets": "copyfiles -u 1 src/**/*.gql dist/", @@ -38,10 +38,10 @@ "dependencies": { "@apollo/client": "^3.3.19", "@ethersproject/providers": "^5.4.4", - "@cerc-io/cli": "^0.2.34", - "@cerc-io/ipld-eth-client": "^0.2.34", - "@cerc-io/solidity-mapper": "^0.2.34", - "@cerc-io/util": "^0.2.34", + "@cerc-io/cli": "^0.2.39", + "@cerc-io/ipld-eth-client": "^0.2.39", + "@cerc-io/solidity-mapper": "^0.2.39", + "@cerc-io/util": "^0.2.39", "apollo-type-bigint": "^0.1.3", "debug": "^4.3.1", "ethers": "^5.4.4", @@ -56,7 +56,7 @@ "@ethersproject/abi": "^5.3.0", "@types/yargs": "^17.0.0", "@types/debug": "^4.1.5", - "@types/json-bigint": "^1.0.1", + "@types/json-bigint": "^1.0.0", "@typescript-eslint/eslint-plugin": "^5.47.1", "@typescript-eslint/parser": "^5.47.1", "eslint": "^8.35.0", diff --git a/packages/ecliptic-watcher/src/client.ts b/packages/ecliptic-watcher/src/client.ts index e75f67f..8e80076 100644 --- a/packages/ecliptic-watcher/src/client.ts +++ b/packages/ecliptic-watcher/src/client.ts @@ -17,7 +17,7 @@ export class Client { this._client = new GraphQLClient(config); } - async getIsActive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isActive } = await this._client.query( gql(queries.isActive), { blockHash, contractAddress, _point } @@ -26,7 +26,7 @@ export class Client { return isActive; } - async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getKeyRevisionNumber } = await this._client.query( gql(queries.getKeyRevisionNumber), { blockHash, contractAddress, _point } @@ -35,7 +35,7 @@ export class Client { return getKeyRevisionNumber; } - async getHasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasBeenLinked } = await this._client.query( gql(queries.hasBeenLinked), { blockHash, contractAddress, _point } @@ -44,7 +44,7 @@ export class Client { return hasBeenLinked; } - async getIsLive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isLive } = await this._client.query( gql(queries.isLive), { blockHash, contractAddress, _point } @@ -53,7 +53,7 @@ export class Client { return isLive; } - async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getContinuityNumber } = await this._client.query( gql(queries.getContinuityNumber), { blockHash, contractAddress, _point } @@ -62,7 +62,7 @@ export class Client { return getContinuityNumber; } - async getGetSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnCount } = await this._client.query( gql(queries.getSpawnCount), { blockHash, contractAddress, _point } @@ -71,7 +71,7 @@ export class Client { return getSpawnCount; } - async getHasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasSponsor } = await this._client.query( gql(queries.hasSponsor), { blockHash, contractAddress, _point } @@ -80,7 +80,7 @@ export class Client { return hasSponsor; } - async getGetSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSponsor } = await this._client.query( gql(queries.getSponsor), { blockHash, contractAddress, _point } @@ -89,7 +89,7 @@ export class Client { return getSponsor; } - async getIsSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isSponsor } = await this._client.query( gql(queries.isSponsor), { blockHash, contractAddress, _point, _sponsor } @@ -98,7 +98,7 @@ export class Client { return isSponsor; } - async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getSponsoringCount } = await this._client.query( gql(queries.getSponsoringCount), { blockHash, contractAddress, _sponsor } @@ -107,7 +107,7 @@ export class Client { return getSponsoringCount; } - async getIsEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isEscaping } = await this._client.query( gql(queries.isEscaping), { blockHash, contractAddress, _point } @@ -116,7 +116,7 @@ export class Client { return isEscaping; } - async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getEscapeRequest } = await this._client.query( gql(queries.getEscapeRequest), { blockHash, contractAddress, _point } @@ -125,7 +125,7 @@ export class Client { return getEscapeRequest; } - async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isRequestingEscapeTo } = await this._client.query( gql(queries.isRequestingEscapeTo), { blockHash, contractAddress, _point, _sponsor } @@ -134,7 +134,7 @@ export class Client { return isRequestingEscapeTo; } - async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getEscapeRequestsCount } = await this._client.query( gql(queries.getEscapeRequestsCount), { blockHash, contractAddress, _sponsor } @@ -143,7 +143,7 @@ export class Client { return getEscapeRequestsCount; } - async getGetOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getOwner } = await this._client.query( gql(queries.getOwner), { blockHash, contractAddress, _point } @@ -152,7 +152,7 @@ export class Client { return getOwner; } - async getIsOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async getIsOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const { isOwner } = await this._client.query( gql(queries.isOwner), { blockHash, contractAddress, _point, _address } @@ -179,7 +179,7 @@ export class Client { return getOwnedPointAtIndex; } - async getGetManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getManagementProxy } = await this._client.query( gql(queries.getManagementProxy), { blockHash, contractAddress, _point } @@ -188,7 +188,7 @@ export class Client { return getManagementProxy; } - async getIsManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isManagementProxy } = await this._client.query( gql(queries.isManagementProxy), { blockHash, contractAddress, _point, _proxy } @@ -197,7 +197,7 @@ export class Client { return isManagementProxy; } - async getCanManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canManage } = await this._client.query( gql(queries.canManage), { blockHash, contractAddress, _point, _who } @@ -215,7 +215,7 @@ export class Client { return getManagerForCount; } - async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnProxy } = await this._client.query( gql(queries.getSpawnProxy), { blockHash, contractAddress, _point } @@ -224,7 +224,7 @@ export class Client { return getSpawnProxy; } - async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isSpawnProxy } = await this._client.query( gql(queries.isSpawnProxy), { blockHash, contractAddress, _point, _proxy } @@ -233,7 +233,7 @@ export class Client { return isSpawnProxy; } - async getCanSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canSpawnAs } = await this._client.query( gql(queries.canSpawnAs), { blockHash, contractAddress, _point, _who } @@ -251,7 +251,7 @@ export class Client { return getSpawningForCount; } - async getGetVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getVotingProxy } = await this._client.query( gql(queries.getVotingProxy), { blockHash, contractAddress, _point } @@ -260,7 +260,7 @@ export class Client { return getVotingProxy; } - async getIsVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isVotingProxy } = await this._client.query( gql(queries.isVotingProxy), { blockHash, contractAddress, _point, _proxy } @@ -269,7 +269,7 @@ export class Client { return isVotingProxy; } - async getCanVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canVoteAs } = await this._client.query( gql(queries.canVoteAs), { blockHash, contractAddress, _point, _who } @@ -287,7 +287,7 @@ export class Client { return getVotingForCount; } - async getGetTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getTransferProxy } = await this._client.query( gql(queries.getTransferProxy), { blockHash, contractAddress, _point } @@ -296,7 +296,7 @@ export class Client { return getTransferProxy; } - async getIsTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isTransferProxy } = await this._client.query( gql(queries.isTransferProxy), { blockHash, contractAddress, _point, _proxy } @@ -305,7 +305,7 @@ export class Client { return isTransferProxy; } - async getCanTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canTransfer } = await this._client.query( gql(queries.canTransfer), { blockHash, contractAddress, _point, _who } @@ -368,7 +368,7 @@ export class Client { return hasVotedOnDocumentPoll; } - async getFindClaim (blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string): Promise { + async getFindClaim (blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string): Promise { const { findClaim } = await this._client.query( gql(queries.findClaim), { blockHash, contractAddress, _whose, _protocol, _claim } @@ -485,7 +485,7 @@ export class Client { return tokenURI; } - async getGetSpawnLimit (blockHash: string, contractAddress: string, _point: number, _time: bigint): Promise { + async getGetSpawnLimit (blockHash: string, contractAddress: string, _point: bigint, _time: bigint): Promise { const { getSpawnLimit } = await this._client.query( gql(queries.getSpawnLimit), { blockHash, contractAddress, _point, _time } @@ -494,7 +494,7 @@ export class Client { return getSpawnLimit; } - async getCanEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getCanEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { canEscapeTo } = await this._client.query( gql(queries.canEscapeTo), { blockHash, contractAddress, _point, _sponsor } diff --git a/packages/ecliptic-watcher/src/database.ts b/packages/ecliptic-watcher/src/database.ts index cf6acaf..590107b 100644 --- a/packages/ecliptic-watcher/src/database.ts +++ b/packages/ecliptic-watcher/src/database.ts @@ -108,7 +108,7 @@ export class Database implements DatabaseInterface { return this._baseDatabase.close(); } - async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsActive) .findOne({ blockHash, @@ -117,7 +117,7 @@ export class Database implements DatabaseInterface { }); } - async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetKeyRevisionNumber) .findOne({ blockHash, @@ -126,7 +126,7 @@ export class Database implements DatabaseInterface { }); } - async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasBeenLinked) .findOne({ blockHash, @@ -135,7 +135,7 @@ export class Database implements DatabaseInterface { }); } - async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsLive) .findOne({ blockHash, @@ -144,7 +144,7 @@ export class Database implements DatabaseInterface { }); } - async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetContinuityNumber) .findOne({ blockHash, @@ -153,7 +153,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnCount) .findOne({ blockHash, @@ -162,7 +162,7 @@ export class Database implements DatabaseInterface { }); } - async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasSponsor) .findOne({ blockHash, @@ -171,7 +171,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSponsor) .findOne({ blockHash, @@ -180,7 +180,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsSponsor) .findOne({ blockHash, @@ -190,7 +190,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetSponsoringCount) .findOne({ blockHash, @@ -199,7 +199,7 @@ export class Database implements DatabaseInterface { }); } - async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsEscaping) .findOne({ blockHash, @@ -208,7 +208,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetEscapeRequest) .findOne({ blockHash, @@ -217,7 +217,7 @@ export class Database implements DatabaseInterface { }); } - async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsRequestingEscapeTo) .findOne({ blockHash, @@ -227,7 +227,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetEscapeRequestsCount) .findOne({ blockHash, @@ -236,7 +236,7 @@ export class Database implements DatabaseInterface { }); } - async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetOwner) .findOne({ blockHash, @@ -245,7 +245,7 @@ export class Database implements DatabaseInterface { }); } - async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }): Promise { + async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }): Promise { return this._conn.getRepository(IsOwner) .findOne({ blockHash, @@ -274,7 +274,7 @@ export class Database implements DatabaseInterface { }); } - async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetManagementProxy) .findOne({ blockHash, @@ -283,7 +283,7 @@ export class Database implements DatabaseInterface { }); } - async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsManagementProxy) .findOne({ blockHash, @@ -293,7 +293,7 @@ export class Database implements DatabaseInterface { }); } - async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanManage) .findOne({ blockHash, @@ -312,7 +312,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnProxy) .findOne({ blockHash, @@ -321,7 +321,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsSpawnProxy) .findOne({ blockHash, @@ -331,7 +331,7 @@ export class Database implements DatabaseInterface { }); } - async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanSpawnAs) .findOne({ blockHash, @@ -350,7 +350,7 @@ export class Database implements DatabaseInterface { }); } - async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetVotingProxy) .findOne({ blockHash, @@ -359,7 +359,7 @@ export class Database implements DatabaseInterface { }); } - async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsVotingProxy) .findOne({ blockHash, @@ -369,7 +369,7 @@ export class Database implements DatabaseInterface { }); } - async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanVoteAs) .findOne({ blockHash, @@ -388,7 +388,7 @@ export class Database implements DatabaseInterface { }); } - async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetTransferProxy) .findOne({ blockHash, @@ -397,7 +397,7 @@ export class Database implements DatabaseInterface { }); } - async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsTransferProxy) .findOne({ blockHash, @@ -407,7 +407,7 @@ export class Database implements DatabaseInterface { }); } - async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanTransfer) .findOne({ blockHash, @@ -472,7 +472,7 @@ export class Database implements DatabaseInterface { }); } - async getFindClaim ({ blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string }): Promise { + async getFindClaim ({ blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string }): Promise { return this._conn.getRepository(FindClaim) .findOne({ blockHash, @@ -591,7 +591,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnLimit ({ blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: number, _time: bigint }): Promise { + async getGetSpawnLimit ({ blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: bigint, _time: bigint }): Promise { return this._conn.getRepository(GetSpawnLimit) .findOne({ blockHash, @@ -601,7 +601,7 @@ export class Database implements DatabaseInterface { }); } - async getCanEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getCanEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(CanEscapeTo) .findOne({ blockHash, diff --git a/packages/ecliptic-watcher/src/entity/CanEscapeTo.ts b/packages/ecliptic-watcher/src/entity/CanEscapeTo.ts index 26a6f69..7b7f093 100644 --- a/packages/ecliptic-watcher/src/entity/CanEscapeTo.ts +++ b/packages/ecliptic-watcher/src/entity/CanEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class CanEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/ecliptic-watcher/src/entity/CanManage.ts b/packages/ecliptic-watcher/src/entity/CanManage.ts index 2ad7b1b..442f5bc 100644 --- a/packages/ecliptic-watcher/src/entity/CanManage.ts +++ b/packages/ecliptic-watcher/src/entity/CanManage.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanManage { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/ecliptic-watcher/src/entity/CanSpawnAs.ts b/packages/ecliptic-watcher/src/entity/CanSpawnAs.ts index 9163537..09c21c4 100644 --- a/packages/ecliptic-watcher/src/entity/CanSpawnAs.ts +++ b/packages/ecliptic-watcher/src/entity/CanSpawnAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanSpawnAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/ecliptic-watcher/src/entity/CanTransfer.ts b/packages/ecliptic-watcher/src/entity/CanTransfer.ts index 82fb96e..17ecc02 100644 --- a/packages/ecliptic-watcher/src/entity/CanTransfer.ts +++ b/packages/ecliptic-watcher/src/entity/CanTransfer.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanTransfer { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/ecliptic-watcher/src/entity/CanVoteAs.ts b/packages/ecliptic-watcher/src/entity/CanVoteAs.ts index 956d249..b9519df 100644 --- a/packages/ecliptic-watcher/src/entity/CanVoteAs.ts +++ b/packages/ecliptic-watcher/src/entity/CanVoteAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanVoteAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/ecliptic-watcher/src/entity/FindClaim.ts b/packages/ecliptic-watcher/src/entity/FindClaim.ts index a4c4294..eb35291 100644 --- a/packages/ecliptic-watcher/src/entity/FindClaim.ts +++ b/packages/ecliptic-watcher/src/entity/FindClaim.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_whose', '_protocol', '_claim'], { unique: true }) @@ -19,8 +20,8 @@ export class FindClaim { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _whose!: number; + @Column('numeric', { transformer: bigintTransformer }) + _whose!: bigint; @Column('varchar') _protocol!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetContinuityNumber.ts b/packages/ecliptic-watcher/src/entity/GetContinuityNumber.ts index 27c158a..d4d3fb9 100644 --- a/packages/ecliptic-watcher/src/entity/GetContinuityNumber.ts +++ b/packages/ecliptic-watcher/src/entity/GetContinuityNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetContinuityNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetEscapeRequest.ts b/packages/ecliptic-watcher/src/entity/GetEscapeRequest.ts index 09eb1d9..d2ed83d 100644 --- a/packages/ecliptic-watcher/src/entity/GetEscapeRequest.ts +++ b/packages/ecliptic-watcher/src/entity/GetEscapeRequest.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetEscapeRequest { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetEscapeRequestsCount.ts b/packages/ecliptic-watcher/src/entity/GetEscapeRequestsCount.ts index 9e020db..2339c14 100644 --- a/packages/ecliptic-watcher/src/entity/GetEscapeRequestsCount.ts +++ b/packages/ecliptic-watcher/src/entity/GetEscapeRequestsCount.ts @@ -20,8 +20,8 @@ export class GetEscapeRequestsCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/ecliptic-watcher/src/entity/GetKeyRevisionNumber.ts b/packages/ecliptic-watcher/src/entity/GetKeyRevisionNumber.ts index ca5f269..9ea106d 100644 --- a/packages/ecliptic-watcher/src/entity/GetKeyRevisionNumber.ts +++ b/packages/ecliptic-watcher/src/entity/GetKeyRevisionNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetKeyRevisionNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetManagementProxy.ts b/packages/ecliptic-watcher/src/entity/GetManagementProxy.ts index 310a4fb..73db456 100644 --- a/packages/ecliptic-watcher/src/entity/GetManagementProxy.ts +++ b/packages/ecliptic-watcher/src/entity/GetManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetOwnedPointAtIndex.ts b/packages/ecliptic-watcher/src/entity/GetOwnedPointAtIndex.ts index cabc086..6aff916 100644 --- a/packages/ecliptic-watcher/src/entity/GetOwnedPointAtIndex.ts +++ b/packages/ecliptic-watcher/src/entity/GetOwnedPointAtIndex.ts @@ -26,8 +26,8 @@ export class GetOwnedPointAtIndex { @Column('numeric', { transformer: bigintTransformer }) _index!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetOwner.ts b/packages/ecliptic-watcher/src/entity/GetOwner.ts index 00ff4df..04f3e9f 100644 --- a/packages/ecliptic-watcher/src/entity/GetOwner.ts +++ b/packages/ecliptic-watcher/src/entity/GetOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetSpawnCount.ts b/packages/ecliptic-watcher/src/entity/GetSpawnCount.ts index 6cc44cc..314cfe6 100644 --- a/packages/ecliptic-watcher/src/entity/GetSpawnCount.ts +++ b/packages/ecliptic-watcher/src/entity/GetSpawnCount.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSpawnCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetSpawnLimit.ts b/packages/ecliptic-watcher/src/entity/GetSpawnLimit.ts index 59ba37d..ab1e0dc 100644 --- a/packages/ecliptic-watcher/src/entity/GetSpawnLimit.ts +++ b/packages/ecliptic-watcher/src/entity/GetSpawnLimit.ts @@ -20,14 +20,14 @@ export class GetSpawnLimit { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('numeric', { transformer: bigintTransformer }) _time!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetSpawnProxy.ts b/packages/ecliptic-watcher/src/entity/GetSpawnProxy.ts index d1e2cbd..7ee732c 100644 --- a/packages/ecliptic-watcher/src/entity/GetSpawnProxy.ts +++ b/packages/ecliptic-watcher/src/entity/GetSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetSponsor.ts b/packages/ecliptic-watcher/src/entity/GetSponsor.ts index 3d964f9..a901174 100644 --- a/packages/ecliptic-watcher/src/entity/GetSponsor.ts +++ b/packages/ecliptic-watcher/src/entity/GetSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetSponsoringCount.ts b/packages/ecliptic-watcher/src/entity/GetSponsoringCount.ts index 95dcbd9..c3e8c8c 100644 --- a/packages/ecliptic-watcher/src/entity/GetSponsoringCount.ts +++ b/packages/ecliptic-watcher/src/entity/GetSponsoringCount.ts @@ -20,8 +20,8 @@ export class GetSponsoringCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/ecliptic-watcher/src/entity/GetTransferProxy.ts b/packages/ecliptic-watcher/src/entity/GetTransferProxy.ts index f2dd7b2..1173349 100644 --- a/packages/ecliptic-watcher/src/entity/GetTransferProxy.ts +++ b/packages/ecliptic-watcher/src/entity/GetTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/ecliptic-watcher/src/entity/GetVotingProxy.ts b/packages/ecliptic-watcher/src/entity/GetVotingProxy.ts index c4a73e5..602d459 100644 --- a/packages/ecliptic-watcher/src/entity/GetVotingProxy.ts +++ b/packages/ecliptic-watcher/src/entity/GetVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/ecliptic-watcher/src/entity/HasBeenLinked.ts b/packages/ecliptic-watcher/src/entity/HasBeenLinked.ts index 4f897dc..38916ab 100644 --- a/packages/ecliptic-watcher/src/entity/HasBeenLinked.ts +++ b/packages/ecliptic-watcher/src/entity/HasBeenLinked.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasBeenLinked { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/ecliptic-watcher/src/entity/HasSponsor.ts b/packages/ecliptic-watcher/src/entity/HasSponsor.ts index ccc8875..eb479ea 100644 --- a/packages/ecliptic-watcher/src/entity/HasSponsor.ts +++ b/packages/ecliptic-watcher/src/entity/HasSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/ecliptic-watcher/src/entity/IsActive.ts b/packages/ecliptic-watcher/src/entity/IsActive.ts index 055e224..a725d12 100644 --- a/packages/ecliptic-watcher/src/entity/IsActive.ts +++ b/packages/ecliptic-watcher/src/entity/IsActive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsActive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/ecliptic-watcher/src/entity/IsEscaping.ts b/packages/ecliptic-watcher/src/entity/IsEscaping.ts index fb4c3bd..a3c704f 100644 --- a/packages/ecliptic-watcher/src/entity/IsEscaping.ts +++ b/packages/ecliptic-watcher/src/entity/IsEscaping.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsEscaping { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/ecliptic-watcher/src/entity/IsLive.ts b/packages/ecliptic-watcher/src/entity/IsLive.ts index 87ca00f..e3270e0 100644 --- a/packages/ecliptic-watcher/src/entity/IsLive.ts +++ b/packages/ecliptic-watcher/src/entity/IsLive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsLive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/ecliptic-watcher/src/entity/IsManagementProxy.ts b/packages/ecliptic-watcher/src/entity/IsManagementProxy.ts index 14ac477..e72a487 100644 --- a/packages/ecliptic-watcher/src/entity/IsManagementProxy.ts +++ b/packages/ecliptic-watcher/src/entity/IsManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/ecliptic-watcher/src/entity/IsOwner.ts b/packages/ecliptic-watcher/src/entity/IsOwner.ts index 81a6046..51aeaed 100644 --- a/packages/ecliptic-watcher/src/entity/IsOwner.ts +++ b/packages/ecliptic-watcher/src/entity/IsOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_address'], { unique: true }) @@ -19,8 +20,8 @@ export class IsOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _address!: string; diff --git a/packages/ecliptic-watcher/src/entity/IsRequestingEscapeTo.ts b/packages/ecliptic-watcher/src/entity/IsRequestingEscapeTo.ts index 58409ab..5c6385d 100644 --- a/packages/ecliptic-watcher/src/entity/IsRequestingEscapeTo.ts +++ b/packages/ecliptic-watcher/src/entity/IsRequestingEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsRequestingEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/ecliptic-watcher/src/entity/IsSpawnProxy.ts b/packages/ecliptic-watcher/src/entity/IsSpawnProxy.ts index 023ca72..d6ba37b 100644 --- a/packages/ecliptic-watcher/src/entity/IsSpawnProxy.ts +++ b/packages/ecliptic-watcher/src/entity/IsSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/ecliptic-watcher/src/entity/IsSponsor.ts b/packages/ecliptic-watcher/src/entity/IsSponsor.ts index a21b71c..9a615c4 100644 --- a/packages/ecliptic-watcher/src/entity/IsSponsor.ts +++ b/packages/ecliptic-watcher/src/entity/IsSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/ecliptic-watcher/src/entity/IsTransferProxy.ts b/packages/ecliptic-watcher/src/entity/IsTransferProxy.ts index b1613a4..904d2df 100644 --- a/packages/ecliptic-watcher/src/entity/IsTransferProxy.ts +++ b/packages/ecliptic-watcher/src/entity/IsTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/ecliptic-watcher/src/entity/IsVotingProxy.ts b/packages/ecliptic-watcher/src/entity/IsVotingProxy.ts index 172dd15..5cd6128 100644 --- a/packages/ecliptic-watcher/src/entity/IsVotingProxy.ts +++ b/packages/ecliptic-watcher/src/entity/IsVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/ecliptic-watcher/src/gql/queries/canEscapeTo.gql b/packages/ecliptic-watcher/src/gql/queries/canEscapeTo.gql index b065033..54e9c5a 100644 --- a/packages/ecliptic-watcher/src/gql/queries/canEscapeTo.gql +++ b/packages/ecliptic-watcher/src/gql/queries/canEscapeTo.gql @@ -1,4 +1,4 @@ -query canEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query canEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ canEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/canManage.gql b/packages/ecliptic-watcher/src/gql/queries/canManage.gql index e52d71b..dad1626 100644 --- a/packages/ecliptic-watcher/src/gql/queries/canManage.gql +++ b/packages/ecliptic-watcher/src/gql/queries/canManage.gql @@ -1,4 +1,4 @@ -query canManage($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canManage($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canManage(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/canSpawnAs.gql b/packages/ecliptic-watcher/src/gql/queries/canSpawnAs.gql index af9c463..040dd32 100644 --- a/packages/ecliptic-watcher/src/gql/queries/canSpawnAs.gql +++ b/packages/ecliptic-watcher/src/gql/queries/canSpawnAs.gql @@ -1,4 +1,4 @@ -query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canSpawnAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/canTransfer.gql b/packages/ecliptic-watcher/src/gql/queries/canTransfer.gql index 14b39fa..994578f 100644 --- a/packages/ecliptic-watcher/src/gql/queries/canTransfer.gql +++ b/packages/ecliptic-watcher/src/gql/queries/canTransfer.gql @@ -1,4 +1,4 @@ -query canTransfer($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canTransfer($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canTransfer(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/canVoteAs.gql b/packages/ecliptic-watcher/src/gql/queries/canVoteAs.gql index d2a79a9..87871a2 100644 --- a/packages/ecliptic-watcher/src/gql/queries/canVoteAs.gql +++ b/packages/ecliptic-watcher/src/gql/queries/canVoteAs.gql @@ -1,4 +1,4 @@ -query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canVoteAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/findClaim.gql b/packages/ecliptic-watcher/src/gql/queries/findClaim.gql index fe8ab15..2d6efb4 100644 --- a/packages/ecliptic-watcher/src/gql/queries/findClaim.gql +++ b/packages/ecliptic-watcher/src/gql/queries/findClaim.gql @@ -1,4 +1,4 @@ -query findClaim($blockHash: String!, $contractAddress: String!, $_whose: Int!, $_protocol: String!, $_claim: String!){ +query findClaim($blockHash: String!, $contractAddress: String!, $_whose: BigInt!, $_protocol: String!, $_claim: String!){ findClaim(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose, _protocol: $_protocol, _claim: $_claim){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getContinuityNumber.gql b/packages/ecliptic-watcher/src/gql/queries/getContinuityNumber.gql index 1ad5af4..244398d 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getContinuityNumber.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getContinuityNumber.gql @@ -1,4 +1,4 @@ -query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getContinuityNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getDocumentMajorities.gql b/packages/ecliptic-watcher/src/gql/queries/getDocumentMajorities.gql new file mode 100644 index 0000000..89fd856 --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getDocumentMajorities.gql @@ -0,0 +1,8 @@ +query getDocumentMajorities($blockHash: String!, $contractAddress: String!){ + getDocumentMajorities(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getDocumentProposals.gql b/packages/ecliptic-watcher/src/gql/queries/getDocumentProposals.gql new file mode 100644 index 0000000..75b30c2 --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getDocumentProposals.gql @@ -0,0 +1,8 @@ +query getDocumentProposals($blockHash: String!, $contractAddress: String!){ + getDocumentProposals(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getEscapeRequest.gql b/packages/ecliptic-watcher/src/gql/queries/getEscapeRequest.gql index acf7e7b..7215f8b 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getEscapeRequest.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getEscapeRequest.gql @@ -1,4 +1,4 @@ -query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getEscapeRequest(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getEscapeRequests.gql b/packages/ecliptic-watcher/src/gql/queries/getEscapeRequests.gql new file mode 100644 index 0000000..13b81ac --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getEscapeRequests.gql @@ -0,0 +1,8 @@ +query getEscapeRequests($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getEscapeRequests(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getEscapeRequestsCount.gql b/packages/ecliptic-watcher/src/gql/queries/getEscapeRequestsCount.gql index 5b6e489..ca7f8ef 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getEscapeRequestsCount.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getEscapeRequestsCount.gql @@ -1,4 +1,4 @@ -query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getEscapeRequestsCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getKeyRevisionNumber.gql b/packages/ecliptic-watcher/src/gql/queries/getKeyRevisionNumber.gql index ebcea96..fdccc8b 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getKeyRevisionNumber.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getKeyRevisionNumber.gql @@ -1,4 +1,4 @@ -query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getKeyRevisionNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getManagementProxy.gql b/packages/ecliptic-watcher/src/gql/queries/getManagementProxy.gql index fd499b7..a9be364 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getManagementProxy.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getManagementProxy.gql @@ -1,4 +1,4 @@ -query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getManagerFor.gql b/packages/ecliptic-watcher/src/gql/queries/getManagerFor.gql new file mode 100644 index 0000000..12e6ca0 --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getManagerFor.gql @@ -0,0 +1,8 @@ +query getManagerFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getManagerFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getOwnedPoints.gql b/packages/ecliptic-watcher/src/gql/queries/getOwnedPoints.gql new file mode 100644 index 0000000..869ed24 --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getOwnedPoints.gql @@ -0,0 +1,8 @@ +query getOwnedPoints($blockHash: String!, $contractAddress: String!, $_whose: String!){ + getOwnedPoints(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getOwner.gql b/packages/ecliptic-watcher/src/gql/queries/getOwner.gql index f20db27..cc665d0 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getOwner.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getOwner.gql @@ -1,4 +1,4 @@ -query getOwner($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getSpawnCount.gql b/packages/ecliptic-watcher/src/gql/queries/getSpawnCount.gql index 2edcff0..f990551 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getSpawnCount.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getSpawnCount.gql @@ -1,4 +1,4 @@ -query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnCount(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getSpawnLimit.gql b/packages/ecliptic-watcher/src/gql/queries/getSpawnLimit.gql index 14873c3..fe0174c 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getSpawnLimit.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getSpawnLimit.gql @@ -1,4 +1,4 @@ -query getSpawnLimit($blockHash: String!, $contractAddress: String!, $_point: Int!, $_time: BigInt!){ +query getSpawnLimit($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_time: BigInt!){ getSpawnLimit(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _time: $_time){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getSpawnProxy.gql b/packages/ecliptic-watcher/src/gql/queries/getSpawnProxy.gql index fe536b2..f542279 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getSpawnProxy.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getSpawnProxy.gql @@ -1,4 +1,4 @@ -query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getSpawned.gql b/packages/ecliptic-watcher/src/gql/queries/getSpawned.gql new file mode 100644 index 0000000..ab9ea11 --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getSpawned.gql @@ -0,0 +1,8 @@ +query getSpawned($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ + getSpawned(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getSpawningFor.gql b/packages/ecliptic-watcher/src/gql/queries/getSpawningFor.gql new file mode 100644 index 0000000..5059aa6 --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getSpawningFor.gql @@ -0,0 +1,8 @@ +query getSpawningFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getSpawningFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getSponsor.gql b/packages/ecliptic-watcher/src/gql/queries/getSponsor.gql index 9843916..56a5305 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getSponsor.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getSponsor.gql @@ -1,4 +1,4 @@ -query getSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getSponsoring.gql b/packages/ecliptic-watcher/src/gql/queries/getSponsoring.gql new file mode 100644 index 0000000..cb6a4b4 --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getSponsoring.gql @@ -0,0 +1,8 @@ +query getSponsoring($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getSponsoring(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getSponsoringCount.gql b/packages/ecliptic-watcher/src/gql/queries/getSponsoringCount.gql index 3d070dd..ee62745 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getSponsoringCount.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getSponsoringCount.gql @@ -1,4 +1,4 @@ -query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getSponsoringCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getTransferProxy.gql b/packages/ecliptic-watcher/src/gql/queries/getTransferProxy.gql index 852fd2f..c14c0ab 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getTransferProxy.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getTransferProxy.gql @@ -1,4 +1,4 @@ -query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/getTransferringFor.gql b/packages/ecliptic-watcher/src/gql/queries/getTransferringFor.gql new file mode 100644 index 0000000..0911c39 --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getTransferringFor.gql @@ -0,0 +1,8 @@ +query getTransferringFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getTransferringFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getUpgradeProposals.gql b/packages/ecliptic-watcher/src/gql/queries/getUpgradeProposals.gql new file mode 100644 index 0000000..4cb89ce --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getUpgradeProposals.gql @@ -0,0 +1,8 @@ +query getUpgradeProposals($blockHash: String!, $contractAddress: String!){ + getUpgradeProposals(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getVotingFor.gql b/packages/ecliptic-watcher/src/gql/queries/getVotingFor.gql new file mode 100644 index 0000000..30186d8 --- /dev/null +++ b/packages/ecliptic-watcher/src/gql/queries/getVotingFor.gql @@ -0,0 +1,8 @@ +query getVotingFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getVotingFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/ecliptic-watcher/src/gql/queries/getVotingProxy.gql b/packages/ecliptic-watcher/src/gql/queries/getVotingProxy.gql index 1f2f38a..49d37ab 100644 --- a/packages/ecliptic-watcher/src/gql/queries/getVotingProxy.gql +++ b/packages/ecliptic-watcher/src/gql/queries/getVotingProxy.gql @@ -1,4 +1,4 @@ -query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/hasBeenLinked.gql b/packages/ecliptic-watcher/src/gql/queries/hasBeenLinked.gql index e9da67e..a50505c 100644 --- a/packages/ecliptic-watcher/src/gql/queries/hasBeenLinked.gql +++ b/packages/ecliptic-watcher/src/gql/queries/hasBeenLinked.gql @@ -1,4 +1,4 @@ -query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasBeenLinked(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/hasSponsor.gql b/packages/ecliptic-watcher/src/gql/queries/hasSponsor.gql index 3e804ed..0261c6e 100644 --- a/packages/ecliptic-watcher/src/gql/queries/hasSponsor.gql +++ b/packages/ecliptic-watcher/src/gql/queries/hasSponsor.gql @@ -1,4 +1,4 @@ -query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/index.ts b/packages/ecliptic-watcher/src/gql/queries/index.ts index 8981516..9db42ab 100644 --- a/packages/ecliptic-watcher/src/gql/queries/index.ts +++ b/packages/ecliptic-watcher/src/gql/queries/index.ts @@ -9,37 +9,48 @@ export const hasBeenLinked = fs.readFileSync(path.join(__dirname, 'hasBeenLinked export const isLive = fs.readFileSync(path.join(__dirname, 'isLive.gql'), 'utf8'); export const getContinuityNumber = fs.readFileSync(path.join(__dirname, 'getContinuityNumber.gql'), 'utf8'); export const getSpawnCount = fs.readFileSync(path.join(__dirname, 'getSpawnCount.gql'), 'utf8'); +export const getSpawned = fs.readFileSync(path.join(__dirname, 'getSpawned.gql'), 'utf8'); export const hasSponsor = fs.readFileSync(path.join(__dirname, 'hasSponsor.gql'), 'utf8'); export const getSponsor = fs.readFileSync(path.join(__dirname, 'getSponsor.gql'), 'utf8'); export const isSponsor = fs.readFileSync(path.join(__dirname, 'isSponsor.gql'), 'utf8'); export const getSponsoringCount = fs.readFileSync(path.join(__dirname, 'getSponsoringCount.gql'), 'utf8'); +export const getSponsoring = fs.readFileSync(path.join(__dirname, 'getSponsoring.gql'), 'utf8'); export const isEscaping = fs.readFileSync(path.join(__dirname, 'isEscaping.gql'), 'utf8'); export const getEscapeRequest = fs.readFileSync(path.join(__dirname, 'getEscapeRequest.gql'), 'utf8'); export const isRequestingEscapeTo = fs.readFileSync(path.join(__dirname, 'isRequestingEscapeTo.gql'), 'utf8'); export const getEscapeRequestsCount = fs.readFileSync(path.join(__dirname, 'getEscapeRequestsCount.gql'), 'utf8'); +export const getEscapeRequests = fs.readFileSync(path.join(__dirname, 'getEscapeRequests.gql'), 'utf8'); export const getOwner = fs.readFileSync(path.join(__dirname, 'getOwner.gql'), 'utf8'); export const isOwner = fs.readFileSync(path.join(__dirname, 'isOwner.gql'), 'utf8'); export const getOwnedPointCount = fs.readFileSync(path.join(__dirname, 'getOwnedPointCount.gql'), 'utf8'); +export const getOwnedPoints = fs.readFileSync(path.join(__dirname, 'getOwnedPoints.gql'), 'utf8'); export const getOwnedPointAtIndex = fs.readFileSync(path.join(__dirname, 'getOwnedPointAtIndex.gql'), 'utf8'); export const getManagementProxy = fs.readFileSync(path.join(__dirname, 'getManagementProxy.gql'), 'utf8'); export const isManagementProxy = fs.readFileSync(path.join(__dirname, 'isManagementProxy.gql'), 'utf8'); export const canManage = fs.readFileSync(path.join(__dirname, 'canManage.gql'), 'utf8'); export const getManagerForCount = fs.readFileSync(path.join(__dirname, 'getManagerForCount.gql'), 'utf8'); +export const getManagerFor = fs.readFileSync(path.join(__dirname, 'getManagerFor.gql'), 'utf8'); export const getSpawnProxy = fs.readFileSync(path.join(__dirname, 'getSpawnProxy.gql'), 'utf8'); export const isSpawnProxy = fs.readFileSync(path.join(__dirname, 'isSpawnProxy.gql'), 'utf8'); export const canSpawnAs = fs.readFileSync(path.join(__dirname, 'canSpawnAs.gql'), 'utf8'); export const getSpawningForCount = fs.readFileSync(path.join(__dirname, 'getSpawningForCount.gql'), 'utf8'); +export const getSpawningFor = fs.readFileSync(path.join(__dirname, 'getSpawningFor.gql'), 'utf8'); export const getVotingProxy = fs.readFileSync(path.join(__dirname, 'getVotingProxy.gql'), 'utf8'); export const isVotingProxy = fs.readFileSync(path.join(__dirname, 'isVotingProxy.gql'), 'utf8'); export const canVoteAs = fs.readFileSync(path.join(__dirname, 'canVoteAs.gql'), 'utf8'); export const getVotingForCount = fs.readFileSync(path.join(__dirname, 'getVotingForCount.gql'), 'utf8'); +export const getVotingFor = fs.readFileSync(path.join(__dirname, 'getVotingFor.gql'), 'utf8'); export const getTransferProxy = fs.readFileSync(path.join(__dirname, 'getTransferProxy.gql'), 'utf8'); export const isTransferProxy = fs.readFileSync(path.join(__dirname, 'isTransferProxy.gql'), 'utf8'); export const canTransfer = fs.readFileSync(path.join(__dirname, 'canTransfer.gql'), 'utf8'); export const getTransferringForCount = fs.readFileSync(path.join(__dirname, 'getTransferringForCount.gql'), 'utf8'); +export const getTransferringFor = fs.readFileSync(path.join(__dirname, 'getTransferringFor.gql'), 'utf8'); export const isOperator = fs.readFileSync(path.join(__dirname, 'isOperator.gql'), 'utf8'); +export const getUpgradeProposals = fs.readFileSync(path.join(__dirname, 'getUpgradeProposals.gql'), 'utf8'); export const getUpgradeProposalCount = fs.readFileSync(path.join(__dirname, 'getUpgradeProposalCount.gql'), 'utf8'); +export const getDocumentProposals = fs.readFileSync(path.join(__dirname, 'getDocumentProposals.gql'), 'utf8'); export const getDocumentProposalCount = fs.readFileSync(path.join(__dirname, 'getDocumentProposalCount.gql'), 'utf8'); +export const getDocumentMajorities = fs.readFileSync(path.join(__dirname, 'getDocumentMajorities.gql'), 'utf8'); export const hasVotedOnUpgradePoll = fs.readFileSync(path.join(__dirname, 'hasVotedOnUpgradePoll.gql'), 'utf8'); export const hasVotedOnDocumentPoll = fs.readFileSync(path.join(__dirname, 'hasVotedOnDocumentPoll.gql'), 'utf8'); export const findClaim = fs.readFileSync(path.join(__dirname, 'findClaim.gql'), 'utf8'); diff --git a/packages/ecliptic-watcher/src/gql/queries/isActive.gql b/packages/ecliptic-watcher/src/gql/queries/isActive.gql index fe365a4..74bc87f 100644 --- a/packages/ecliptic-watcher/src/gql/queries/isActive.gql +++ b/packages/ecliptic-watcher/src/gql/queries/isActive.gql @@ -1,4 +1,4 @@ -query isActive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isActive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isActive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/isEscaping.gql b/packages/ecliptic-watcher/src/gql/queries/isEscaping.gql index 89113e6..4ed499f 100644 --- a/packages/ecliptic-watcher/src/gql/queries/isEscaping.gql +++ b/packages/ecliptic-watcher/src/gql/queries/isEscaping.gql @@ -1,4 +1,4 @@ -query isEscaping($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isEscaping($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isEscaping(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/isLive.gql b/packages/ecliptic-watcher/src/gql/queries/isLive.gql index ceaa49e..78a61fd 100644 --- a/packages/ecliptic-watcher/src/gql/queries/isLive.gql +++ b/packages/ecliptic-watcher/src/gql/queries/isLive.gql @@ -1,4 +1,4 @@ -query isLive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isLive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isLive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/isManagementProxy.gql b/packages/ecliptic-watcher/src/gql/queries/isManagementProxy.gql index c3484d6..64b7656 100644 --- a/packages/ecliptic-watcher/src/gql/queries/isManagementProxy.gql +++ b/packages/ecliptic-watcher/src/gql/queries/isManagementProxy.gql @@ -1,4 +1,4 @@ -query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/isOwner.gql b/packages/ecliptic-watcher/src/gql/queries/isOwner.gql index 84dfc3b..9378225 100644 --- a/packages/ecliptic-watcher/src/gql/queries/isOwner.gql +++ b/packages/ecliptic-watcher/src/gql/queries/isOwner.gql @@ -1,4 +1,4 @@ -query isOwner($blockHash: String!, $contractAddress: String!, $_point: Int!, $_address: String!){ +query isOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_address: String!){ isOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _address: $_address){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/isRequestingEscapeTo.gql b/packages/ecliptic-watcher/src/gql/queries/isRequestingEscapeTo.gql index bb2d6dd..f1c9afb 100644 --- a/packages/ecliptic-watcher/src/gql/queries/isRequestingEscapeTo.gql +++ b/packages/ecliptic-watcher/src/gql/queries/isRequestingEscapeTo.gql @@ -1,4 +1,4 @@ -query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isRequestingEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/isSpawnProxy.gql b/packages/ecliptic-watcher/src/gql/queries/isSpawnProxy.gql index 161923d..2223af6 100644 --- a/packages/ecliptic-watcher/src/gql/queries/isSpawnProxy.gql +++ b/packages/ecliptic-watcher/src/gql/queries/isSpawnProxy.gql @@ -1,4 +1,4 @@ -query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/isSponsor.gql b/packages/ecliptic-watcher/src/gql/queries/isSponsor.gql index 4daff70..3e1b3cc 100644 --- a/packages/ecliptic-watcher/src/gql/queries/isSponsor.gql +++ b/packages/ecliptic-watcher/src/gql/queries/isSponsor.gql @@ -1,4 +1,4 @@ -query isSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/isTransferProxy.gql b/packages/ecliptic-watcher/src/gql/queries/isTransferProxy.gql index 1057968..feccdf0 100644 --- a/packages/ecliptic-watcher/src/gql/queries/isTransferProxy.gql +++ b/packages/ecliptic-watcher/src/gql/queries/isTransferProxy.gql @@ -1,4 +1,4 @@ -query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/ecliptic-watcher/src/gql/queries/isVotingProxy.gql b/packages/ecliptic-watcher/src/gql/queries/isVotingProxy.gql index 28bdb0f..3bf33c8 100644 --- a/packages/ecliptic-watcher/src/gql/queries/isVotingProxy.gql +++ b/packages/ecliptic-watcher/src/gql/queries/isVotingProxy.gql @@ -1,4 +1,4 @@ -query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/ecliptic-watcher/src/indexer.ts b/packages/ecliptic-watcher/src/indexer.ts index 6f622c1..1aa61aa 100644 --- a/packages/ecliptic-watcher/src/indexer.ts +++ b/packages/ecliptic-watcher/src/indexer.ts @@ -94,7 +94,7 @@ export class Indexer implements IndexerInterface { return getResultEvent(event); } - async isActive (blockHash: string, contractAddress: string, _point: number): Promise { + async isActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsActive({ blockHash, contractAddress, _point }); if (entity) { log('isActive: db hit.'); @@ -123,7 +123,7 @@ export class Indexer implements IndexerInterface { return result; } - async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetKeyRevisionNumber({ blockHash, contractAddress, _point }); if (entity) { log('getKeyRevisionNumber: db hit.'); @@ -143,7 +143,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + let value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -152,7 +154,7 @@ export class Indexer implements IndexerInterface { return result; } - async hasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async hasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasBeenLinked({ blockHash, contractAddress, _point }); if (entity) { log('hasBeenLinked: db hit.'); @@ -181,7 +183,7 @@ export class Indexer implements IndexerInterface { return result; } - async isLive (blockHash: string, contractAddress: string, _point: number): Promise { + async isLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsLive({ blockHash, contractAddress, _point }); if (entity) { log('isLive: db hit.'); @@ -210,7 +212,7 @@ export class Indexer implements IndexerInterface { return result; } - async getContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetContinuityNumber({ blockHash, contractAddress, _point }); if (entity) { log('getContinuityNumber: db hit.'); @@ -230,7 +232,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + let value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -239,7 +243,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnCount({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnCount: db hit.'); @@ -259,7 +263,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + let value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -268,7 +274,25 @@ export class Indexer implements IndexerInterface { return result; } - async hasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawned (blockHash: string, contractAddress: string, _point: bigint): Promise { + log('getSpawned: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawned(_point, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async hasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasSponsor({ blockHash, contractAddress, _point }); if (entity) { log('hasSponsor: db hit.'); @@ -297,7 +321,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSponsor({ blockHash, contractAddress, _point }); if (entity) { log('getSponsor: db hit.'); @@ -317,7 +341,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSponsor(_point, { blockTag: blockHash }); + let value = await contract.getSponsor(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -326,7 +352,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsSponsor({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isSponsor: db hit.'); @@ -355,7 +381,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetSponsoringCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getSponsoringCount: db hit.'); @@ -386,7 +412,25 @@ export class Indexer implements IndexerInterface { return result; } - async isEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsoring (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getSponsoring: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSponsoring(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async isEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsEscaping({ blockHash, contractAddress, _point }); if (entity) { log('isEscaping: db hit.'); @@ -415,7 +459,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetEscapeRequest({ blockHash, contractAddress, _point }); if (entity) { log('getEscapeRequest: db hit.'); @@ -435,7 +479,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + let value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -444,7 +490,7 @@ export class Indexer implements IndexerInterface { return result; } - async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsRequestingEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isRequestingEscapeTo: db hit.'); @@ -473,7 +519,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetEscapeRequestsCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getEscapeRequestsCount: db hit.'); @@ -504,7 +550,25 @@ export class Indexer implements IndexerInterface { return result; } - async getOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequests (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getEscapeRequests: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getEscapeRequests(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetOwner({ blockHash, contractAddress, _point }); if (entity) { log('getOwner: db hit.'); @@ -533,7 +597,7 @@ export class Indexer implements IndexerInterface { return result; } - async isOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async isOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const entity = await this._db.getIsOwner({ blockHash, contractAddress, _point, _address }); if (entity) { log('isOwner: db hit.'); @@ -593,6 +657,24 @@ export class Indexer implements IndexerInterface { return result; } + async getOwnedPoints (blockHash: string, contractAddress: string, _whose: string): Promise { + log('getOwnedPoints: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getOwnedPoints(_whose, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async getOwnedPointAtIndex (blockHash: string, contractAddress: string, _whose: string, _index: bigint): Promise { const entity = await this._db.getGetOwnedPointAtIndex({ blockHash, contractAddress, _whose, _index }); if (entity) { @@ -613,7 +695,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + let value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -622,7 +706,7 @@ export class Indexer implements IndexerInterface { return result; } - async getManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetManagementProxy({ blockHash, contractAddress, _point }); if (entity) { log('getManagementProxy: db hit.'); @@ -651,7 +735,7 @@ export class Indexer implements IndexerInterface { return result; } - async isManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsManagementProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isManagementProxy: db hit.'); @@ -680,7 +764,7 @@ export class Indexer implements IndexerInterface { return result; } - async canManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanManage({ blockHash, contractAddress, _point, _who }); if (entity) { log('canManage: db hit.'); @@ -740,7 +824,25 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagerFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getManagerFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getManagerFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnProxy({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnProxy: db hit.'); @@ -769,7 +871,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsSpawnProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isSpawnProxy: db hit.'); @@ -798,7 +900,7 @@ export class Indexer implements IndexerInterface { return result; } - async canSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanSpawnAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canSpawnAs: db hit.'); @@ -858,7 +960,25 @@ export class Indexer implements IndexerInterface { return result; } - async getVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawningFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getSpawningFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawningFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetVotingProxy({ blockHash, contractAddress, _point }); if (entity) { log('getVotingProxy: db hit.'); @@ -887,7 +1007,7 @@ export class Indexer implements IndexerInterface { return result; } - async isVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsVotingProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isVotingProxy: db hit.'); @@ -916,7 +1036,7 @@ export class Indexer implements IndexerInterface { return result; } - async canVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanVoteAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canVoteAs: db hit.'); @@ -976,7 +1096,25 @@ export class Indexer implements IndexerInterface { return result; } - async getTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getVotingFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getVotingFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getVotingFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetTransferProxy({ blockHash, contractAddress, _point }); if (entity) { log('getTransferProxy: db hit.'); @@ -1005,7 +1143,7 @@ export class Indexer implements IndexerInterface { return result; } - async isTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsTransferProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isTransferProxy: db hit.'); @@ -1034,7 +1172,7 @@ export class Indexer implements IndexerInterface { return result; } - async canTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanTransfer({ blockHash, contractAddress, _point, _who }); if (entity) { log('canTransfer: db hit.'); @@ -1094,6 +1232,24 @@ export class Indexer implements IndexerInterface { return result; } + async getTransferringFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getTransferringFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getTransferringFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async isOperator (blockHash: string, contractAddress: string, _owner: string, _operator: string): Promise { const entity = await this._db.getIsOperator({ blockHash, contractAddress, _owner, _operator }); if (entity) { @@ -1123,6 +1279,23 @@ export class Indexer implements IndexerInterface { return result; } + async getUpgradeProposals (blockHash: string, contractAddress: string): Promise { + log('getUpgradeProposals: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getUpgradeProposals({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getUpgradeProposalCount (blockHash: string, contractAddress: string): Promise { const entity = await this._db.getGetUpgradeProposalCount({ blockHash, contractAddress }); if (entity) { @@ -1154,6 +1327,23 @@ export class Indexer implements IndexerInterface { return result; } + async getDocumentProposals (blockHash: string, contractAddress: string): Promise { + log('getDocumentProposals: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getDocumentProposals({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getDocumentProposalCount (blockHash: string, contractAddress: string): Promise { const entity = await this._db.getGetDocumentProposalCount({ blockHash, contractAddress }); if (entity) { @@ -1185,6 +1375,23 @@ export class Indexer implements IndexerInterface { return result; } + async getDocumentMajorities (blockHash: string, contractAddress: string): Promise { + log('getDocumentMajorities: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_ECLIPTIC); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getDocumentMajorities({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async hasVotedOnUpgradePoll (blockHash: string, contractAddress: string, _galaxy: number, _proposal: string): Promise { const entity = await this._db.getHasVotedOnUpgradePoll({ blockHash, contractAddress, _galaxy, _proposal }); if (entity) { @@ -1243,7 +1450,7 @@ export class Indexer implements IndexerInterface { return result; } - async findClaim (blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string): Promise { + async findClaim (blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string): Promise { const entity = await this._db.getFindClaim({ blockHash, contractAddress, _whose, _protocol, _claim }); if (entity) { log('findClaim: db hit.'); @@ -1628,7 +1835,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnLimit (blockHash: string, contractAddress: string, _point: number, _time: bigint): Promise { + async getSpawnLimit (blockHash: string, contractAddress: string, _point: bigint, _time: bigint): Promise { const entity = await this._db.getGetSpawnLimit({ blockHash, contractAddress, _point, _time }); if (entity) { log('getSpawnLimit: db hit.'); @@ -1648,7 +1855,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnLimit(_point, _time, { blockTag: blockHash }); + let value = await contract.getSpawnLimit(_point, _time, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -1657,7 +1866,7 @@ export class Indexer implements IndexerInterface { return result; } - async canEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async canEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getCanEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('canEscapeTo: db hit.'); diff --git a/packages/ecliptic-watcher/src/resolvers.ts b/packages/ecliptic-watcher/src/resolvers.ts index b032975..687c6c1 100644 --- a/packages/ecliptic-watcher/src/resolvers.ts +++ b/packages/ecliptic-watcher/src/resolvers.ts @@ -71,7 +71,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher Query: { isActive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -87,7 +87,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getKeyRevisionNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -103,7 +103,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher hasBeenLinked: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -119,7 +119,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isLive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -135,7 +135,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getContinuityNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -151,7 +151,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnCount: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -165,9 +165,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawnCount(blockHash, contractAddress, _point); }, + getSpawned: ( + _: any, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawned', blockHash, contractAddress, _point); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawned').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawned(blockHash, contractAddress, _point); + }, + hasSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -183,7 +199,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -199,7 +215,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSponsor: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -215,7 +231,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsoringCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -229,9 +245,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSponsoringCount(blockHash, contractAddress, _sponsor); }, + getSponsoring: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSponsoring', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSponsoring').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSponsoring(blockHash, contractAddress, _sponsor); + }, + isEscaping: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -247,7 +279,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequest: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -263,7 +295,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isRequestingEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -279,7 +311,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequestsCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -293,9 +325,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getEscapeRequestsCount(blockHash, contractAddress, _sponsor); }, + getEscapeRequests: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getEscapeRequests', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getEscapeRequests').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getEscapeRequests(blockHash, contractAddress, _sponsor); + }, + getOwner: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -311,7 +359,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isOwner: ( _: any, - { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }, + { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -341,6 +389,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getOwnedPointCount(blockHash, contractAddress, _whose); }, + getOwnedPoints: ( + _: any, + { blockHash, contractAddress, _whose }: { blockHash: string, contractAddress: string, _whose: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getOwnedPoints', blockHash, contractAddress, _whose); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getOwnedPoints').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getOwnedPoints(blockHash, contractAddress, _whose); + }, + getOwnedPointAtIndex: ( _: any, { blockHash, contractAddress, _whose, _index }: { blockHash: string, contractAddress: string, _whose: string, _index: bigint }, @@ -359,7 +423,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getManagementProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -375,7 +439,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isManagementProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -391,7 +455,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canManage: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -421,9 +485,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getManagerForCount(blockHash, contractAddress, _proxy); }, + getManagerFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getManagerFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getManagerFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getManagerFor(blockHash, contractAddress, _proxy); + }, + getSpawnProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -439,7 +519,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSpawnProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -455,7 +535,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canSpawnAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -485,9 +565,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawningForCount(blockHash, contractAddress, _proxy); }, + getSpawningFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawningFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawningFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawningFor(blockHash, contractAddress, _proxy); + }, + getVotingProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -503,7 +599,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isVotingProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -519,7 +615,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canVoteAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -549,9 +645,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getVotingForCount(blockHash, contractAddress, _proxy); }, + getVotingFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getVotingFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getVotingFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getVotingFor(blockHash, contractAddress, _proxy); + }, + getTransferProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -567,7 +679,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isTransferProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -583,7 +695,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canTransfer: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -613,6 +725,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getTransferringForCount(blockHash, contractAddress, _proxy); }, + getTransferringFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getTransferringFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getTransferringFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getTransferringFor(blockHash, contractAddress, _proxy); + }, + isOperator: ( _: any, { blockHash, contractAddress, _owner, _operator }: { blockHash: string, contractAddress: string, _owner: string, _operator: string }, @@ -629,6 +757,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.isOperator(blockHash, contractAddress, _owner, _operator); }, + getUpgradeProposals: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getUpgradeProposals', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getUpgradeProposals').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getUpgradeProposals(blockHash, contractAddress); + }, + getUpgradeProposalCount: ( _: any, { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, @@ -645,6 +789,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getUpgradeProposalCount(blockHash, contractAddress); }, + getDocumentProposals: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getDocumentProposals', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getDocumentProposals').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getDocumentProposals(blockHash, contractAddress); + }, + getDocumentProposalCount: ( _: any, { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, @@ -661,6 +821,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getDocumentProposalCount(blockHash, contractAddress); }, + getDocumentMajorities: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getDocumentMajorities', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getDocumentMajorities').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getDocumentMajorities(blockHash, contractAddress); + }, + hasVotedOnUpgradePoll: ( _: any, { blockHash, contractAddress, _galaxy, _proposal }: { blockHash: string, contractAddress: string, _galaxy: number, _proposal: string }, @@ -695,7 +871,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher findClaim: ( _: any, - { blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string }, + { blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -903,7 +1079,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnLimit: ( _: any, - { blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: number, _time: bigint }, + { blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: bigint, _time: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -919,7 +1095,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { diff --git a/packages/ecliptic-watcher/src/schema.gql b/packages/ecliptic-watcher/src/schema.gql index 7aa12dd..43bc243 100644 --- a/packages/ecliptic-watcher/src/schema.gql +++ b/packages/ecliptic-watcher/src/schema.gql @@ -15,26 +15,6 @@ type Proof { data: String! } -type ResultBoolean { - value: Boolean! - proof: Proof -} - -type ResultString { - value: String! - proof: Proof -} - -type ResultInt { - value: Int! - proof: Proof -} - -type ResultBigInt { - value: BigInt! - proof: Proof -} - type _Block_ { cid: String! hash: String! @@ -110,46 +90,57 @@ type ResultState { type Query { events(blockHash: String!, contractAddress: String!, name: String): [ResultEvent!] eventsInRange(fromBlockNumber: Int!, toBlockNumber: Int!): [ResultEvent!] - isActive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasBeenLinked(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - isLive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getContinuityNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - getSpawnCount(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isSponsor(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - isEscaping(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getEscapeRequest(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - getOwner(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isOwner(blockHash: String!, contractAddress: String!, _point: Int!, _address: String!): ResultBoolean! + isActive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + hasBeenLinked(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + isLive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getContinuityNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawnCount(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawned(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigIntArray! + hasSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getSponsoring(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + isEscaping(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getEscapeRequest(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getEscapeRequests(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + getOwner(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isOwner(blockHash: String!, contractAddress: String!, _point: BigInt!, _address: String!): ResultBoolean! getOwnedPointCount(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigInt! - getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultInt! - getManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canManage(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getOwnedPoints(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigIntArray! + getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultBigInt! + getManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canManage(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getManagerForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canSpawnAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getManagerFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canSpawnAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getSpawningForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canVoteAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getSpawningFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canVoteAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getVotingForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canTransfer(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getVotingFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canTransfer(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getTransferringForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! + getTransferringFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! isOperator(blockHash: String!, contractAddress: String!, _owner: String!, _operator: String!): ResultBoolean! + getUpgradeProposals(blockHash: String!, contractAddress: String!): ResultStringArray! getUpgradeProposalCount(blockHash: String!, contractAddress: String!): ResultBigInt! + getDocumentProposals(blockHash: String!, contractAddress: String!): ResultStringArray! getDocumentProposalCount(blockHash: String!, contractAddress: String!): ResultBigInt! + getDocumentMajorities(blockHash: String!, contractAddress: String!): ResultStringArray! hasVotedOnUpgradePoll(blockHash: String!, contractAddress: String!, _galaxy: Int!, _proposal: String!): ResultBoolean! hasVotedOnDocumentPoll(blockHash: String!, contractAddress: String!, _galaxy: Int!, _proposal: String!): ResultBoolean! - findClaim(blockHash: String!, contractAddress: String!, _whose: Int!, _protocol: String!, _claim: String!): ResultInt! + findClaim(blockHash: String!, contractAddress: String!, _whose: BigInt!, _protocol: String!, _claim: String!): ResultInt! supportsInterface(blockHash: String!, contractAddress: String!, _interfaceId: String!): ResultBoolean! balanceOf(blockHash: String!, contractAddress: String!, _owner: String!): ResultBigInt! ownerOf(blockHash: String!, contractAddress: String!, _tokenId: BigInt!): ResultString! @@ -162,13 +153,43 @@ type Query { name(blockHash: String!, contractAddress: String!): ResultString! symbol(blockHash: String!, contractAddress: String!): ResultString! tokenURI(blockHash: String!, contractAddress: String!, _tokenId: BigInt!): ResultString! - getSpawnLimit(blockHash: String!, contractAddress: String!, _point: Int!, _time: BigInt!): ResultInt! - canEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! + getSpawnLimit(blockHash: String!, contractAddress: String!, _point: BigInt!, _time: BigInt!): ResultBigInt! + canEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! getSyncStatus: SyncStatus getStateByCID(cid: String!): ResultState getState(blockHash: String!, contractAddress: String!, kind: String): ResultState } +type ResultBoolean { + value: Boolean! + proof: Proof +} + +type ResultBigInt { + value: BigInt! + proof: Proof +} + +type ResultBigIntArray { + value: [BigInt!]! + proof: Proof +} + +type ResultString { + value: String! + proof: Proof +} + +type ResultStringArray { + value: [String!]! + proof: Proof +} + +type ResultInt { + value: Int! + proof: Proof +} + type Mutation { watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean! } diff --git a/packages/linear-star-release-watcher/README.md b/packages/linear-star-release-watcher/README.md index 72d7251..6e1c09b 100644 --- a/packages/linear-star-release-watcher/README.md +++ b/packages/linear-star-release-watcher/README.md @@ -1,11 +1,5 @@ # linear-star-release-watcher -## Currently unsupported queries - -The watcher was generated in `eth_call` mode and does not support the following queries in its current state: - -* `getRemainingStars(address _participant) returns (uint16[] stars)` - ## Setup * Run the following command to install required packages: diff --git a/packages/linear-star-release-watcher/package.json b/packages/linear-star-release-watcher/package.json index f8a2f56..c3c02fa 100644 --- a/packages/linear-star-release-watcher/package.json +++ b/packages/linear-star-release-watcher/package.json @@ -5,7 +5,7 @@ "private": true, "main": "dist/index.js", "scripts": { - "lint": "eslint .", + "lint": "eslint --max-warnings=0 .", "build": "yarn clean && tsc && yarn copy-assets", "clean": "rm -rf ./dist", "copy-assets": "copyfiles -u 1 src/**/*.gql dist/", @@ -38,10 +38,10 @@ "dependencies": { "@apollo/client": "^3.3.19", "@ethersproject/providers": "^5.4.4", - "@cerc-io/cli": "^0.2.34", - "@cerc-io/ipld-eth-client": "^0.2.34", - "@cerc-io/solidity-mapper": "^0.2.34", - "@cerc-io/util": "^0.2.34", + "@cerc-io/cli": "^0.2.39", + "@cerc-io/ipld-eth-client": "^0.2.39", + "@cerc-io/solidity-mapper": "^0.2.39", + "@cerc-io/util": "^0.2.39", "apollo-type-bigint": "^0.1.3", "debug": "^4.3.1", "ethers": "^5.4.4", @@ -56,7 +56,7 @@ "@ethersproject/abi": "^5.3.0", "@types/yargs": "^17.0.0", "@types/debug": "^4.1.5", - "@types/json-bigint": "^1.0.1", + "@types/json-bigint": "^1.0.0", "@typescript-eslint/eslint-plugin": "^5.47.1", "@typescript-eslint/parser": "^5.47.1", "eslint": "^8.35.0", diff --git a/packages/linear-star-release-watcher/src/client.ts b/packages/linear-star-release-watcher/src/client.ts index aee1e6c..ba8ccad 100644 --- a/packages/linear-star-release-watcher/src/client.ts +++ b/packages/linear-star-release-watcher/src/client.ts @@ -17,7 +17,7 @@ export class Client { this._client = new GraphQLClient(config); } - async getIsActive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isActive } = await this._client.query( gql(queries.isActive), { blockHash, contractAddress, _point } @@ -26,7 +26,7 @@ export class Client { return isActive; } - async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getKeyRevisionNumber } = await this._client.query( gql(queries.getKeyRevisionNumber), { blockHash, contractAddress, _point } @@ -35,7 +35,7 @@ export class Client { return getKeyRevisionNumber; } - async getHasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasBeenLinked } = await this._client.query( gql(queries.hasBeenLinked), { blockHash, contractAddress, _point } @@ -44,7 +44,7 @@ export class Client { return hasBeenLinked; } - async getIsLive (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isLive } = await this._client.query( gql(queries.isLive), { blockHash, contractAddress, _point } @@ -53,7 +53,7 @@ export class Client { return isLive; } - async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getContinuityNumber } = await this._client.query( gql(queries.getContinuityNumber), { blockHash, contractAddress, _point } @@ -62,7 +62,7 @@ export class Client { return getContinuityNumber; } - async getGetSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnCount } = await this._client.query( gql(queries.getSpawnCount), { blockHash, contractAddress, _point } @@ -71,7 +71,7 @@ export class Client { return getSpawnCount; } - async getHasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getHasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { hasSponsor } = await this._client.query( gql(queries.hasSponsor), { blockHash, contractAddress, _point } @@ -80,7 +80,7 @@ export class Client { return hasSponsor; } - async getGetSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSponsor } = await this._client.query( gql(queries.getSponsor), { blockHash, contractAddress, _point } @@ -89,7 +89,7 @@ export class Client { return getSponsor; } - async getIsSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isSponsor } = await this._client.query( gql(queries.isSponsor), { blockHash, contractAddress, _point, _sponsor } @@ -98,7 +98,7 @@ export class Client { return isSponsor; } - async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getSponsoringCount } = await this._client.query( gql(queries.getSponsoringCount), { blockHash, contractAddress, _sponsor } @@ -107,7 +107,7 @@ export class Client { return getSponsoringCount; } - async getIsEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getIsEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const { isEscaping } = await this._client.query( gql(queries.isEscaping), { blockHash, contractAddress, _point } @@ -116,7 +116,7 @@ export class Client { return isEscaping; } - async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getEscapeRequest } = await this._client.query( gql(queries.getEscapeRequest), { blockHash, contractAddress, _point } @@ -125,7 +125,7 @@ export class Client { return getEscapeRequest; } - async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getIsRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { isRequestingEscapeTo } = await this._client.query( gql(queries.isRequestingEscapeTo), { blockHash, contractAddress, _point, _sponsor } @@ -134,7 +134,7 @@ export class Client { return isRequestingEscapeTo; } - async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getGetEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const { getEscapeRequestsCount } = await this._client.query( gql(queries.getEscapeRequestsCount), { blockHash, contractAddress, _sponsor } @@ -143,7 +143,7 @@ export class Client { return getEscapeRequestsCount; } - async getGetOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getOwner } = await this._client.query( gql(queries.getOwner), { blockHash, contractAddress, _point } @@ -152,7 +152,7 @@ export class Client { return getOwner; } - async getIsOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async getIsOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const { isOwner } = await this._client.query( gql(queries.isOwner), { blockHash, contractAddress, _point, _address } @@ -179,7 +179,7 @@ export class Client { return getOwnedPointAtIndex; } - async getGetManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getManagementProxy } = await this._client.query( gql(queries.getManagementProxy), { blockHash, contractAddress, _point } @@ -188,7 +188,7 @@ export class Client { return getManagementProxy; } - async getIsManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isManagementProxy } = await this._client.query( gql(queries.isManagementProxy), { blockHash, contractAddress, _point, _proxy } @@ -197,7 +197,7 @@ export class Client { return isManagementProxy; } - async getCanManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canManage } = await this._client.query( gql(queries.canManage), { blockHash, contractAddress, _point, _who } @@ -215,7 +215,7 @@ export class Client { return getManagerForCount; } - async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getSpawnProxy } = await this._client.query( gql(queries.getSpawnProxy), { blockHash, contractAddress, _point } @@ -224,7 +224,7 @@ export class Client { return getSpawnProxy; } - async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isSpawnProxy } = await this._client.query( gql(queries.isSpawnProxy), { blockHash, contractAddress, _point, _proxy } @@ -233,7 +233,7 @@ export class Client { return isSpawnProxy; } - async getCanSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canSpawnAs } = await this._client.query( gql(queries.canSpawnAs), { blockHash, contractAddress, _point, _who } @@ -251,7 +251,7 @@ export class Client { return getSpawningForCount; } - async getGetVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getVotingProxy } = await this._client.query( gql(queries.getVotingProxy), { blockHash, contractAddress, _point } @@ -260,7 +260,7 @@ export class Client { return getVotingProxy; } - async getIsVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isVotingProxy } = await this._client.query( gql(queries.isVotingProxy), { blockHash, contractAddress, _point, _proxy } @@ -269,7 +269,7 @@ export class Client { return isVotingProxy; } - async getCanVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canVoteAs } = await this._client.query( gql(queries.canVoteAs), { blockHash, contractAddress, _point, _who } @@ -287,7 +287,7 @@ export class Client { return getVotingForCount; } - async getGetTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getGetTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const { getTransferProxy } = await this._client.query( gql(queries.getTransferProxy), { blockHash, contractAddress, _point } @@ -296,7 +296,7 @@ export class Client { return getTransferProxy; } - async getIsTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async getIsTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const { isTransferProxy } = await this._client.query( gql(queries.isTransferProxy), { blockHash, contractAddress, _point, _proxy } @@ -305,7 +305,7 @@ export class Client { return isTransferProxy; } - async getCanTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async getCanTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const { canTransfer } = await this._client.query( gql(queries.canTransfer), { blockHash, contractAddress, _point, _who } @@ -368,7 +368,7 @@ export class Client { return hasVotedOnDocumentPoll; } - async getFindClaim (blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string): Promise { + async getFindClaim (blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string): Promise { const { findClaim } = await this._client.query( gql(queries.findClaim), { blockHash, contractAddress, _whose, _protocol, _claim } @@ -485,7 +485,7 @@ export class Client { return tokenURI; } - async getGetSpawnLimit (blockHash: string, contractAddress: string, _point: number, _time: bigint): Promise { + async getGetSpawnLimit (blockHash: string, contractAddress: string, _point: bigint, _time: bigint): Promise { const { getSpawnLimit } = await this._client.query( gql(queries.getSpawnLimit), { blockHash, contractAddress, _point, _time } @@ -494,7 +494,7 @@ export class Client { return getSpawnLimit; } - async getCanEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async getCanEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const { canEscapeTo } = await this._client.query( gql(queries.canEscapeTo), { blockHash, contractAddress, _point, _sponsor } diff --git a/packages/linear-star-release-watcher/src/database.ts b/packages/linear-star-release-watcher/src/database.ts index 7206b64..cfc9ec0 100644 --- a/packages/linear-star-release-watcher/src/database.ts +++ b/packages/linear-star-release-watcher/src/database.ts @@ -110,7 +110,7 @@ export class Database implements DatabaseInterface { return this._baseDatabase.close(); } - async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsActive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsActive) .findOne({ blockHash, @@ -119,7 +119,7 @@ export class Database implements DatabaseInterface { }); } - async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetKeyRevisionNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetKeyRevisionNumber) .findOne({ blockHash, @@ -128,7 +128,7 @@ export class Database implements DatabaseInterface { }); } - async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasBeenLinked ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasBeenLinked) .findOne({ blockHash, @@ -137,7 +137,7 @@ export class Database implements DatabaseInterface { }); } - async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsLive ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsLive) .findOne({ blockHash, @@ -146,7 +146,7 @@ export class Database implements DatabaseInterface { }); } - async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetContinuityNumber ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetContinuityNumber) .findOne({ blockHash, @@ -155,7 +155,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnCount ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnCount) .findOne({ blockHash, @@ -164,7 +164,7 @@ export class Database implements DatabaseInterface { }); } - async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getHasSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(HasSponsor) .findOne({ blockHash, @@ -173,7 +173,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSponsor ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSponsor) .findOne({ blockHash, @@ -182,7 +182,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsSponsor ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsSponsor) .findOne({ blockHash, @@ -192,7 +192,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetSponsoringCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetSponsoringCount) .findOne({ blockHash, @@ -201,7 +201,7 @@ export class Database implements DatabaseInterface { }); } - async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getIsEscaping ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(IsEscaping) .findOne({ blockHash, @@ -210,7 +210,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetEscapeRequest ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetEscapeRequest) .findOne({ blockHash, @@ -219,7 +219,7 @@ export class Database implements DatabaseInterface { }); } - async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getIsRequestingEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(IsRequestingEscapeTo) .findOne({ blockHash, @@ -229,7 +229,7 @@ export class Database implements DatabaseInterface { }); } - async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }): Promise { + async getGetEscapeRequestsCount ({ blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }): Promise { return this._conn.getRepository(GetEscapeRequestsCount) .findOne({ blockHash, @@ -238,7 +238,7 @@ export class Database implements DatabaseInterface { }); } - async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetOwner ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetOwner) .findOne({ blockHash, @@ -247,7 +247,7 @@ export class Database implements DatabaseInterface { }); } - async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }): Promise { + async getIsOwner ({ blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }): Promise { return this._conn.getRepository(IsOwner) .findOne({ blockHash, @@ -276,7 +276,7 @@ export class Database implements DatabaseInterface { }); } - async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetManagementProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetManagementProxy) .findOne({ blockHash, @@ -285,7 +285,7 @@ export class Database implements DatabaseInterface { }); } - async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsManagementProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsManagementProxy) .findOne({ blockHash, @@ -295,7 +295,7 @@ export class Database implements DatabaseInterface { }); } - async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanManage ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanManage) .findOne({ blockHash, @@ -314,7 +314,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetSpawnProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetSpawnProxy) .findOne({ blockHash, @@ -323,7 +323,7 @@ export class Database implements DatabaseInterface { }); } - async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsSpawnProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsSpawnProxy) .findOne({ blockHash, @@ -333,7 +333,7 @@ export class Database implements DatabaseInterface { }); } - async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanSpawnAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanSpawnAs) .findOne({ blockHash, @@ -352,7 +352,7 @@ export class Database implements DatabaseInterface { }); } - async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetVotingProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetVotingProxy) .findOne({ blockHash, @@ -361,7 +361,7 @@ export class Database implements DatabaseInterface { }); } - async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsVotingProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsVotingProxy) .findOne({ blockHash, @@ -371,7 +371,7 @@ export class Database implements DatabaseInterface { }); } - async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanVoteAs ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanVoteAs) .findOne({ blockHash, @@ -390,7 +390,7 @@ export class Database implements DatabaseInterface { }); } - async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }): Promise { + async getGetTransferProxy ({ blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }): Promise { return this._conn.getRepository(GetTransferProxy) .findOne({ blockHash, @@ -399,7 +399,7 @@ export class Database implements DatabaseInterface { }); } - async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }): Promise { + async getIsTransferProxy ({ blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }): Promise { return this._conn.getRepository(IsTransferProxy) .findOne({ blockHash, @@ -409,7 +409,7 @@ export class Database implements DatabaseInterface { }); } - async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }): Promise { + async getCanTransfer ({ blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }): Promise { return this._conn.getRepository(CanTransfer) .findOne({ blockHash, @@ -474,7 +474,7 @@ export class Database implements DatabaseInterface { }); } - async getFindClaim ({ blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string }): Promise { + async getFindClaim ({ blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string }): Promise { return this._conn.getRepository(FindClaim) .findOne({ blockHash, @@ -593,7 +593,7 @@ export class Database implements DatabaseInterface { }); } - async getGetSpawnLimit ({ blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: number, _time: bigint }): Promise { + async getGetSpawnLimit ({ blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: bigint, _time: bigint }): Promise { return this._conn.getRepository(GetSpawnLimit) .findOne({ blockHash, @@ -603,7 +603,7 @@ export class Database implements DatabaseInterface { }); } - async getCanEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }): Promise { + async getCanEscapeTo ({ blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }): Promise { return this._conn.getRepository(CanEscapeTo) .findOne({ blockHash, diff --git a/packages/linear-star-release-watcher/src/entity/CanEscapeTo.ts b/packages/linear-star-release-watcher/src/entity/CanEscapeTo.ts index 26a6f69..7b7f093 100644 --- a/packages/linear-star-release-watcher/src/entity/CanEscapeTo.ts +++ b/packages/linear-star-release-watcher/src/entity/CanEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class CanEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/linear-star-release-watcher/src/entity/CanManage.ts b/packages/linear-star-release-watcher/src/entity/CanManage.ts index 2ad7b1b..442f5bc 100644 --- a/packages/linear-star-release-watcher/src/entity/CanManage.ts +++ b/packages/linear-star-release-watcher/src/entity/CanManage.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanManage { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/linear-star-release-watcher/src/entity/CanSpawnAs.ts b/packages/linear-star-release-watcher/src/entity/CanSpawnAs.ts index 9163537..09c21c4 100644 --- a/packages/linear-star-release-watcher/src/entity/CanSpawnAs.ts +++ b/packages/linear-star-release-watcher/src/entity/CanSpawnAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanSpawnAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/linear-star-release-watcher/src/entity/CanTransfer.ts b/packages/linear-star-release-watcher/src/entity/CanTransfer.ts index 82fb96e..17ecc02 100644 --- a/packages/linear-star-release-watcher/src/entity/CanTransfer.ts +++ b/packages/linear-star-release-watcher/src/entity/CanTransfer.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanTransfer { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/linear-star-release-watcher/src/entity/CanVoteAs.ts b/packages/linear-star-release-watcher/src/entity/CanVoteAs.ts index 956d249..b9519df 100644 --- a/packages/linear-star-release-watcher/src/entity/CanVoteAs.ts +++ b/packages/linear-star-release-watcher/src/entity/CanVoteAs.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_who'], { unique: true }) @@ -19,8 +20,8 @@ export class CanVoteAs { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _who!: string; diff --git a/packages/linear-star-release-watcher/src/entity/FindClaim.ts b/packages/linear-star-release-watcher/src/entity/FindClaim.ts index a4c4294..eb35291 100644 --- a/packages/linear-star-release-watcher/src/entity/FindClaim.ts +++ b/packages/linear-star-release-watcher/src/entity/FindClaim.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_whose', '_protocol', '_claim'], { unique: true }) @@ -19,8 +20,8 @@ export class FindClaim { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _whose!: number; + @Column('numeric', { transformer: bigintTransformer }) + _whose!: bigint; @Column('varchar') _protocol!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetContinuityNumber.ts b/packages/linear-star-release-watcher/src/entity/GetContinuityNumber.ts index 27c158a..d4d3fb9 100644 --- a/packages/linear-star-release-watcher/src/entity/GetContinuityNumber.ts +++ b/packages/linear-star-release-watcher/src/entity/GetContinuityNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetContinuityNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetEscapeRequest.ts b/packages/linear-star-release-watcher/src/entity/GetEscapeRequest.ts index 09eb1d9..d2ed83d 100644 --- a/packages/linear-star-release-watcher/src/entity/GetEscapeRequest.ts +++ b/packages/linear-star-release-watcher/src/entity/GetEscapeRequest.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetEscapeRequest { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetEscapeRequestsCount.ts b/packages/linear-star-release-watcher/src/entity/GetEscapeRequestsCount.ts index 9e020db..2339c14 100644 --- a/packages/linear-star-release-watcher/src/entity/GetEscapeRequestsCount.ts +++ b/packages/linear-star-release-watcher/src/entity/GetEscapeRequestsCount.ts @@ -20,8 +20,8 @@ export class GetEscapeRequestsCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/linear-star-release-watcher/src/entity/GetKeyRevisionNumber.ts b/packages/linear-star-release-watcher/src/entity/GetKeyRevisionNumber.ts index ca5f269..9ea106d 100644 --- a/packages/linear-star-release-watcher/src/entity/GetKeyRevisionNumber.ts +++ b/packages/linear-star-release-watcher/src/entity/GetKeyRevisionNumber.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetKeyRevisionNumber { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetManagementProxy.ts b/packages/linear-star-release-watcher/src/entity/GetManagementProxy.ts index 310a4fb..73db456 100644 --- a/packages/linear-star-release-watcher/src/entity/GetManagementProxy.ts +++ b/packages/linear-star-release-watcher/src/entity/GetManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetOwnedPointAtIndex.ts b/packages/linear-star-release-watcher/src/entity/GetOwnedPointAtIndex.ts index cabc086..6aff916 100644 --- a/packages/linear-star-release-watcher/src/entity/GetOwnedPointAtIndex.ts +++ b/packages/linear-star-release-watcher/src/entity/GetOwnedPointAtIndex.ts @@ -26,8 +26,8 @@ export class GetOwnedPointAtIndex { @Column('numeric', { transformer: bigintTransformer }) _index!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetOwner.ts b/packages/linear-star-release-watcher/src/entity/GetOwner.ts index 00ff4df..04f3e9f 100644 --- a/packages/linear-star-release-watcher/src/entity/GetOwner.ts +++ b/packages/linear-star-release-watcher/src/entity/GetOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetSpawnCount.ts b/packages/linear-star-release-watcher/src/entity/GetSpawnCount.ts index 6cc44cc..314cfe6 100644 --- a/packages/linear-star-release-watcher/src/entity/GetSpawnCount.ts +++ b/packages/linear-star-release-watcher/src/entity/GetSpawnCount.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSpawnCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetSpawnLimit.ts b/packages/linear-star-release-watcher/src/entity/GetSpawnLimit.ts index 59ba37d..ab1e0dc 100644 --- a/packages/linear-star-release-watcher/src/entity/GetSpawnLimit.ts +++ b/packages/linear-star-release-watcher/src/entity/GetSpawnLimit.ts @@ -20,14 +20,14 @@ export class GetSpawnLimit { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('numeric', { transformer: bigintTransformer }) _time!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetSpawnProxy.ts b/packages/linear-star-release-watcher/src/entity/GetSpawnProxy.ts index d1e2cbd..7ee732c 100644 --- a/packages/linear-star-release-watcher/src/entity/GetSpawnProxy.ts +++ b/packages/linear-star-release-watcher/src/entity/GetSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetSponsor.ts b/packages/linear-star-release-watcher/src/entity/GetSponsor.ts index 3d964f9..a901174 100644 --- a/packages/linear-star-release-watcher/src/entity/GetSponsor.ts +++ b/packages/linear-star-release-watcher/src/entity/GetSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,11 +20,11 @@ export class GetSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - value!: number; + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; @Column('text', { nullable: true }) proof!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetSponsoringCount.ts b/packages/linear-star-release-watcher/src/entity/GetSponsoringCount.ts index 95dcbd9..c3e8c8c 100644 --- a/packages/linear-star-release-watcher/src/entity/GetSponsoringCount.ts +++ b/packages/linear-star-release-watcher/src/entity/GetSponsoringCount.ts @@ -20,8 +20,8 @@ export class GetSponsoringCount { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('numeric', { transformer: bigintTransformer }) value!: bigint; diff --git a/packages/linear-star-release-watcher/src/entity/GetTransferProxy.ts b/packages/linear-star-release-watcher/src/entity/GetTransferProxy.ts index f2dd7b2..1173349 100644 --- a/packages/linear-star-release-watcher/src/entity/GetTransferProxy.ts +++ b/packages/linear-star-release-watcher/src/entity/GetTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/linear-star-release-watcher/src/entity/GetVotingProxy.ts b/packages/linear-star-release-watcher/src/entity/GetVotingProxy.ts index c4a73e5..602d459 100644 --- a/packages/linear-star-release-watcher/src/entity/GetVotingProxy.ts +++ b/packages/linear-star-release-watcher/src/entity/GetVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class GetVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar') value!: string; diff --git a/packages/linear-star-release-watcher/src/entity/HasBeenLinked.ts b/packages/linear-star-release-watcher/src/entity/HasBeenLinked.ts index 4f897dc..38916ab 100644 --- a/packages/linear-star-release-watcher/src/entity/HasBeenLinked.ts +++ b/packages/linear-star-release-watcher/src/entity/HasBeenLinked.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasBeenLinked { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/linear-star-release-watcher/src/entity/HasSponsor.ts b/packages/linear-star-release-watcher/src/entity/HasSponsor.ts index ccc8875..eb479ea 100644 --- a/packages/linear-star-release-watcher/src/entity/HasSponsor.ts +++ b/packages/linear-star-release-watcher/src/entity/HasSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class HasSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/linear-star-release-watcher/src/entity/IsActive.ts b/packages/linear-star-release-watcher/src/entity/IsActive.ts index 055e224..a725d12 100644 --- a/packages/linear-star-release-watcher/src/entity/IsActive.ts +++ b/packages/linear-star-release-watcher/src/entity/IsActive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsActive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/linear-star-release-watcher/src/entity/IsEscaping.ts b/packages/linear-star-release-watcher/src/entity/IsEscaping.ts index fb4c3bd..a3c704f 100644 --- a/packages/linear-star-release-watcher/src/entity/IsEscaping.ts +++ b/packages/linear-star-release-watcher/src/entity/IsEscaping.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsEscaping { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/linear-star-release-watcher/src/entity/IsLive.ts b/packages/linear-star-release-watcher/src/entity/IsLive.ts index 87ca00f..e3270e0 100644 --- a/packages/linear-star-release-watcher/src/entity/IsLive.ts +++ b/packages/linear-star-release-watcher/src/entity/IsLive.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point'], { unique: true }) @@ -19,8 +20,8 @@ export class IsLive { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/linear-star-release-watcher/src/entity/IsManagementProxy.ts b/packages/linear-star-release-watcher/src/entity/IsManagementProxy.ts index 14ac477..e72a487 100644 --- a/packages/linear-star-release-watcher/src/entity/IsManagementProxy.ts +++ b/packages/linear-star-release-watcher/src/entity/IsManagementProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsManagementProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/linear-star-release-watcher/src/entity/IsOwner.ts b/packages/linear-star-release-watcher/src/entity/IsOwner.ts index 81a6046..51aeaed 100644 --- a/packages/linear-star-release-watcher/src/entity/IsOwner.ts +++ b/packages/linear-star-release-watcher/src/entity/IsOwner.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_address'], { unique: true }) @@ -19,8 +20,8 @@ export class IsOwner { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _address!: string; diff --git a/packages/linear-star-release-watcher/src/entity/IsRequestingEscapeTo.ts b/packages/linear-star-release-watcher/src/entity/IsRequestingEscapeTo.ts index 58409ab..5c6385d 100644 --- a/packages/linear-star-release-watcher/src/entity/IsRequestingEscapeTo.ts +++ b/packages/linear-star-release-watcher/src/entity/IsRequestingEscapeTo.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsRequestingEscapeTo { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/linear-star-release-watcher/src/entity/IsSpawnProxy.ts b/packages/linear-star-release-watcher/src/entity/IsSpawnProxy.ts index 023ca72..d6ba37b 100644 --- a/packages/linear-star-release-watcher/src/entity/IsSpawnProxy.ts +++ b/packages/linear-star-release-watcher/src/entity/IsSpawnProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsSpawnProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/linear-star-release-watcher/src/entity/IsSponsor.ts b/packages/linear-star-release-watcher/src/entity/IsSponsor.ts index a21b71c..9a615c4 100644 --- a/packages/linear-star-release-watcher/src/entity/IsSponsor.ts +++ b/packages/linear-star-release-watcher/src/entity/IsSponsor.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_sponsor'], { unique: true }) @@ -19,11 +20,11 @@ export class IsSponsor { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; - @Column('integer') - _sponsor!: number; + @Column('numeric', { transformer: bigintTransformer }) + _sponsor!: bigint; @Column('boolean') value!: boolean; diff --git a/packages/linear-star-release-watcher/src/entity/IsTransferProxy.ts b/packages/linear-star-release-watcher/src/entity/IsTransferProxy.ts index b1613a4..904d2df 100644 --- a/packages/linear-star-release-watcher/src/entity/IsTransferProxy.ts +++ b/packages/linear-star-release-watcher/src/entity/IsTransferProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsTransferProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/linear-star-release-watcher/src/entity/IsVotingProxy.ts b/packages/linear-star-release-watcher/src/entity/IsVotingProxy.ts index 172dd15..5cd6128 100644 --- a/packages/linear-star-release-watcher/src/entity/IsVotingProxy.ts +++ b/packages/linear-star-release-watcher/src/entity/IsVotingProxy.ts @@ -3,6 +3,7 @@ // import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; @Entity() @Index(['blockHash', 'contractAddress', '_point', '_proxy'], { unique: true }) @@ -19,8 +20,8 @@ export class IsVotingProxy { @Column('varchar', { length: 42 }) contractAddress!: string; - @Column('integer') - _point!: number; + @Column('numeric', { transformer: bigintTransformer }) + _point!: bigint; @Column('varchar', { length: 42 }) _proxy!: string; diff --git a/packages/linear-star-release-watcher/src/gql/queries/canEscapeTo.gql b/packages/linear-star-release-watcher/src/gql/queries/canEscapeTo.gql index b065033..54e9c5a 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/canEscapeTo.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/canEscapeTo.gql @@ -1,4 +1,4 @@ -query canEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query canEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ canEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/canManage.gql b/packages/linear-star-release-watcher/src/gql/queries/canManage.gql index e52d71b..dad1626 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/canManage.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/canManage.gql @@ -1,4 +1,4 @@ -query canManage($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canManage($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canManage(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/canSpawnAs.gql b/packages/linear-star-release-watcher/src/gql/queries/canSpawnAs.gql index af9c463..040dd32 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/canSpawnAs.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/canSpawnAs.gql @@ -1,4 +1,4 @@ -query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canSpawnAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canSpawnAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/canTransfer.gql b/packages/linear-star-release-watcher/src/gql/queries/canTransfer.gql index 14b39fa..994578f 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/canTransfer.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/canTransfer.gql @@ -1,4 +1,4 @@ -query canTransfer($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canTransfer($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canTransfer(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/canVoteAs.gql b/packages/linear-star-release-watcher/src/gql/queries/canVoteAs.gql index d2a79a9..87871a2 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/canVoteAs.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/canVoteAs.gql @@ -1,4 +1,4 @@ -query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: Int!, $_who: String!){ +query canVoteAs($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_who: String!){ canVoteAs(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _who: $_who){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/findClaim.gql b/packages/linear-star-release-watcher/src/gql/queries/findClaim.gql index fe8ab15..2d6efb4 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/findClaim.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/findClaim.gql @@ -1,4 +1,4 @@ -query findClaim($blockHash: String!, $contractAddress: String!, $_whose: Int!, $_protocol: String!, $_claim: String!){ +query findClaim($blockHash: String!, $contractAddress: String!, $_whose: BigInt!, $_protocol: String!, $_claim: String!){ findClaim(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose, _protocol: $_protocol, _claim: $_claim){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getContinuityNumber.gql b/packages/linear-star-release-watcher/src/gql/queries/getContinuityNumber.gql index 1ad5af4..244398d 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getContinuityNumber.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getContinuityNumber.gql @@ -1,4 +1,4 @@ -query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getContinuityNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getContinuityNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getDocumentMajorities.gql b/packages/linear-star-release-watcher/src/gql/queries/getDocumentMajorities.gql new file mode 100644 index 0000000..89fd856 --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getDocumentMajorities.gql @@ -0,0 +1,8 @@ +query getDocumentMajorities($blockHash: String!, $contractAddress: String!){ + getDocumentMajorities(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getDocumentProposals.gql b/packages/linear-star-release-watcher/src/gql/queries/getDocumentProposals.gql new file mode 100644 index 0000000..75b30c2 --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getDocumentProposals.gql @@ -0,0 +1,8 @@ +query getDocumentProposals($blockHash: String!, $contractAddress: String!){ + getDocumentProposals(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequest.gql b/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequest.gql index acf7e7b..7215f8b 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequest.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequest.gql @@ -1,4 +1,4 @@ -query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getEscapeRequest($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getEscapeRequest(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequests.gql b/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequests.gql new file mode 100644 index 0000000..13b81ac --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequests.gql @@ -0,0 +1,8 @@ +query getEscapeRequests($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getEscapeRequests(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequestsCount.gql b/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequestsCount.gql index 5b6e489..ca7f8ef 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequestsCount.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getEscapeRequestsCount.gql @@ -1,4 +1,4 @@ -query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getEscapeRequestsCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getEscapeRequestsCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getKeyRevisionNumber.gql b/packages/linear-star-release-watcher/src/gql/queries/getKeyRevisionNumber.gql index ebcea96..fdccc8b 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getKeyRevisionNumber.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getKeyRevisionNumber.gql @@ -1,4 +1,4 @@ -query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getKeyRevisionNumber($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getKeyRevisionNumber(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getManagementProxy.gql b/packages/linear-star-release-watcher/src/gql/queries/getManagementProxy.gql index fd499b7..a9be364 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getManagementProxy.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getManagementProxy.gql @@ -1,4 +1,4 @@ -query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getManagerFor.gql b/packages/linear-star-release-watcher/src/gql/queries/getManagerFor.gql new file mode 100644 index 0000000..12e6ca0 --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getManagerFor.gql @@ -0,0 +1,8 @@ +query getManagerFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getManagerFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getOwnedPoints.gql b/packages/linear-star-release-watcher/src/gql/queries/getOwnedPoints.gql new file mode 100644 index 0000000..869ed24 --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getOwnedPoints.gql @@ -0,0 +1,8 @@ +query getOwnedPoints($blockHash: String!, $contractAddress: String!, $_whose: String!){ + getOwnedPoints(blockHash: $blockHash, contractAddress: $contractAddress, _whose: $_whose){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getOwner.gql b/packages/linear-star-release-watcher/src/gql/queries/getOwner.gql index f20db27..cc665d0 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getOwner.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getOwner.gql @@ -1,4 +1,4 @@ -query getOwner($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getRemainingStars.gql b/packages/linear-star-release-watcher/src/gql/queries/getRemainingStars.gql new file mode 100644 index 0000000..7bcb341 --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getRemainingStars.gql @@ -0,0 +1,8 @@ +query getRemainingStars($blockHash: String!, $contractAddress: String!, $_participant: String!){ + getRemainingStars(blockHash: $blockHash, contractAddress: $contractAddress, _participant: $_participant){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getSpawnCount.gql b/packages/linear-star-release-watcher/src/gql/queries/getSpawnCount.gql index 2edcff0..f990551 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getSpawnCount.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getSpawnCount.gql @@ -1,4 +1,4 @@ -query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnCount($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnCount(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getSpawnLimit.gql b/packages/linear-star-release-watcher/src/gql/queries/getSpawnLimit.gql index 14873c3..fe0174c 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getSpawnLimit.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getSpawnLimit.gql @@ -1,4 +1,4 @@ -query getSpawnLimit($blockHash: String!, $contractAddress: String!, $_point: Int!, $_time: BigInt!){ +query getSpawnLimit($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_time: BigInt!){ getSpawnLimit(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _time: $_time){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getSpawnProxy.gql b/packages/linear-star-release-watcher/src/gql/queries/getSpawnProxy.gql index fe536b2..f542279 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getSpawnProxy.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getSpawnProxy.gql @@ -1,4 +1,4 @@ -query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getSpawned.gql b/packages/linear-star-release-watcher/src/gql/queries/getSpawned.gql new file mode 100644 index 0000000..ab9ea11 --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getSpawned.gql @@ -0,0 +1,8 @@ +query getSpawned($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ + getSpawned(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getSpawningFor.gql b/packages/linear-star-release-watcher/src/gql/queries/getSpawningFor.gql new file mode 100644 index 0000000..5059aa6 --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getSpawningFor.gql @@ -0,0 +1,8 @@ +query getSpawningFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getSpawningFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getSponsor.gql b/packages/linear-star-release-watcher/src/gql/queries/getSponsor.gql index 9843916..56a5305 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getSponsor.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getSponsor.gql @@ -1,4 +1,4 @@ -query getSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getSponsoring.gql b/packages/linear-star-release-watcher/src/gql/queries/getSponsoring.gql new file mode 100644 index 0000000..cb6a4b4 --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getSponsoring.gql @@ -0,0 +1,8 @@ +query getSponsoring($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ + getSponsoring(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getSponsoringCount.gql b/packages/linear-star-release-watcher/src/gql/queries/getSponsoringCount.gql index 3d070dd..ee62745 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getSponsoringCount.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getSponsoringCount.gql @@ -1,4 +1,4 @@ -query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: Int!){ +query getSponsoringCount($blockHash: String!, $contractAddress: String!, $_sponsor: BigInt!){ getSponsoringCount(blockHash: $blockHash, contractAddress: $contractAddress, _sponsor: $_sponsor){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getTransferProxy.gql b/packages/linear-star-release-watcher/src/gql/queries/getTransferProxy.gql index 852fd2f..c14c0ab 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getTransferProxy.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getTransferProxy.gql @@ -1,4 +1,4 @@ -query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/getTransferringFor.gql b/packages/linear-star-release-watcher/src/gql/queries/getTransferringFor.gql new file mode 100644 index 0000000..0911c39 --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getTransferringFor.gql @@ -0,0 +1,8 @@ +query getTransferringFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getTransferringFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getUpgradeProposals.gql b/packages/linear-star-release-watcher/src/gql/queries/getUpgradeProposals.gql new file mode 100644 index 0000000..4cb89ce --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getUpgradeProposals.gql @@ -0,0 +1,8 @@ +query getUpgradeProposals($blockHash: String!, $contractAddress: String!){ + getUpgradeProposals(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getVotingFor.gql b/packages/linear-star-release-watcher/src/gql/queries/getVotingFor.gql new file mode 100644 index 0000000..30186d8 --- /dev/null +++ b/packages/linear-star-release-watcher/src/gql/queries/getVotingFor.gql @@ -0,0 +1,8 @@ +query getVotingFor($blockHash: String!, $contractAddress: String!, $_proxy: String!){ + getVotingFor(blockHash: $blockHash, contractAddress: $contractAddress, _proxy: $_proxy){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/linear-star-release-watcher/src/gql/queries/getVotingProxy.gql b/packages/linear-star-release-watcher/src/gql/queries/getVotingProxy.gql index 1f2f38a..49d37ab 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/getVotingProxy.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/getVotingProxy.gql @@ -1,4 +1,4 @@ -query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query getVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ getVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/hasBeenLinked.gql b/packages/linear-star-release-watcher/src/gql/queries/hasBeenLinked.gql index e9da67e..a50505c 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/hasBeenLinked.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/hasBeenLinked.gql @@ -1,4 +1,4 @@ -query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasBeenLinked($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasBeenLinked(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/hasSponsor.gql b/packages/linear-star-release-watcher/src/gql/queries/hasSponsor.gql index 3e804ed..0261c6e 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/hasSponsor.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/hasSponsor.gql @@ -1,4 +1,4 @@ -query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query hasSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ hasSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/index.ts b/packages/linear-star-release-watcher/src/gql/queries/index.ts index fb9c371..66822c9 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/index.ts +++ b/packages/linear-star-release-watcher/src/gql/queries/index.ts @@ -9,37 +9,48 @@ export const hasBeenLinked = fs.readFileSync(path.join(__dirname, 'hasBeenLinked export const isLive = fs.readFileSync(path.join(__dirname, 'isLive.gql'), 'utf8'); export const getContinuityNumber = fs.readFileSync(path.join(__dirname, 'getContinuityNumber.gql'), 'utf8'); export const getSpawnCount = fs.readFileSync(path.join(__dirname, 'getSpawnCount.gql'), 'utf8'); +export const getSpawned = fs.readFileSync(path.join(__dirname, 'getSpawned.gql'), 'utf8'); export const hasSponsor = fs.readFileSync(path.join(__dirname, 'hasSponsor.gql'), 'utf8'); export const getSponsor = fs.readFileSync(path.join(__dirname, 'getSponsor.gql'), 'utf8'); export const isSponsor = fs.readFileSync(path.join(__dirname, 'isSponsor.gql'), 'utf8'); export const getSponsoringCount = fs.readFileSync(path.join(__dirname, 'getSponsoringCount.gql'), 'utf8'); +export const getSponsoring = fs.readFileSync(path.join(__dirname, 'getSponsoring.gql'), 'utf8'); export const isEscaping = fs.readFileSync(path.join(__dirname, 'isEscaping.gql'), 'utf8'); export const getEscapeRequest = fs.readFileSync(path.join(__dirname, 'getEscapeRequest.gql'), 'utf8'); export const isRequestingEscapeTo = fs.readFileSync(path.join(__dirname, 'isRequestingEscapeTo.gql'), 'utf8'); export const getEscapeRequestsCount = fs.readFileSync(path.join(__dirname, 'getEscapeRequestsCount.gql'), 'utf8'); +export const getEscapeRequests = fs.readFileSync(path.join(__dirname, 'getEscapeRequests.gql'), 'utf8'); export const getOwner = fs.readFileSync(path.join(__dirname, 'getOwner.gql'), 'utf8'); export const isOwner = fs.readFileSync(path.join(__dirname, 'isOwner.gql'), 'utf8'); export const getOwnedPointCount = fs.readFileSync(path.join(__dirname, 'getOwnedPointCount.gql'), 'utf8'); +export const getOwnedPoints = fs.readFileSync(path.join(__dirname, 'getOwnedPoints.gql'), 'utf8'); export const getOwnedPointAtIndex = fs.readFileSync(path.join(__dirname, 'getOwnedPointAtIndex.gql'), 'utf8'); export const getManagementProxy = fs.readFileSync(path.join(__dirname, 'getManagementProxy.gql'), 'utf8'); export const isManagementProxy = fs.readFileSync(path.join(__dirname, 'isManagementProxy.gql'), 'utf8'); export const canManage = fs.readFileSync(path.join(__dirname, 'canManage.gql'), 'utf8'); export const getManagerForCount = fs.readFileSync(path.join(__dirname, 'getManagerForCount.gql'), 'utf8'); +export const getManagerFor = fs.readFileSync(path.join(__dirname, 'getManagerFor.gql'), 'utf8'); export const getSpawnProxy = fs.readFileSync(path.join(__dirname, 'getSpawnProxy.gql'), 'utf8'); export const isSpawnProxy = fs.readFileSync(path.join(__dirname, 'isSpawnProxy.gql'), 'utf8'); export const canSpawnAs = fs.readFileSync(path.join(__dirname, 'canSpawnAs.gql'), 'utf8'); export const getSpawningForCount = fs.readFileSync(path.join(__dirname, 'getSpawningForCount.gql'), 'utf8'); +export const getSpawningFor = fs.readFileSync(path.join(__dirname, 'getSpawningFor.gql'), 'utf8'); export const getVotingProxy = fs.readFileSync(path.join(__dirname, 'getVotingProxy.gql'), 'utf8'); export const isVotingProxy = fs.readFileSync(path.join(__dirname, 'isVotingProxy.gql'), 'utf8'); export const canVoteAs = fs.readFileSync(path.join(__dirname, 'canVoteAs.gql'), 'utf8'); export const getVotingForCount = fs.readFileSync(path.join(__dirname, 'getVotingForCount.gql'), 'utf8'); +export const getVotingFor = fs.readFileSync(path.join(__dirname, 'getVotingFor.gql'), 'utf8'); export const getTransferProxy = fs.readFileSync(path.join(__dirname, 'getTransferProxy.gql'), 'utf8'); export const isTransferProxy = fs.readFileSync(path.join(__dirname, 'isTransferProxy.gql'), 'utf8'); export const canTransfer = fs.readFileSync(path.join(__dirname, 'canTransfer.gql'), 'utf8'); export const getTransferringForCount = fs.readFileSync(path.join(__dirname, 'getTransferringForCount.gql'), 'utf8'); +export const getTransferringFor = fs.readFileSync(path.join(__dirname, 'getTransferringFor.gql'), 'utf8'); export const isOperator = fs.readFileSync(path.join(__dirname, 'isOperator.gql'), 'utf8'); +export const getUpgradeProposals = fs.readFileSync(path.join(__dirname, 'getUpgradeProposals.gql'), 'utf8'); export const getUpgradeProposalCount = fs.readFileSync(path.join(__dirname, 'getUpgradeProposalCount.gql'), 'utf8'); +export const getDocumentProposals = fs.readFileSync(path.join(__dirname, 'getDocumentProposals.gql'), 'utf8'); export const getDocumentProposalCount = fs.readFileSync(path.join(__dirname, 'getDocumentProposalCount.gql'), 'utf8'); +export const getDocumentMajorities = fs.readFileSync(path.join(__dirname, 'getDocumentMajorities.gql'), 'utf8'); export const hasVotedOnUpgradePoll = fs.readFileSync(path.join(__dirname, 'hasVotedOnUpgradePoll.gql'), 'utf8'); export const hasVotedOnDocumentPoll = fs.readFileSync(path.join(__dirname, 'hasVotedOnDocumentPoll.gql'), 'utf8'); export const findClaim = fs.readFileSync(path.join(__dirname, 'findClaim.gql'), 'utf8'); @@ -59,6 +70,7 @@ export const getSpawnLimit = fs.readFileSync(path.join(__dirname, 'getSpawnLimit export const canEscapeTo = fs.readFileSync(path.join(__dirname, 'canEscapeTo.gql'), 'utf8'); export const withdrawLimit = fs.readFileSync(path.join(__dirname, 'withdrawLimit.gql'), 'utf8'); export const verifyBalance = fs.readFileSync(path.join(__dirname, 'verifyBalance.gql'), 'utf8'); +export const getRemainingStars = fs.readFileSync(path.join(__dirname, 'getRemainingStars.gql'), 'utf8'); export const getSyncStatus = fs.readFileSync(path.join(__dirname, 'getSyncStatus.gql'), 'utf8'); export const getStateByCID = fs.readFileSync(path.join(__dirname, 'getStateByCID.gql'), 'utf8'); export const getState = fs.readFileSync(path.join(__dirname, 'getState.gql'), 'utf8'); diff --git a/packages/linear-star-release-watcher/src/gql/queries/isActive.gql b/packages/linear-star-release-watcher/src/gql/queries/isActive.gql index fe365a4..74bc87f 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/isActive.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/isActive.gql @@ -1,4 +1,4 @@ -query isActive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isActive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isActive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/isEscaping.gql b/packages/linear-star-release-watcher/src/gql/queries/isEscaping.gql index 89113e6..4ed499f 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/isEscaping.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/isEscaping.gql @@ -1,4 +1,4 @@ -query isEscaping($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isEscaping($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isEscaping(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/isLive.gql b/packages/linear-star-release-watcher/src/gql/queries/isLive.gql index ceaa49e..78a61fd 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/isLive.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/isLive.gql @@ -1,4 +1,4 @@ -query isLive($blockHash: String!, $contractAddress: String!, $_point: Int!){ +query isLive($blockHash: String!, $contractAddress: String!, $_point: BigInt!){ isLive(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/isManagementProxy.gql b/packages/linear-star-release-watcher/src/gql/queries/isManagementProxy.gql index c3484d6..64b7656 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/isManagementProxy.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/isManagementProxy.gql @@ -1,4 +1,4 @@ -query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isManagementProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isManagementProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/isOwner.gql b/packages/linear-star-release-watcher/src/gql/queries/isOwner.gql index 84dfc3b..9378225 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/isOwner.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/isOwner.gql @@ -1,4 +1,4 @@ -query isOwner($blockHash: String!, $contractAddress: String!, $_point: Int!, $_address: String!){ +query isOwner($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_address: String!){ isOwner(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _address: $_address){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/isRequestingEscapeTo.gql b/packages/linear-star-release-watcher/src/gql/queries/isRequestingEscapeTo.gql index bb2d6dd..f1c9afb 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/isRequestingEscapeTo.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/isRequestingEscapeTo.gql @@ -1,4 +1,4 @@ -query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isRequestingEscapeTo($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isRequestingEscapeTo(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/isSpawnProxy.gql b/packages/linear-star-release-watcher/src/gql/queries/isSpawnProxy.gql index 161923d..2223af6 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/isSpawnProxy.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/isSpawnProxy.gql @@ -1,4 +1,4 @@ -query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isSpawnProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isSpawnProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/isSponsor.gql b/packages/linear-star-release-watcher/src/gql/queries/isSponsor.gql index 4daff70..3e1b3cc 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/isSponsor.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/isSponsor.gql @@ -1,4 +1,4 @@ -query isSponsor($blockHash: String!, $contractAddress: String!, $_point: Int!, $_sponsor: Int!){ +query isSponsor($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_sponsor: BigInt!){ isSponsor(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _sponsor: $_sponsor){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/isTransferProxy.gql b/packages/linear-star-release-watcher/src/gql/queries/isTransferProxy.gql index 1057968..feccdf0 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/isTransferProxy.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/isTransferProxy.gql @@ -1,4 +1,4 @@ -query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isTransferProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isTransferProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/linear-star-release-watcher/src/gql/queries/isVotingProxy.gql b/packages/linear-star-release-watcher/src/gql/queries/isVotingProxy.gql index 28bdb0f..3bf33c8 100644 --- a/packages/linear-star-release-watcher/src/gql/queries/isVotingProxy.gql +++ b/packages/linear-star-release-watcher/src/gql/queries/isVotingProxy.gql @@ -1,4 +1,4 @@ -query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: Int!, $_proxy: String!){ +query isVotingProxy($blockHash: String!, $contractAddress: String!, $_point: BigInt!, $_proxy: String!){ isVotingProxy(blockHash: $blockHash, contractAddress: $contractAddress, _point: $_point, _proxy: $_proxy){ value proof{ diff --git a/packages/linear-star-release-watcher/src/indexer.ts b/packages/linear-star-release-watcher/src/indexer.ts index b5096a7..64a044d 100644 --- a/packages/linear-star-release-watcher/src/indexer.ts +++ b/packages/linear-star-release-watcher/src/indexer.ts @@ -94,7 +94,7 @@ export class Indexer implements IndexerInterface { return getResultEvent(event); } - async isActive (blockHash: string, contractAddress: string, _point: number): Promise { + async isActive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsActive({ blockHash, contractAddress, _point }); if (entity) { log('isActive: db hit.'); @@ -123,7 +123,7 @@ export class Indexer implements IndexerInterface { return result; } - async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getKeyRevisionNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetKeyRevisionNumber({ blockHash, contractAddress, _point }); if (entity) { log('getKeyRevisionNumber: db hit.'); @@ -143,7 +143,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + let value = await contract.getKeyRevisionNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -152,7 +154,7 @@ export class Indexer implements IndexerInterface { return result; } - async hasBeenLinked (blockHash: string, contractAddress: string, _point: number): Promise { + async hasBeenLinked (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasBeenLinked({ blockHash, contractAddress, _point }); if (entity) { log('hasBeenLinked: db hit.'); @@ -181,7 +183,7 @@ export class Indexer implements IndexerInterface { return result; } - async isLive (blockHash: string, contractAddress: string, _point: number): Promise { + async isLive (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsLive({ blockHash, contractAddress, _point }); if (entity) { log('isLive: db hit.'); @@ -210,7 +212,7 @@ export class Indexer implements IndexerInterface { return result; } - async getContinuityNumber (blockHash: string, contractAddress: string, _point: number): Promise { + async getContinuityNumber (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetContinuityNumber({ blockHash, contractAddress, _point }); if (entity) { log('getContinuityNumber: db hit.'); @@ -230,7 +232,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + let value = await contract.getContinuityNumber(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -239,7 +243,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnCount (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawnCount (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnCount({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnCount: db hit.'); @@ -259,7 +263,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + let value = await contract.getSpawnCount(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -268,7 +274,25 @@ export class Indexer implements IndexerInterface { return result; } - async hasSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawned (blockHash: string, contractAddress: string, _point: bigint): Promise { + log('getSpawned: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawned(_point, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async hasSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getHasSponsor({ blockHash, contractAddress, _point }); if (entity) { log('hasSponsor: db hit.'); @@ -297,7 +321,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsor (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsor (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSponsor({ blockHash, contractAddress, _point }); if (entity) { log('getSponsor: db hit.'); @@ -317,7 +341,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSponsor(_point, { blockTag: blockHash }); + let value = await contract.getSponsor(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -326,7 +352,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSponsor (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isSponsor (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsSponsor({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isSponsor: db hit.'); @@ -355,7 +381,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getSponsoringCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetSponsoringCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getSponsoringCount: db hit.'); @@ -386,7 +412,25 @@ export class Indexer implements IndexerInterface { return result; } - async isEscaping (blockHash: string, contractAddress: string, _point: number): Promise { + async getSponsoring (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getSponsoring: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSponsoring(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async isEscaping (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getIsEscaping({ blockHash, contractAddress, _point }); if (entity) { log('isEscaping: db hit.'); @@ -415,7 +459,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequest (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequest (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetEscapeRequest({ blockHash, contractAddress, _point }); if (entity) { log('getEscapeRequest: db hit.'); @@ -435,7 +479,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + let value = await contract.getEscapeRequest(_point, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -444,7 +490,7 @@ export class Indexer implements IndexerInterface { return result; } - async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async isRequestingEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getIsRequestingEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('isRequestingEscapeTo: db hit.'); @@ -473,7 +519,7 @@ export class Indexer implements IndexerInterface { return result; } - async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: number): Promise { + async getEscapeRequestsCount (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { const entity = await this._db.getGetEscapeRequestsCount({ blockHash, contractAddress, _sponsor }); if (entity) { log('getEscapeRequestsCount: db hit.'); @@ -504,7 +550,25 @@ export class Indexer implements IndexerInterface { return result; } - async getOwner (blockHash: string, contractAddress: string, _point: number): Promise { + async getEscapeRequests (blockHash: string, contractAddress: string, _sponsor: bigint): Promise { + log('getEscapeRequests: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getEscapeRequests(_sponsor, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getOwner (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetOwner({ blockHash, contractAddress, _point }); if (entity) { log('getOwner: db hit.'); @@ -533,7 +597,7 @@ export class Indexer implements IndexerInterface { return result; } - async isOwner (blockHash: string, contractAddress: string, _point: number, _address: string): Promise { + async isOwner (blockHash: string, contractAddress: string, _point: bigint, _address: string): Promise { const entity = await this._db.getIsOwner({ blockHash, contractAddress, _point, _address }); if (entity) { log('isOwner: db hit.'); @@ -593,6 +657,24 @@ export class Indexer implements IndexerInterface { return result; } + async getOwnedPoints (blockHash: string, contractAddress: string, _whose: string): Promise { + log('getOwnedPoints: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getOwnedPoints(_whose, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async getOwnedPointAtIndex (blockHash: string, contractAddress: string, _whose: string, _index: bigint): Promise { const entity = await this._db.getGetOwnedPointAtIndex({ blockHash, contractAddress, _whose, _index }); if (entity) { @@ -613,7 +695,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + let value = await contract.getOwnedPointAtIndex(_whose, _index, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -622,7 +706,7 @@ export class Indexer implements IndexerInterface { return result; } - async getManagementProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagementProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetManagementProxy({ blockHash, contractAddress, _point }); if (entity) { log('getManagementProxy: db hit.'); @@ -651,7 +735,7 @@ export class Indexer implements IndexerInterface { return result; } - async isManagementProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isManagementProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsManagementProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isManagementProxy: db hit.'); @@ -680,7 +764,7 @@ export class Indexer implements IndexerInterface { return result; } - async canManage (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canManage (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanManage({ blockHash, contractAddress, _point, _who }); if (entity) { log('canManage: db hit.'); @@ -740,7 +824,25 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getManagerFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getManagerFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getManagerFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getSpawnProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetSpawnProxy({ blockHash, contractAddress, _point }); if (entity) { log('getSpawnProxy: db hit.'); @@ -769,7 +871,7 @@ export class Indexer implements IndexerInterface { return result; } - async isSpawnProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isSpawnProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsSpawnProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isSpawnProxy: db hit.'); @@ -798,7 +900,7 @@ export class Indexer implements IndexerInterface { return result; } - async canSpawnAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canSpawnAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanSpawnAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canSpawnAs: db hit.'); @@ -858,7 +960,25 @@ export class Indexer implements IndexerInterface { return result; } - async getVotingProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getSpawningFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getSpawningFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getSpawningFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getVotingProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetVotingProxy({ blockHash, contractAddress, _point }); if (entity) { log('getVotingProxy: db hit.'); @@ -887,7 +1007,7 @@ export class Indexer implements IndexerInterface { return result; } - async isVotingProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isVotingProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsVotingProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isVotingProxy: db hit.'); @@ -916,7 +1036,7 @@ export class Indexer implements IndexerInterface { return result; } - async canVoteAs (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canVoteAs (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanVoteAs({ blockHash, contractAddress, _point, _who }); if (entity) { log('canVoteAs: db hit.'); @@ -976,7 +1096,25 @@ export class Indexer implements IndexerInterface { return result; } - async getTransferProxy (blockHash: string, contractAddress: string, _point: number): Promise { + async getVotingFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getVotingFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getVotingFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + + async getTransferProxy (blockHash: string, contractAddress: string, _point: bigint): Promise { const entity = await this._db.getGetTransferProxy({ blockHash, contractAddress, _point }); if (entity) { log('getTransferProxy: db hit.'); @@ -1005,7 +1143,7 @@ export class Indexer implements IndexerInterface { return result; } - async isTransferProxy (blockHash: string, contractAddress: string, _point: number, _proxy: string): Promise { + async isTransferProxy (blockHash: string, contractAddress: string, _point: bigint, _proxy: string): Promise { const entity = await this._db.getIsTransferProxy({ blockHash, contractAddress, _point, _proxy }); if (entity) { log('isTransferProxy: db hit.'); @@ -1034,7 +1172,7 @@ export class Indexer implements IndexerInterface { return result; } - async canTransfer (blockHash: string, contractAddress: string, _point: number, _who: string): Promise { + async canTransfer (blockHash: string, contractAddress: string, _point: bigint, _who: string): Promise { const entity = await this._db.getCanTransfer({ blockHash, contractAddress, _point, _who }); if (entity) { log('canTransfer: db hit.'); @@ -1094,6 +1232,24 @@ export class Indexer implements IndexerInterface { return result; } + async getTransferringFor (blockHash: string, contractAddress: string, _proxy: string): Promise { + log('getTransferringFor: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + let value = await contract.getTransferringFor(_proxy, { blockTag: blockHash }); + value = value.map((val: ethers.BigNumber) => ethers.BigNumber.from(val).toBigInt()); + + const result: ValueResult = { value }; + + return result; + } + async isOperator (blockHash: string, contractAddress: string, _owner: string, _operator: string): Promise { const entity = await this._db.getIsOperator({ blockHash, contractAddress, _owner, _operator }); if (entity) { @@ -1123,6 +1279,23 @@ export class Indexer implements IndexerInterface { return result; } + async getUpgradeProposals (blockHash: string, contractAddress: string): Promise { + log('getUpgradeProposals: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getUpgradeProposals({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getUpgradeProposalCount (blockHash: string, contractAddress: string): Promise { const entity = await this._db.getGetUpgradeProposalCount({ blockHash, contractAddress }); if (entity) { @@ -1154,6 +1327,23 @@ export class Indexer implements IndexerInterface { return result; } + async getDocumentProposals (blockHash: string, contractAddress: string): Promise { + log('getDocumentProposals: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getDocumentProposals({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getDocumentProposalCount (blockHash: string, contractAddress: string): Promise { const entity = await this._db.getGetDocumentProposalCount({ blockHash, contractAddress }); if (entity) { @@ -1185,6 +1375,23 @@ export class Indexer implements IndexerInterface { return result; } + async getDocumentMajorities (blockHash: string, contractAddress: string): Promise { + log('getDocumentMajorities: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getDocumentMajorities({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async hasVotedOnUpgradePoll (blockHash: string, contractAddress: string, _galaxy: number, _proposal: string): Promise { const entity = await this._db.getHasVotedOnUpgradePoll({ blockHash, contractAddress, _galaxy, _proposal }); if (entity) { @@ -1243,7 +1450,7 @@ export class Indexer implements IndexerInterface { return result; } - async findClaim (blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string): Promise { + async findClaim (blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string): Promise { const entity = await this._db.getFindClaim({ blockHash, contractAddress, _whose, _protocol, _claim }); if (entity) { log('findClaim: db hit.'); @@ -1628,7 +1835,7 @@ export class Indexer implements IndexerInterface { return result; } - async getSpawnLimit (blockHash: string, contractAddress: string, _point: number, _time: bigint): Promise { + async getSpawnLimit (blockHash: string, contractAddress: string, _point: bigint, _time: bigint): Promise { const entity = await this._db.getGetSpawnLimit({ blockHash, contractAddress, _point, _time }); if (entity) { log('getSpawnLimit: db hit.'); @@ -1648,7 +1855,9 @@ export class Indexer implements IndexerInterface { assert(abi); const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getSpawnLimit(_point, _time, { blockTag: blockHash }); + let value = await contract.getSpawnLimit(_point, _time, { blockTag: blockHash }); + value = value.toString(); + value = BigInt(value); const result: ValueResult = { value }; @@ -1657,7 +1866,7 @@ export class Indexer implements IndexerInterface { return result; } - async canEscapeTo (blockHash: string, contractAddress: string, _point: number, _sponsor: number): Promise { + async canEscapeTo (blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint): Promise { const entity = await this._db.getCanEscapeTo({ blockHash, contractAddress, _point, _sponsor }); if (entity) { log('canEscapeTo: db hit.'); @@ -1744,6 +1953,23 @@ export class Indexer implements IndexerInterface { return result; } + async getRemainingStars (blockHash: string, contractAddress: string, _participant: string): Promise { + log('getRemainingStars: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_LINEARSTARRELEASE); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getRemainingStars(_participant, { blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getStorageValue (storageLayout: StorageLayout, blockHash: string, contractAddress: string, variable: string, ...mappingKeys: MappingKey[]): Promise { return this._baseIndexer.getStorageValue( storageLayout, diff --git a/packages/linear-star-release-watcher/src/resolvers.ts b/packages/linear-star-release-watcher/src/resolvers.ts index 3e879cb..b25079e 100644 --- a/packages/linear-star-release-watcher/src/resolvers.ts +++ b/packages/linear-star-release-watcher/src/resolvers.ts @@ -71,7 +71,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher Query: { isActive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -87,7 +87,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getKeyRevisionNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -103,7 +103,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher hasBeenLinked: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -119,7 +119,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isLive: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -135,7 +135,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getContinuityNumber: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -151,7 +151,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnCount: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -165,9 +165,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawnCount(blockHash, contractAddress, _point); }, + getSpawned: ( + _: any, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawned', blockHash, contractAddress, _point); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawned').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawned(blockHash, contractAddress, _point); + }, + hasSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -183,7 +199,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsor: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -199,7 +215,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSponsor: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -215,7 +231,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSponsoringCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -229,9 +245,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSponsoringCount(blockHash, contractAddress, _sponsor); }, + getSponsoring: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSponsoring', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSponsoring').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSponsoring(blockHash, contractAddress, _sponsor); + }, + isEscaping: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -247,7 +279,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequest: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -263,7 +295,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isRequestingEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -279,7 +311,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getEscapeRequestsCount: ( _: any, - { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: number }, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -293,9 +325,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getEscapeRequestsCount(blockHash, contractAddress, _sponsor); }, + getEscapeRequests: ( + _: any, + { blockHash, contractAddress, _sponsor }: { blockHash: string, contractAddress: string, _sponsor: bigint }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getEscapeRequests', blockHash, contractAddress, _sponsor); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getEscapeRequests').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getEscapeRequests(blockHash, contractAddress, _sponsor); + }, + getOwner: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -311,7 +359,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isOwner: ( _: any, - { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: number, _address: string }, + { blockHash, contractAddress, _point, _address }: { blockHash: string, contractAddress: string, _point: bigint, _address: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -341,6 +389,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getOwnedPointCount(blockHash, contractAddress, _whose); }, + getOwnedPoints: ( + _: any, + { blockHash, contractAddress, _whose }: { blockHash: string, contractAddress: string, _whose: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getOwnedPoints', blockHash, contractAddress, _whose); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getOwnedPoints').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getOwnedPoints(blockHash, contractAddress, _whose); + }, + getOwnedPointAtIndex: ( _: any, { blockHash, contractAddress, _whose, _index }: { blockHash: string, contractAddress: string, _whose: string, _index: bigint }, @@ -359,7 +423,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getManagementProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -375,7 +439,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isManagementProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -391,7 +455,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canManage: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -421,9 +485,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getManagerForCount(blockHash, contractAddress, _proxy); }, + getManagerFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getManagerFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getManagerFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getManagerFor(blockHash, contractAddress, _proxy); + }, + getSpawnProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -439,7 +519,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isSpawnProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -455,7 +535,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canSpawnAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -485,9 +565,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getSpawningForCount(blockHash, contractAddress, _proxy); }, + getSpawningFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getSpawningFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSpawningFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getSpawningFor(blockHash, contractAddress, _proxy); + }, + getVotingProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -503,7 +599,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isVotingProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -519,7 +615,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canVoteAs: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -549,9 +645,25 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getVotingForCount(blockHash, contractAddress, _proxy); }, + getVotingFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getVotingFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getVotingFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getVotingFor(blockHash, contractAddress, _proxy); + }, + getTransferProxy: ( _: any, - { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: number }, + { blockHash, contractAddress, _point }: { blockHash: string, contractAddress: string, _point: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -567,7 +679,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher isTransferProxy: ( _: any, - { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: number, _proxy: string }, + { blockHash, contractAddress, _point, _proxy }: { blockHash: string, contractAddress: string, _point: bigint, _proxy: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -583,7 +695,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canTransfer: ( _: any, - { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: number, _who: string }, + { blockHash, contractAddress, _point, _who }: { blockHash: string, contractAddress: string, _point: bigint, _who: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -613,6 +725,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getTransferringForCount(blockHash, contractAddress, _proxy); }, + getTransferringFor: ( + _: any, + { blockHash, contractAddress, _proxy }: { blockHash: string, contractAddress: string, _proxy: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getTransferringFor', blockHash, contractAddress, _proxy); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getTransferringFor').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getTransferringFor(blockHash, contractAddress, _proxy); + }, + isOperator: ( _: any, { blockHash, contractAddress, _owner, _operator }: { blockHash: string, contractAddress: string, _owner: string, _operator: string }, @@ -629,6 +757,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.isOperator(blockHash, contractAddress, _owner, _operator); }, + getUpgradeProposals: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getUpgradeProposals', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getUpgradeProposals').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getUpgradeProposals(blockHash, contractAddress); + }, + getUpgradeProposalCount: ( _: any, { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, @@ -645,6 +789,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getUpgradeProposalCount(blockHash, contractAddress); }, + getDocumentProposals: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getDocumentProposals', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getDocumentProposals').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getDocumentProposals(blockHash, contractAddress); + }, + getDocumentProposalCount: ( _: any, { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, @@ -661,6 +821,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getDocumentProposalCount(blockHash, contractAddress); }, + getDocumentMajorities: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getDocumentMajorities', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getDocumentMajorities').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getDocumentMajorities(blockHash, contractAddress); + }, + hasVotedOnUpgradePoll: ( _: any, { blockHash, contractAddress, _galaxy, _proposal }: { blockHash: string, contractAddress: string, _galaxy: number, _proposal: string }, @@ -695,7 +871,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher findClaim: ( _: any, - { blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: number, _protocol: string, _claim: string }, + { blockHash, contractAddress, _whose, _protocol, _claim }: { blockHash: string, contractAddress: string, _whose: bigint, _protocol: string, _claim: string }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -903,7 +1079,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher getSpawnLimit: ( _: any, - { blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: number, _time: bigint }, + { blockHash, contractAddress, _point, _time }: { blockHash: string, contractAddress: string, _point: bigint, _time: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -919,7 +1095,7 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher canEscapeTo: ( _: any, - { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: number, _sponsor: number }, + { blockHash, contractAddress, _point, _sponsor }: { blockHash: string, contractAddress: string, _point: bigint, _sponsor: bigint }, __: any, info: GraphQLResolveInfo ): Promise => { @@ -965,6 +1141,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.verifyBalance(blockHash, contractAddress, _participant); }, + getRemainingStars: ( + _: any, + { blockHash, contractAddress, _participant }: { blockHash: string, contractAddress: string, _participant: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getRemainingStars', blockHash, contractAddress, _participant); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getRemainingStars').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getRemainingStars(blockHash, contractAddress, _participant); + }, + events: async (_: any, { blockHash, contractAddress, name }: { blockHash: string, contractAddress: string, name?: string }) => { log('events', blockHash, contractAddress, name); gqlTotalQueryCount.inc(1); diff --git a/packages/linear-star-release-watcher/src/schema.gql b/packages/linear-star-release-watcher/src/schema.gql index e0266ed..f64be0f 100644 --- a/packages/linear-star-release-watcher/src/schema.gql +++ b/packages/linear-star-release-watcher/src/schema.gql @@ -15,26 +15,6 @@ type Proof { data: String! } -type ResultBoolean { - value: Boolean! - proof: Proof -} - -type ResultString { - value: String! - proof: Proof -} - -type ResultInt { - value: Int! - proof: Proof -} - -type ResultBigInt { - value: BigInt! - proof: Proof -} - type _Block_ { cid: String! hash: String! @@ -88,46 +68,57 @@ type ResultState { type Query { events(blockHash: String!, contractAddress: String!, name: String): [ResultEvent!] eventsInRange(fromBlockNumber: Int!, toBlockNumber: Int!): [ResultEvent!] - isActive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasBeenLinked(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - isLive(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getContinuityNumber(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - getSpawnCount(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - hasSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getSponsor(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isSponsor(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - isEscaping(blockHash: String!, contractAddress: String!, _point: Int!): ResultBoolean! - getEscapeRequest(blockHash: String!, contractAddress: String!, _point: Int!): ResultInt! - isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! - getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: Int!): ResultBigInt! - getOwner(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isOwner(blockHash: String!, contractAddress: String!, _point: Int!, _address: String!): ResultBoolean! + isActive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getKeyRevisionNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + hasBeenLinked(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + isLive(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getContinuityNumber(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawnCount(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + getSpawned(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigIntArray! + hasSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isSponsor(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getSponsoringCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getSponsoring(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + isEscaping(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBoolean! + getEscapeRequest(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultBigInt! + isRequestingEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! + getEscapeRequestsCount(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigInt! + getEscapeRequests(blockHash: String!, contractAddress: String!, _sponsor: BigInt!): ResultBigIntArray! + getOwner(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isOwner(blockHash: String!, contractAddress: String!, _point: BigInt!, _address: String!): ResultBoolean! getOwnedPointCount(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigInt! - getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultInt! - getManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isManagementProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canManage(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getOwnedPoints(blockHash: String!, contractAddress: String!, _whose: String!): ResultBigIntArray! + getOwnedPointAtIndex(blockHash: String!, contractAddress: String!, _whose: String!, _index: BigInt!): ResultBigInt! + getManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isManagementProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canManage(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getManagerForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isSpawnProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canSpawnAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getManagerFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isSpawnProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canSpawnAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getSpawningForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isVotingProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canVoteAs(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getSpawningFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isVotingProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canVoteAs(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getVotingForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! - getTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!): ResultString! - isTransferProxy(blockHash: String!, contractAddress: String!, _point: Int!, _proxy: String!): ResultBoolean! - canTransfer(blockHash: String!, contractAddress: String!, _point: Int!, _who: String!): ResultBoolean! + getVotingFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! + getTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!): ResultString! + isTransferProxy(blockHash: String!, contractAddress: String!, _point: BigInt!, _proxy: String!): ResultBoolean! + canTransfer(blockHash: String!, contractAddress: String!, _point: BigInt!, _who: String!): ResultBoolean! getTransferringForCount(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigInt! + getTransferringFor(blockHash: String!, contractAddress: String!, _proxy: String!): ResultBigIntArray! isOperator(blockHash: String!, contractAddress: String!, _owner: String!, _operator: String!): ResultBoolean! + getUpgradeProposals(blockHash: String!, contractAddress: String!): ResultStringArray! getUpgradeProposalCount(blockHash: String!, contractAddress: String!): ResultBigInt! + getDocumentProposals(blockHash: String!, contractAddress: String!): ResultStringArray! getDocumentProposalCount(blockHash: String!, contractAddress: String!): ResultBigInt! + getDocumentMajorities(blockHash: String!, contractAddress: String!): ResultStringArray! hasVotedOnUpgradePoll(blockHash: String!, contractAddress: String!, _galaxy: Int!, _proposal: String!): ResultBoolean! hasVotedOnDocumentPoll(blockHash: String!, contractAddress: String!, _galaxy: Int!, _proposal: String!): ResultBoolean! - findClaim(blockHash: String!, contractAddress: String!, _whose: Int!, _protocol: String!, _claim: String!): ResultInt! + findClaim(blockHash: String!, contractAddress: String!, _whose: BigInt!, _protocol: String!, _claim: String!): ResultInt! supportsInterface(blockHash: String!, contractAddress: String!, _interfaceId: String!): ResultBoolean! balanceOf(blockHash: String!, contractAddress: String!, _owner: String!): ResultBigInt! ownerOf(blockHash: String!, contractAddress: String!, _tokenId: BigInt!): ResultString! @@ -140,15 +131,51 @@ type Query { name(blockHash: String!, contractAddress: String!): ResultString! symbol(blockHash: String!, contractAddress: String!): ResultString! tokenURI(blockHash: String!, contractAddress: String!, _tokenId: BigInt!): ResultString! - getSpawnLimit(blockHash: String!, contractAddress: String!, _point: Int!, _time: BigInt!): ResultInt! - canEscapeTo(blockHash: String!, contractAddress: String!, _point: Int!, _sponsor: Int!): ResultBoolean! + getSpawnLimit(blockHash: String!, contractAddress: String!, _point: BigInt!, _time: BigInt!): ResultBigInt! + canEscapeTo(blockHash: String!, contractAddress: String!, _point: BigInt!, _sponsor: BigInt!): ResultBoolean! withdrawLimit(blockHash: String!, contractAddress: String!, _participant: String!): ResultInt! verifyBalance(blockHash: String!, contractAddress: String!, _participant: String!): ResultBoolean! + getRemainingStars(blockHash: String!, contractAddress: String!, _participant: String!): ResultIntArray! getSyncStatus: SyncStatus getStateByCID(cid: String!): ResultState getState(blockHash: String!, contractAddress: String!, kind: String): ResultState } +type ResultBoolean { + value: Boolean! + proof: Proof +} + +type ResultBigInt { + value: BigInt! + proof: Proof +} + +type ResultBigIntArray { + value: [BigInt!]! + proof: Proof +} + +type ResultString { + value: String! + proof: Proof +} + +type ResultStringArray { + value: [String!]! + proof: Proof +} + +type ResultInt { + value: Int! + proof: Proof +} + +type ResultIntArray { + value: [Int!]! + proof: Proof +} + type Mutation { watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean! } diff --git a/packages/polls-watcher/package.json b/packages/polls-watcher/package.json index 2b99ab0..0677bc5 100644 --- a/packages/polls-watcher/package.json +++ b/packages/polls-watcher/package.json @@ -5,7 +5,7 @@ "private": true, "main": "dist/index.js", "scripts": { - "lint": "eslint .", + "lint": "eslint --max-warnings=0 .", "build": "yarn clean && tsc && yarn copy-assets", "clean": "rm -rf ./dist", "copy-assets": "copyfiles -u 1 src/**/*.gql dist/", @@ -38,10 +38,10 @@ "dependencies": { "@apollo/client": "^3.3.19", "@ethersproject/providers": "^5.4.4", - "@cerc-io/cli": "^0.2.34", - "@cerc-io/ipld-eth-client": "^0.2.34", - "@cerc-io/solidity-mapper": "^0.2.34", - "@cerc-io/util": "^0.2.34", + "@cerc-io/cli": "^0.2.39", + "@cerc-io/ipld-eth-client": "^0.2.39", + "@cerc-io/solidity-mapper": "^0.2.39", + "@cerc-io/util": "^0.2.39", "apollo-type-bigint": "^0.1.3", "debug": "^4.3.1", "ethers": "^5.4.4", @@ -56,7 +56,7 @@ "@ethersproject/abi": "^5.3.0", "@types/yargs": "^17.0.0", "@types/debug": "^4.1.5", - "@types/json-bigint": "^1.0.1", + "@types/json-bigint": "^1.0.0", "@typescript-eslint/eslint-plugin": "^5.47.1", "@typescript-eslint/parser": "^5.47.1", "eslint": "^8.35.0", diff --git a/packages/polls-watcher/src/database.ts b/packages/polls-watcher/src/database.ts index 59f548c..2e725c1 100644 --- a/packages/polls-watcher/src/database.ts +++ b/packages/polls-watcher/src/database.ts @@ -20,15 +20,12 @@ import { SyncStatus } from './entity/SyncStatus'; import { StateSyncStatus } from './entity/StateSyncStatus'; import { BlockProgress } from './entity/BlockProgress'; import { State } from './entity/State'; -import { GetUpgradeProposals } from './entity/GetUpgradeProposals'; import { GetUpgradeProposalCount } from './entity/GetUpgradeProposalCount'; -import { GetDocumentProposals } from './entity/GetDocumentProposals'; import { GetDocumentProposalCount } from './entity/GetDocumentProposalCount'; import { HasVotedOnUpgradePoll } from './entity/HasVotedOnUpgradePoll'; import { HasVotedOnDocumentPoll } from './entity/HasVotedOnDocumentPoll'; -import { GetDocumentMajorities } from './entity/GetDocumentMajorities'; -export const ENTITIES = [GetUpgradeProposals, GetUpgradeProposalCount, GetDocumentMajorities, GetDocumentProposals, GetDocumentProposalCount, HasVotedOnUpgradePoll, HasVotedOnDocumentPoll]; +export const ENTITIES = [GetUpgradeProposalCount, GetDocumentProposalCount, HasVotedOnUpgradePoll, HasVotedOnDocumentPoll]; export class Database implements DatabaseInterface { _config: ConnectionOptions; @@ -61,14 +58,6 @@ export class Database implements DatabaseInterface { return this._baseDatabase.close(); } - async getGetUpgradeProposals ({ blockHash, contractAddress }: { blockHash: string, contractAddress: string }): Promise { - return this._conn.getRepository(GetUpgradeProposals) - .findOne({ - blockHash, - contractAddress - }); - } - async getGetUpgradeProposalCount ({ blockHash, contractAddress }: { blockHash: string, contractAddress: string }): Promise { return this._conn.getRepository(GetUpgradeProposalCount) .findOne({ @@ -77,22 +66,6 @@ export class Database implements DatabaseInterface { }); } - async getGetDocumentProposals ({ blockHash, contractAddress }: { blockHash: string, contractAddress: string }): Promise { - return this._conn.getRepository(GetDocumentProposals) - .findOne({ - blockHash, - contractAddress - }); - } - - async getGetDocumentMajorities ({ blockHash, contractAddress }: { blockHash: string, contractAddress: string }): Promise { - return this._conn.getRepository(GetDocumentMajorities) - .findOne({ - blockHash, - contractAddress - }); - } - async getGetDocumentProposalCount ({ blockHash, contractAddress }: { blockHash: string, contractAddress: string }): Promise { return this._conn.getRepository(GetDocumentProposalCount) .findOne({ @@ -121,30 +94,12 @@ export class Database implements DatabaseInterface { }); } - async saveGetUpgradeProposals ({ blockHash, blockNumber, contractAddress, value, proof }: DeepPartial): Promise { - const repo = this._conn.getRepository(GetUpgradeProposals); - const entity = repo.create({ blockHash, blockNumber, contractAddress, value, proof }); - return repo.save(entity); - } - async saveGetUpgradeProposalCount ({ blockHash, blockNumber, contractAddress, value, proof }: DeepPartial): Promise { const repo = this._conn.getRepository(GetUpgradeProposalCount); const entity = repo.create({ blockHash, blockNumber, contractAddress, value, proof }); return repo.save(entity); } - async saveGetDocumentProposals ({ blockHash, blockNumber, contractAddress, value, proof }: DeepPartial): Promise { - const repo = this._conn.getRepository(GetDocumentProposals); - const entity = repo.create({ blockHash, blockNumber, contractAddress, value, proof }); - return repo.save(entity); - } - - async saveGetDocumentMajorities ({ blockHash, blockNumber, contractAddress, value, proof }: DeepPartial): Promise { - const repo = this._conn.getRepository(GetDocumentMajorities); - const entity = repo.create({ blockHash, blockNumber, contractAddress, value, proof }); - return repo.save(entity); - } - async saveGetDocumentProposalCount ({ blockHash, blockNumber, contractAddress, value, proof }: DeepPartial): Promise { const repo = this._conn.getRepository(GetDocumentProposalCount); const entity = repo.create({ blockHash, blockNumber, contractAddress, value, proof }); @@ -368,9 +323,6 @@ export class Database implements DatabaseInterface { } _setPropColMaps (): void { - this._propColMaps.GetUpgradeProposals = this._getPropertyColumnMapForEntity('GetUpgradeProposals'); - this._propColMaps.GetDocumentProposals = this._getPropertyColumnMapForEntity('GetDocumentProposals'); - this._propColMaps.GetDocumentMajorities = this._getPropertyColumnMapForEntity('GetDocumentMajorities'); this._propColMaps.GetUpgradeProposalCount = this._getPropertyColumnMapForEntity('GetUpgradeProposalCount'); this._propColMaps.GetDocumentProposalCount = this._getPropertyColumnMapForEntity('GetDocumentProposalCount'); this._propColMaps.HasVotedOnUpgradePoll = this._getPropertyColumnMapForEntity('HasVotedOnUpgradePoll'); diff --git a/packages/polls-watcher/src/gql/queries/getDocumentMajorities.gql b/packages/polls-watcher/src/gql/queries/getDocumentMajorities.gql new file mode 100644 index 0000000..89fd856 --- /dev/null +++ b/packages/polls-watcher/src/gql/queries/getDocumentMajorities.gql @@ -0,0 +1,8 @@ +query getDocumentMajorities($blockHash: String!, $contractAddress: String!){ + getDocumentMajorities(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/polls-watcher/src/gql/queries/getDocumentProposals.gql b/packages/polls-watcher/src/gql/queries/getDocumentProposals.gql new file mode 100644 index 0000000..75b30c2 --- /dev/null +++ b/packages/polls-watcher/src/gql/queries/getDocumentProposals.gql @@ -0,0 +1,8 @@ +query getDocumentProposals($blockHash: String!, $contractAddress: String!){ + getDocumentProposals(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/polls-watcher/src/gql/queries/getUpgradeProposals.gql b/packages/polls-watcher/src/gql/queries/getUpgradeProposals.gql new file mode 100644 index 0000000..4cb89ce --- /dev/null +++ b/packages/polls-watcher/src/gql/queries/getUpgradeProposals.gql @@ -0,0 +1,8 @@ +query getUpgradeProposals($blockHash: String!, $contractAddress: String!){ + getUpgradeProposals(blockHash: $blockHash, contractAddress: $contractAddress){ + value + proof{ + data + } + } +} \ No newline at end of file diff --git a/packages/polls-watcher/src/gql/queries/index.ts b/packages/polls-watcher/src/gql/queries/index.ts index 2f09b6d..8708e36 100644 --- a/packages/polls-watcher/src/gql/queries/index.ts +++ b/packages/polls-watcher/src/gql/queries/index.ts @@ -3,8 +3,11 @@ import path from 'path'; export const events = fs.readFileSync(path.join(__dirname, 'events.gql'), 'utf8'); export const eventsInRange = fs.readFileSync(path.join(__dirname, 'eventsInRange.gql'), 'utf8'); +export const getUpgradeProposals = fs.readFileSync(path.join(__dirname, 'getUpgradeProposals.gql'), 'utf8'); export const getUpgradeProposalCount = fs.readFileSync(path.join(__dirname, 'getUpgradeProposalCount.gql'), 'utf8'); +export const getDocumentProposals = fs.readFileSync(path.join(__dirname, 'getDocumentProposals.gql'), 'utf8'); export const getDocumentProposalCount = fs.readFileSync(path.join(__dirname, 'getDocumentProposalCount.gql'), 'utf8'); +export const getDocumentMajorities = fs.readFileSync(path.join(__dirname, 'getDocumentMajorities.gql'), 'utf8'); export const hasVotedOnUpgradePoll = fs.readFileSync(path.join(__dirname, 'hasVotedOnUpgradePoll.gql'), 'utf8'); export const hasVotedOnDocumentPoll = fs.readFileSync(path.join(__dirname, 'hasVotedOnDocumentPoll.gql'), 'utf8'); export const getSyncStatus = fs.readFileSync(path.join(__dirname, 'getSyncStatus.gql'), 'utf8'); diff --git a/packages/polls-watcher/src/indexer.ts b/packages/polls-watcher/src/indexer.ts index e295296..db7f463 100644 --- a/packages/polls-watcher/src/indexer.ts +++ b/packages/polls-watcher/src/indexer.ts @@ -95,16 +95,6 @@ export class Indexer implements IndexerInterface { } async getUpgradeProposals (blockHash: string, contractAddress: string): Promise { - const entity = await this._db.getGetUpgradeProposals({ blockHash, contractAddress }); - if (entity) { - log('getUpgradeProposals: db hit.'); - - return { - value: entity.value, - proof: JSON.parse(entity.proof) - }; - } - log('getUpgradeProposals: db miss, fetching from upstream server'); const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); @@ -117,7 +107,6 @@ export class Indexer implements IndexerInterface { const value = await contract.getUpgradeProposals({ blockTag: blockHash }); const result: ValueResult = { value }; - await this._db.saveGetUpgradeProposals({ blockHash, blockNumber, contractAddress, value: result.value, proof: JSONbigNative.stringify(result.proof) }); return result; } @@ -153,6 +142,23 @@ export class Indexer implements IndexerInterface { return result; } + async getDocumentProposals (blockHash: string, contractAddress: string): Promise { + log('getDocumentProposals: db miss, fetching from upstream server'); + + const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); + const blockNumber = ethers.BigNumber.from(number).toNumber(); + + const abi = this._abiMap.get(KIND_POLLS); + assert(abi); + + const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); + const value = await contract.getDocumentProposals({ blockTag: blockHash }); + + const result: ValueResult = { value }; + + return result; + } + async getDocumentProposalCount (blockHash: string, contractAddress: string): Promise { const entity = await this._db.getGetDocumentProposalCount({ blockHash, contractAddress }); if (entity) { @@ -185,16 +191,6 @@ export class Indexer implements IndexerInterface { } async getDocumentMajorities (blockHash: string, contractAddress: string): Promise { - const entity = await this._db.getGetDocumentMajorities({ blockHash, contractAddress }); - if (entity) { - log('getDocumentMajorities: db hit.'); - - return { - value: entity.value, - proof: JSON.parse(entity.proof) - }; - } - log('getDocumentMajorities: db miss, fetching from upstream server'); const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); @@ -208,37 +204,6 @@ export class Indexer implements IndexerInterface { const result: ValueResult = { value }; - await this._db.saveGetDocumentMajorities({ blockHash, blockNumber, contractAddress, value: result.value, proof: JSONbigNative.stringify(result.proof) }); - - return result; - } - - async getDocumentProposals (blockHash: string, contractAddress: string): Promise { - const entity = await this._db.getGetDocumentProposals({ blockHash, contractAddress }); - if (entity) { - log('getDocumentProposals: db hit.'); - - return { - value: entity.value, - proof: JSON.parse(entity.proof) - }; - } - - log('getDocumentProposals: db miss, fetching from upstream server'); - - const { block: { number } } = await this._ethClient.getBlockByHash(blockHash); - const blockNumber = ethers.BigNumber.from(number).toNumber(); - - const abi = this._abiMap.get(KIND_POLLS); - assert(abi); - - const contract = new ethers.Contract(contractAddress, abi, this._ethProvider); - const value = await contract.getDocumentProposals({ blockTag: blockHash }); - - const result: ValueResult = { value }; - - await this._db.saveGetDocumentProposals({ blockHash, blockNumber, contractAddress, value: result.value, proof: JSONbigNative.stringify(result.proof) }); - return result; } diff --git a/packages/polls-watcher/src/resolvers.ts b/packages/polls-watcher/src/resolvers.ts index 81c74af..f02318f 100644 --- a/packages/polls-watcher/src/resolvers.ts +++ b/packages/polls-watcher/src/resolvers.ts @@ -101,22 +101,6 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getUpgradeProposalCount(blockHash, contractAddress); }, - getDocumentProposalCount: ( - _: any, - { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, - __: any, - info: GraphQLResolveInfo - ): Promise => { - log('getDocumentProposalCount', blockHash, contractAddress); - gqlTotalQueryCount.inc(1); - gqlQueryCount.labels('getDocumentProposalCount').inc(1); - - // Set cache-control hints - // setGQLCacheHints(info, {}, gqlCacheConfig); - - return indexer.getDocumentProposalCount(blockHash, contractAddress); - }, - getDocumentProposals: ( _: any, { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, @@ -133,6 +117,22 @@ export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher return indexer.getDocumentProposals(blockHash, contractAddress); }, + getDocumentProposalCount: ( + _: any, + { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, + __: any, + info: GraphQLResolveInfo + ): Promise => { + log('getDocumentProposalCount', blockHash, contractAddress); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getDocumentProposalCount').inc(1); + + // Set cache-control hints + // setGQLCacheHints(info, {}, gqlCacheConfig); + + return indexer.getDocumentProposalCount(blockHash, contractAddress); + }, + getDocumentMajorities: ( _: any, { blockHash, contractAddress }: { blockHash: string, contractAddress: string }, diff --git a/packages/polls-watcher/src/schema.gql b/packages/polls-watcher/src/schema.gql index aff4070..c3896e5 100644 --- a/packages/polls-watcher/src/schema.gql +++ b/packages/polls-watcher/src/schema.gql @@ -15,31 +15,6 @@ type Proof { data: String! } -type ResultBoolean { - value: Boolean! - proof: Proof -} - -type ResultString { - value: String! - proof: Proof -} - -type ResultStringArray { - value: [String!] - proof: Proof -} - -type ResultInt { - value: Int! - proof: Proof -} - -type ResultBigInt { - value: BigInt! - proof: Proof -} - type _Block_ { cid: String! hash: String! @@ -109,11 +84,11 @@ type ResultState { type Query { events(blockHash: String!, contractAddress: String!, name: String): [ResultEvent!] eventsInRange(fromBlockNumber: Int!, toBlockNumber: Int!): [ResultEvent!] + getUpgradeProposals(blockHash: String!, contractAddress: String!): ResultStringArray! getUpgradeProposalCount(blockHash: String!, contractAddress: String!): ResultBigInt! - getDocumentMajorities(blockHash: String!, contractAddress: String!): ResultStringArray! getDocumentProposals(blockHash: String!, contractAddress: String!): ResultStringArray! getDocumentProposalCount(blockHash: String!, contractAddress: String!): ResultBigInt! - getUpgradeProposals(blockHash: String!, contractAddress: String!): ResultStringArray + getDocumentMajorities(blockHash: String!, contractAddress: String!): ResultStringArray! hasVotedOnUpgradePoll(blockHash: String!, contractAddress: String!, _galaxy: Int!, _proposal: String!): ResultBoolean! hasVotedOnDocumentPoll(blockHash: String!, contractAddress: String!, _galaxy: Int!, _proposal: String!): ResultBoolean! getSyncStatus: SyncStatus @@ -121,6 +96,21 @@ type Query { getState(blockHash: String!, contractAddress: String!, kind: String): ResultState } +type ResultStringArray { + value: [String!]! + proof: Proof +} + +type ResultBigInt { + value: BigInt! + proof: Proof +} + +type ResultBoolean { + value: Boolean! + proof: Proof +} + type Mutation { watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean! } diff --git a/yarn.lock b/yarn.lock index b5c76f3..c7f2924 100644 --- a/yarn.lock +++ b/yarn.lock @@ -183,10 +183,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@cerc-io/cache@^0.2.34": - version "0.2.34" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcache/-/0.2.34/cache-0.2.34.tgz#92536dbaaac1f4c2606952e4bc6a672ce5bed248" - integrity sha512-OZk52zw6dA+ovtqRSzEpNXrSgPO3vXSe52bKC0iI354nRLCKv7ev3LT7PfnECp3jDp7tuowAcmKyLvZPqd3JEw== +"@cerc-io/cache@^0.2.39": + version "0.2.39" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcache/-/0.2.39/cache-0.2.39.tgz#71c78a035d03dda99fdabfc82be89ba493e928a8" + integrity sha512-6Esz687riJRLoHwiso0Qb78iRmL7SjcVjXuxb/VCcAWxHWT6eE5+7GFCXT1gdRQ/A+U/gztaJTjoTcCSr88Ujw== dependencies: canonical-json "^0.0.4" debug "^4.3.1" @@ -194,13 +194,13 @@ fs-extra "^10.0.0" level "^7.0.0" -"@cerc-io/cli@^0.2.34": - version "0.2.34" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcli/-/0.2.34/cli-0.2.34.tgz#e5f376cc7149ecf54e60537d88be952658c57516" - integrity sha512-rnUaXZqoZPlMB+vc22bOOoCGka3zXX7EmAWIfunAGRRa6Mny0/7qK5Mw35/GiqOG27JAe1p05oqt36mNzvDa1Q== +"@cerc-io/cli@^0.2.39": + version "0.2.39" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcli/-/0.2.39/cli-0.2.39.tgz#3467ce7d34f1aa46e4c849cfff728b558395e905" + integrity sha512-zoRfuQHc2TAcFU4Qoxb0fUMRL/2jzwbkgT/ltifPHSO5PJiojiFpsv0KYVn89k6dsFd5C5x124MemjWW0XSXWQ== dependencies: - "@cerc-io/peer" "^0.2.34" - "@cerc-io/util" "^0.2.34" + "@cerc-io/peer" "^0.2.39" + "@cerc-io/util" "^0.2.39" "@ethersproject/providers" "^5.4.4" "@graphql-tools/utils" "^9.1.1" "@ipld/dag-cbor" "^8.0.0" @@ -213,13 +213,13 @@ typeorm "^0.2.32" yargs "^17.0.1" -"@cerc-io/ipld-eth-client@^0.2.34": - version "0.2.34" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fipld-eth-client/-/0.2.34/ipld-eth-client-0.2.34.tgz#bdac02f21bee89a3b9c9e3c6a8866a73f67b535c" - integrity sha512-f5IDoKTqvs0+TH6udnQrEPSwjKFS5F92j7Pbn4SdyqXLdRjUy1eo4i6TNu7e7kHUbVa386Fecp1pjnvQknrwsQ== +"@cerc-io/ipld-eth-client@^0.2.39": + version "0.2.39" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fipld-eth-client/-/0.2.39/ipld-eth-client-0.2.39.tgz#db542f7b59badb74ecd076f3b66638f8c61093d9" + integrity sha512-rZQn0WZ7GYo2btLeNYrR7PX6PeKxe4Cxv4r7LVtYtCv7Q8sOb04Qod3KZKxuHRnP5YIkisdeppv3ZsEVzMR94A== dependencies: "@apollo/client" "^3.7.1" - "@cerc-io/cache" "^0.2.34" + "@cerc-io/cache" "^0.2.39" cross-fetch "^3.1.4" debug "^4.3.1" ethers "^5.4.4" @@ -301,10 +301,10 @@ wherearewe "^2.0.0" xsalsa20 "^1.1.0" -"@cerc-io/peer@^0.2.34": - version "0.2.34" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fpeer/-/0.2.34/peer-0.2.34.tgz#181b175e028999edaf73be580329e5e3bec53036" - integrity sha512-JZZovB2MTihBoyOQwINXP1nETJI6aKzh/aF9sQ6TKVkr/Wo7SABQMWbA/P0CBaz0GmP50k5dU7fm87Npyoe5VQ== +"@cerc-io/peer@^0.2.39": + version "0.2.39" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fpeer/-/0.2.39/peer-0.2.39.tgz#2cff14a9fff85d8c77ba6d14d677250cf03d28cf" + integrity sha512-hfgm+1IZ70EnGfJcbLXJNwiyH/kphSRNarNbFNe0swC4PMl0oH4orraHQU/wRVJhkBcJp5qqnSM6KXauVA93Ig== dependencies: "@cerc-io/libp2p" "0.42.2-laconic-0.1.3" "@cerc-io/prometheus-metrics" "1.1.4" @@ -342,20 +342,20 @@ it-stream-types "^1.0.4" promjs "^0.4.2" -"@cerc-io/solidity-mapper@^0.2.34": - version "0.2.34" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fsolidity-mapper/-/0.2.34/solidity-mapper-0.2.34.tgz#69e487f232725b4d9d791baf29587d1dd2d83abc" - integrity sha512-x1VhacWZZ8GBhLzXVFhWdgD6AlzpBPQhnubrIg9CKgsOsW60LOTAo15tMuqYKrXthPbdnAMg0BPf3/O/9sHxoA== +"@cerc-io/solidity-mapper@^0.2.39": + version "0.2.39" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fsolidity-mapper/-/0.2.39/solidity-mapper-0.2.39.tgz#5422f92915887804525ac2343856ebed1bb7a853" + integrity sha512-O7/nQ95pdofMdC/yZyGoHPmHME2yB+h9T4Ua/+pKhfg6SgBpGtReMSSFaeeJEKxWHzetMbiwJPRCzeYtVYFeag== dependencies: dotenv "^10.0.0" -"@cerc-io/util@^0.2.34": - version "0.2.34" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Futil/-/0.2.34/util-0.2.34.tgz#3c5dc2e931210e841fa8bb0a6c3b0a456095ff4b" - integrity sha512-m479pza2CC3lwBa6o1a54yG/hdA2T/Elx/m02Vwkxx6NgFv+dlEka7d0mEd8SM4/Bm2FUn8ti1HhRfqqW6wsdg== +"@cerc-io/util@^0.2.39": + version "0.2.39" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Futil/-/0.2.39/util-0.2.39.tgz#7a807756f6007b331066206f7f338cae7e903218" + integrity sha512-koJr66RFP64bOkWYfZ1Cj+1YkAGfoW8q+toTtiOo/hUKhEusqUIxIRVG5raXN4KaoruCjH8SMoeWcVMr2sw16w== dependencies: "@apollo/utils.keyvaluecache" "^1.0.1" - "@cerc-io/solidity-mapper" "^0.2.34" + "@cerc-io/solidity-mapper" "^0.2.39" "@ethersproject/providers" "^5.4.4" "@graphql-tools/schema" "^9.0.10" "@graphql-tools/utils" "^9.1.1" @@ -2305,7 +2305,7 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/json-bigint@^1.0.1": +"@types/json-bigint@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/json-bigint/-/json-bigint-1.0.1.tgz#201062a6990119a8cc18023cfe1fed12fc2fc8a7" integrity sha512-zpchZLNsNuzJHi6v64UBoFWAvQlPhch7XAi36FkH6tL1bbbmimIF+cS7vwkzY4u5RaSWMoflQfu+TshMPPw8uw== @@ -5242,6 +5242,11 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" +husky@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" + integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== + iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"