summary refs log tree commit diff
AgeCommit message (Collapse)Author
2019-11-15Added check for number of basecoins <n> in ntcoinlogin (tilde.club)
ntcoin would accept no number of basecoins <n>. Now, there is a check added near the beginning for <n> existing and being a non-negative integer.
2019-11-15Bugfix in ntcoin to fix error in compile_pcoinlogin
ntcoin had an error in the way it created compile_pcoin. compile_pcoin had a missing \ at the end of the line (for line continuation). This bug has now been fixed.
2019-11-15Improving the messaging around sending transaction messageslogin
Several changes were made that were difficult to separate into separate commits. Since features are directly committed to master, there are no feature branches. The high-level list of changes is as follows: 1. Fixed a bug in pcoin where using "pcoin send -s" for silentsend would forget to add the transaction message that provides a record of who transferred how much and when, even if there is no custom message appended (send_message(.) was not called). 2. Improved the help text to make it clear that sending messages could be done using silentsend too. 3. In several cases in tcoin and pcoin, certain ways of doing a silentsend would still send with verbose output because, by mistake, the option passed to send_message(.) was not changed from "verbose" to "silent". 4. In pcoin, there was the case of 6 arguments missing, where one does pcoin send -s <user> <amount> <message>. This case was handled in tcoin but not pcoin. Now, it is handled in pcoin too. 5. Now, when a custom message is sent in tcoin or pcoin, an additional text confirming the successful sending of the custom message as distinct from the one confirming the sending of the coins is displayed to the user.
2019-11-14Optimisations to ntcoin's pcoin_defs.cpp and tcoin_defs.cpplogin
pcoin_defs.cpp and tcoin_defs.cpp contained definitions which were used in one but not the other. ntcoin now only includes those definitions in either which are used by the respective source file (and no other definitions).
2019-11-14Updated the scrypt file included here to use the latest libcrypto.so (so far)login
scrypt, the executable, uses libcrypto.so, which was updated from 1.0.0 to a more recent version (most likely 1.1). Thus, it had to be recompiled. The new version is included by default now in this directory.
2019-11-14Increasing reliability of edit_tcoin and edit_pcoin as defined in ntcoin~login@aussies.space
ntcoin creates the scripts edit_tcoin and edit_pcoin. Now, instead of assuming 'nano' is included at /bin/nano, it uses `which nano` to determine where 'nano' is included in the current system. Quotation marks are used around 'nano''s file argument to increase robustness around spaces in file paths.
2019-11-14Included quotation marks in compile_tcoin and compile_pcoin generated by ntcoin~login@aussies.space
In order to be robust against spaces present in the directories passed to ntcoin, quotes around the additional directory to search for includes (g++ -I) and the output file directory specified in g++ are now included in ntcoin. ntcoin generates the compile_tcoin and compile_pcoin scripts.
2019-11-14KROWBAR_OFF, DA_OFF and MINERCOIN_OFF are now treated as config definitions~login@aussies.space
The KROWBAR_OFF, DA_OFF and MINERCOIN_OFF symbolic constants are now included in tcoin_defs.cpp and pcoin_defs.cpp and have been removed from the main source files, tcoin.cpp and pcoin.cpp. ntcoin has been modified to include #define KROWBAR_OFF, #define DA_OFF and #define MINERCOIN_OFF in pcoin_defs.cpp and tcoin_defs.cpp by default, since those three features are only (as of now) available on the tilde.town server and on no other server.
2019-11-14Bugfix to disable minercoin-score addition in pcoin.cpp~login@aussies.space
In pcoin.cpp, minercoin-score addition can be disabled by writing #define MINERCOIN_OFF near the symbolic-constant definitions. However, in one place, a check for the absence of the DA_OFF symbolic constant was being made instead of MINERCOIN_OFF. This is now fixed.
2019-11-14Merge branch 'master' of https://github.com/login000/tcoin~login@aussies.space
2019-11-14Creates separate definition files for tcoin.cpp and pcoin.cpp~login@aussies.space
I realised that different tilde servers will have different definitions but the same code otherwise, and 'git push' and 'git pull' to update the code on other servers would override those definitions. Thus, the tcoin.cpp and pcoin.cpp files now look the same for all tildeservers and have a #include "tcoin_defs.cpp" and #include "pcoin_defs.cpp" respectively. The configuration, which is in the form of #define symbolic constants, is stored in tcoin/bin/tcoin_defs.cpp and tcoin/bin/pcoin_defs.cpp. ntcoin is modified to create these two files with the right definitions. ntcoin is also modified so that compile_tcoin and compile_pcoin now include the -I option, which instructs the compiler to look for includes in additional directories, in this case, tcoin/bin .
2019-11-13tildecoin-check file includedlogin (tilde.club)
tcc (which stands for 'tildecoin check'), simply adds all the balances and prints the sum. This can be used to check that the amounts sent and amounts received are equal.
2019-10-07Merge branch 'master' of https://github.com/login000/tcoin~login@aussies.space
2019-10-07Fixing a bug with how time is calculated for messages~login@aussies.space
Benjamin Harris (https://ben.tild3.org, https://github.com/benharri, and https://benharr.is) found a bug where the time recorded for transaction logs/messages was local server time instead of UTC. It should have been UTC no matter what the local time was.
2019-10-07Fixing preprocessor constants~login@aussies.space
To fix the preprocessor constants so that they point to the right directory for the tcoin and pcoin executables. This will be different depending on where the tcoin and pcoin executables are stored.
2019-10-03Bug fix to ntcoin~login@aussies.space
Previously, the executables 'tcoin' and 'pcoin', which had setuid set, were stored in tcoin/bin/*. However, the "tcoin" directory is restricted, so any executables inside it are inaccessible to users. To fix this, the compile_tcoin and compile_pcoin scripts have been modified to store the executables in a third specified directory, called the <bin dir> in the help. <bin dir> will be accessible to all users. The symbolic constants/preprocessor directives have also been changed to reflect the updated paths.
2019-10-03Bug fix to ntcoin~login@aussies.space
Previously, the executables 'tcoin' and 'pcoin', which had setuid set, were stored in tcoin/bin/*. However, the "tcoin" directory is restricted, so any executables inside it are inaccessible to users. To fix this, the compile_tcoin and compile_pcoin scripts have been modified to store the executables in a third specified directory, called the <bin dir> in the help. <bin dir> will be accessible to all users. The symbolic constants/preprocessor directives have also been changed to reflect the updated paths.
2019-10-03Default message when there are no messages.~login@aussies.space
A default message is now shown when there are no messages to show.
2019-09-30Added symbolic constants (flags) to remove integrations~login@aussies.space
Since not all places where tcoin runs have tildebot, minerbot and daily-adventure, these integrations are now disabled in the code through preprocessor directives (symbolic constants that act as flags)
2019-09-30Fixed preprocessor directives for pcoin.cpp and tcoin.cpp~login@aussies.space
pcoin.cpp and tcoin.cpp were missing the preprocessor directives generated by ntcoin. The right preprocessor directives are now included in both files.
2019-09-30Updated ntcoin to add more symbolic constants~login@aussies.space
I had missed two symbolic constants that are present in pcoin.cpp but not tcoin.cpp. Those two have been added now.
2019-09-30Bug fixes to ntcoin~login@aussies.space
1. Single quotes closed before command substitutions, and opened again right after them. (Some cases were missed previously.) 2. The u+s mode/permission is used on all subdirectories of the tcoin directory and the tcoin directory itself now, so that files created are owned by the owner of the containing directory by default. This will prevent the class of bugs that would arise when files are created through the tcoin executable (which has the setuid bit set). 3. A mistake in the file name and location of the base amount (tcoin/base/base.txt) was corrected.
2019-09-30Adding an option to view the #define configuration without creating any ↵~login@aussies.space
directories This option was added to allow the #define configuration to be reprinted even if ntcoin was already used to recreate tcoin's subdirectory structure.
2019-09-30Added symbolic constants to disable tildebot, minerbot and daily-adventure ↵~login@aussies.space
integrations Defining the symbolic constants NO_KROWBAR, NO_DA and NO_MINERCOIN disables the three coin integrations during compile time.
2019-09-30Adding chmod u+x to scripts (and scrypt)~login@aussies.space
2019-09-30Updated ntcoin to get rid of trailing slashlogin000
Uses "realpath" to get rid of all trailing slashes and check that each directory in the path supplied exist (other than the innermost directory).
2019-09-30Creates ntcoin to set up relevant directories, scripts, and binaries for ↵login000
tcoin and pcoin 1. Sets up all relevant directories, scripts and binaries for tcoin and pcoin, assuming the current directory is right inside the GitHub repo (same depth as the LICENSE file). 2. Creates soft-links to the executables in "bin" folder inside the "tcoin" folder in the "~/bin" folder. 3. Prints the relevant preprocessor directives to be put in tcoin.cpp and pcoin.cpp (without actually putting it in those two files). Because of 3. above, the tcoin.cpp and pcoin.cpp files will have to be modified again, after which "compile_tcoin" and "compile_pcoin" can be called again to update the binaries.
2019-09-30npcoin modified to use current directorylogin000
npcoin gets new pcoin accounts ready. The relevant paths were hardcoded earlier, but now assume the "tcoin" directory is in the current directory.
2019-09-24Updating the successful login messagelogin000
Updating the successful login message to add additional information about running `tcoin` to check one's balance and messages. This is intended to make it easy for new users to know what to do once they've done "tcoin on".
2019-09-24Stylistic update to "Last <n> messages"login000
When there are fewer than <n> messages in total, and one runs "tcoin -m <n>", an extra newline was shown between "Last <n> messages:" and the actual messages. This commit fixes that by checking if the first character in the actual messages is a newline and putting one more newline only if it isn't (instead of always).
2019-07-15Removed redundant code in pcoin.cpplogin000
pcoin.cpp had redundant code in 'int main()', where user_amount was redeclared (and thus became a local variable that shadowed the global version inside 'int main()' (!). Fixed by removing the redeclared, redundant line.
2019-07-15Fixed bug in "tcoin init" and "tcoin"login000
Fixed bug in "tcoin init" and "tcoin" when an uninitialised user runs them. Previously, it used to display the following error: Error! Could not open file at <file_path>! Assuming its internal content is "0\n" because 'user_amount' in 'int main()' was read from the file before checking if the user had initialised.
2019-06-25Added #define DEBUG, fixed pcoin error messagelogin000
Added #define DEBUG and put a few check statements under it. Fixed error message in pcoin that suggested the incorrect "add_internal_balance" amount when "internal_balance" owed to a particular user was not enough (and was lesser than the number of tildecoins being sent using the "send" command to said user). Also, fixed an error in retrieving the amount owed to a particular user when doing checks during the "send" command ("temp_program_sender_username" instead of "program_sender_username").
2019-06-22Fixed std:;strcpy to std::strcpylogin000
credit to eigenellies/diodelasses and npa
2019-04-18Fixing daily-adventure integration in pcoin.cpplogin000
daily-adventure changed how it stores state, so this new code fixes daily-adventure integration to the new format that daily-adventure stores state in.
2019-04-18Fix daily-adventure integration in tcoin.cpplogin000
daily-adventure changed how it stores state, so this new code fixes daily-adventure integration to the new format that daily-adventure stores state in.
2019-03-10bash script to create new program accountslogin000
bash script creates directory structure for new program accounts
2019-03-10Copied pcoin.cpp from tilde.townlogin000
2019-03-10Updated tcoin.cpp to latest versionlogin000
2018-03-06Create README.mdlogin000
2018-03-06Initial Commitlogin000
2018-03-06Create LICENSElogin000