summary refs log tree commit diff
AgeCommit message (Collapse)Author
2020-02-22Nobody's perfect: .n\n -> .\n\n in tcoin.cpp and pcoin.cpplogin (envs.net)
And I don't know how to clean my commits after having pushed them to remote origin/master. Maybe a Git stash and hard reset?
2020-02-21Made a minor mistake in pcoin.cpp regarding symbolic constant ↵login (tilde.temm)
TCOIN_MSG_LENGTH_LIMIT I made a switch from TCOIN_MSG_LENGTH to TCOIN_MSG_LENGTH_LIMIT for the symbolic constant representing the maximum number of characters of a transaction message. I changed all instances of the symbolic constant to this new name in tcoin.cpp, but forgot to do it in one instance in pcoin.cpp. This goes on to show that I need to develop tests for tcoin and pcoin, as well as start using getopt from util-linux for proper options handling.
2020-02-21Implemented message-character limits in tcoin.cpp and pcoin.cpplogin (tilde.temm)
After having received a 10000-character transaction message from ~jan6@envs.net, I finally came around to implementing character limits on transaction messages. Previously, I was of the opinion that one should be able to send a movie as a transaction message if one so wished. I took inspiration for an appropriate character limit from Australia's NPP (New Payments Platform), which has a 280-character limit on transaction messages. I strongly suspect this limit came from Twitter's analysis of tweets in different languages and Twitter research that concluded that a 280-character tweet was the appropriate length of tweet. A transaction message is supposedly like a tweet with some money sent along with it.
2020-02-21Added silentsend with message case to pcoin.cpplogin (tilde.temm)
I don't know how I missed this, because I remember coming across this deficiency before. I had missed a case, where silentsend is requested but with a message. Previously, it would fail without any message to stdout or stderr (only a return code). Now, silentsend with a message works even on pcoin.cpp (tcoin.cpp already had this change).
2020-02-21Merge branch 'master' of https://github.com/login000/tcoinlogin (tilde.temm)
I made a mistake. I should have done this before making my commits. That's the only reason why this merge is necessary.
2020-02-21Some more errors (specifically, fatal errors) were taken out into symbolic ↵login (tilde.temm)
constants I had forgotten to handle the fatal errors and take the error numbers out into symbolic constants. I have now done that in tcoin.cpp and pcoin.cpp
2020-02-22Many instances of \u23CE were left unmodified, so those were changed toologin (envs.net)
I had forgotten to change \u23CE to <new-line> and introduce a check for <vertical-tab> in many many places in tcoin.cpp and pcoin.cpp. I should probably put these things in some kind of function so I don't repeat myself. I'll probably do that in a future commit.
2020-02-22Separated error codes out into symbolic constants in tcoin.cpp and pcoin.cpplogin (envs.net)
This doesn't change functionality. It is simply a refactor that separates error codes out into symbolic constants in tcoin.cpp and pcoin.cpp.
2020-02-21Replacing newlines and vertical tabs in messages with <new-line> and ↵login (envs.net)
<vertical-tab> Newlines and vertical tabs in messages are replaced with <new-line> and <vertical-tab> to prevent transaction spoofing inside a message.
2020-02-19Updated LICENCE year to 2020login000
2020-02-11Modified ntcoin help to be clearerlogin (envs.net)
ntcoin's help said "tcoin subdirectories" for the first path argument. It was not clear whether this argument should include "/tcoin" or not. Now, this has been made clearer so that it means the 'tcoin' directory itself.
2020-02-11Fixed typo in ntcoinlogin (envs.net)
Fixed a typographical error in ntcoin (there was an extra ').
2020-02-09Ensuring verifiability of build by copying tcoin_defs.cpp and pcoin_defs.cpplogin
To ensure that builds are verifiable, tcoin_defs.cpp and pcoin_defs.cpp are copied from tcoin/bin to ~/bin (i.e., to the same directory as the 'tcoin' and 'pcoin' executables)
2020-02-04Minor grammatical correctionlogin
Just added a period/fullstop to the message in the show_balances() function.
2019-11-25Deleting swap fileslogin (tilde.club)
Well, that was embarrassing. My nano tcoin.cpp and pcoin.cpp swap files got uploaded!
2019-11-26Improving messaging around messageslogin
The title is confusing, sorry. "No messages found" is shown in tcoin and pcoin when no messages are found (and this no-message message has one newline above and one newline below it instead of two newlines above it as before).
2019-11-17Minor correction to READMElogin000
Minor correction to README.md, where the phrase "Program users" was replaced with "Program accounts" in the heading.
2019-11-17Updated README with getting-started instructionslogin000
Updated README.md to provide instructions to get started easily, including program-account creation (which was not well-documented previously).
2019-11-15Merge branch 'master' of https://github.com/login000/tcoinlogin (tilde.club)
2019-11-15Fixed newline extra gap when running 'tcoin init'login (tilde.temm)
Just a minor aesthetic fix so that there is even newline gaps between statements when running 'tcoin init'.
2019-11-15Fixed newline extra gap when running 'tcoin init'login (tilde.temm)
Just a minor aesthetic fix so that there is even newline gaps between statements when running 'tcoin init'.
2019-11-15Fixed small error in ntcoinlogin (tilde.temm)
A small error was present in ntcoin, where a chmod on a file that may not exist was blocking the execution of future commands due to failing. Now, the command is always set to succeed.
2019-11-15Fixed symlinking bug in ntcoin regarding compile_(t/p)coin and edit_(t/p)coinlogin
Fixed a bug in ntcoin where the symlinks from tcoin/bin/compile_tcoin and tcoin/bin/edit_tcoin to ~/bin/compile_tcoin and ~/bin/edit_tcoin are made properly. The previous command did something else.
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.