Skip to content

Changelog Epic Wallet

Jhelison Uchoa edited this page Jan 25, 2023 · 5 revisions

Epic Wallet - v3.3.2

The epic-wallet is the application to store Epic coins and make transactions between Epic wallets. The current official epic-wallet version is v3.0.0. This release document specifies the improvements made for the application and defines a new alpha version as v3.2.2.

This document is structured into three sections: Improvements, New Features, and Bugs Fixed.

Improvements

LMBD to SQLite interface

Sending coins through HTTP presented a problem; after 20 seconds the wallet would time-out, not finishing the transaction. So we migrated the entire wallet database to SQLite. As an embedded relational database, it provides us with speed and reliability while keeping some familiar traits from LMDB.

To migrate your wallet to use SQLite, just run your wallet info or scan with epic-wallet info or epic-wallet scan command to apply bank internal change.

Note: Depending on the size of the wallet, this process may take a few minutes. After this first run, the code will automatically use the new version of the internal database and you won't have to worry about anything.

If at any point, you face issues with the new version of the Epic Wallet you can rollback to an earlier version, you just have to reinstall the previous version of Epic Wallet and run epic-wallet scan command to reinstate LMDB as the database.

Transactions

There are two ways of sending EPICs to another wallet: the synchronous or asynchronous approach. The synchronous way uses the HTTP protocol. It requires that both wallets are in listen mode and the amount can be sent. The asynchronous way is a JSON file that is generated by the sender to the receiver and has the behavior of a three-way handshake. The sender generates the file transaction.txt specifying the amount, 10 EPICs in the following example:

epic-wallet send -m file -d transaction.txt 10

Then the receiver uses this file as an input to the following command:

epic-wallet receive -i transaction.txt

The command output is a response file like transaction.txt.response that the receiver will send back to the sender as an ACK. Then the sender will use this response file as an input to the following command:

epic-wallet finalize -i transaction.txt.response

And the transaction is made with success. However, as you can see, only in the send it is needed to specify the sending method which is by the flag -m and the method type as file. On the following commands, they already expect a file as an input.

As we added a new asynchronous method of sending EPICs, the receiver and finalize commands now also expect the method of receiving and finalizing the coins transactions. So, now they are like:

epic-wallet receive -m file -i transaction.txt
epic-wallet finalize -m file -i transaction.txt.response

Deterministic builds

New builds of the binaries are reproducible and have the same bit-by-bit equality between consequent builds.

New features

Emoji

Currently the only asynchronous way to make transactions is using files. We thought about the disadvantages of such an approach, and we designed a new way of doing this, by translating the slate JSON of the transaction into an emoji string.

There are two main advantages of using emojis:

  1. Emojis are far the best way to communicate over the current communication apps like Telegram and Whatsapp. The set of emojis is the same in every texting platform, like an alphabet;

  2. An ASCII char is an 8-bit value on computer systems. If we define a set of 1024 different emojis, we can encode a string of chars into emojis of 10-bit. Basically, the encoded string will have fewer elements.

In the version of epic-wallet, we added the emoji method on the transaction of EPICs. Basically, if you want to send 10 EPICs you can run:

epic-wallet send -m emoji 10

Then you will get an emoji string that you will send to the receiver, then this string is the input for the receive command. Like this:

epic-wallet receive -m emoji -i 🏆🥇😫🤵🚪🈯🍻🥾📩📟💃🧛📨👄💝🈶🥁🧎🦨📵📭😡🦦🤞🐉🦷🚑🙇🧷📞🪞🥼💸🤎🚟🦿🍱🈶🤯🤶📹😀🍻🚰🧽🧖🦢🦟💳📞🪞🥼💸🤎🚟🦿🍱⛔❌🃏📩❔🏧🏰👚🈯🍳👝📷🤪🐜💂💰👄👥👍🐒🤎🍓👇🦣🕋🧀🥊🫖🚺🦢🥪🪴🧛🎌🎮🏺🏠🥜🥪🧉🧗🧀🥪🍼👦🦢🍩🫖💲🦧🚸👢♿🐁🃏🎧💒🦦🤰🐒😀🪞👷🚪🔀🦦🦿🥤🤲🧠🩲🍸🔼🎌🌮🍼🧖🧅🎣🛁🧗👵🦟🧉🔫🥜👝🍹🤲🦀🔃🥤🤏🥜🤘🪑🚳🧀🍮👢🏠💾🏏🏴📶🥫🚸🛁🤟🦢🏸🌿📝🏴🔅🍸🔼🧑🈶🐉🦷🦏🚸📉👄💝🈶📷🤨🎁👞💰👄🤎🏩🐒🧛📔👞🎼🈲📃🈶🍱👃🥂📵📩🦷🪲🚱🦣😯🦝🧱🔏😎🧝🃏🍱👄🎊👝🏁🧖🧅👑🧊🆑🦞🤶🍀❗🍾🤟🔌🕋📔🤳🛁👄🦴🔜🔌🈲🦧🚾🍾🚺💰👌🍀🔼🎇🧜🚪🤟🏃🚳🍹🤟🎊🩲🍾🕋🧅🔛🧉🤟🔌🧛🔌❗🦣👸👞😯🦏🏨🎧🥶📜🐮🦣🌜😠🈶🪞🧖🐛🐕💳🧎🌴👇🐒🍍🔡👓📫🦿🤯🎅📭😎🛃👞🦣🌟🐭🏑🍼🤏🦝♿🥢👦🦞⚾🪴🦷🦝🚱🍀🈵👵👌🥄🪵🔌🍫🚪🤟🔌🧢🌿👄🦀🎂🔌🕋🏁🚸👢🔼🦢👋🍀⛺🥁🍮🍀🏠🪞🦟🧉🦷🦤🩲🧉🤲💷🃏🐉🤛🎐🙋📭🤶🦦🦿🧮🚳🐭👋🍸❔🔌🤞🛁🧗🐓🍬 👢🪵🦤🤞🪴🦷🏴🚸🥢🤏🦞🤏👢🚺🐏🏸🍸⛺💻🏑🍾❗🦤👗👢❗🏃🎂🍸🚺🐓🧁🥢🤟🥜🔛🍹👄🎇🔃🍸🆑🏴🏑🌿👄📖🪰👚🤲🧠🏸🥢🧖🦝🍮🍸🈵🐏🎳🧴📶🥜🚾🌴🆔🏁🦹🌵🈵🐭🚾🥢👦🦧🎅🧊❔🐔🤌🏁🧗🥔👝🪞👄🧔🧇🥄🤑🎏🏀🚪🎅🪝🩲🌵❔🔌🎂🔌🤑🔌🍮🏴🆑🦝🔜🧊🏭🏴♿🏴🏠🔌🌮👢🤑🐔🎣🔌📶🦝👑🫖🤪🦝📶🏁🤟🎏🚸👚🧖🦀👝🍀🚺🧅🦂🥄💲🦆🪰🔌🆔🥔🏸🍀🔛🦧♿🏴🏠📔🧜🍸🔼🦧🎣🧮🆔🦀🍬🛁🧖📔🧥🏺🚳🧅🫔🧴🔛💷🩲🌿🦷🦤🔛🌴💈🧴🍩🧉👄🦴🧁🍾🈵🪜🤙🥄📶🧴♿🪑🈵🎊🦟🔌❗🦝📶🧴📶🦞🪰🧊🈵🎏🐝🥄🕋📔🧢👚👦🧀🐝🥄🤑🪝🐝🪞🧖📔🔃🧉🦷 🐔🐝🍹🤲💾🔚🔋👄🧠🧛🧴🈵🪜🧢👚🤟🧴🧁🧮💲🦀🦂🌵🚳🥜🚸🔌🈵🦤🔝🫖🚳🐓🔝🍾🪵🪜🔜👢🚺🦧🤶🔋🤟🦧👝🔌⛺🏴🤿🧺🪵🦧🔛🏴🚳🍾🚱🍸🕋🦆👗🥢🎅🦤🤶🧺🆑💸🧢🍾🔛💰🎂🏺❗🐭🍩🍹🤲💸🧛🛁🤟🦝🍫🧉🧖🦝♿🍾🆑🦆🫔🔋🤟🪜🤏🍀🤑🥫🍫🧋🧗🧀🩲🍹🧛🦢🧁🌴🈲🎌🦠👢📶🐓🎂🔌💈🦞🦹🍼🤏🧅👑🍸🤪🦧🍪🔌🈲📔🍬🏺🪵🧋👌🏴🤑💸🍩🔋🧗🏃🔃🫖❗🥫🩲🔌🏭🦢🦸🍹🎅👵👝💾🤟🎏🏏🍸🤑🪜🍪🧊❔🦪🏏🥢🤲🦀🧜🧉🔫🐓👝🌵💲🐭🎦🍾❗🐔🔄🥄🚳🥫👋🔋🤟🦤👌👢💲🦧👌🍹🤏🧋🍬🥄🤑💸🧢🏺📶🧋🤳🍸🤑💸🚺🏁🤏🦢👋🪞🦷🐔🔅🔋🧗🧋🍮🌵💈🦢🏸🍹👦🧋🦂🔋👄🧋🏸🔌🚺🦦🎣🧉🔫🐔🏑🌵💈🏁🦠🚪🤏🦀🎣🧋🔫🐔⚾👢🏭🦞🦂🌴🪵🐔🤿🍀🚳🎌🏸🌵⛺🐭🏸🪞🎅🥜🍩🛁🧛🐔🔆🪑🤑🧴👋🧺🔛🧋🧁🍸🏠🥜🔛🔌📶🪞🥊🌿🧖🦆🦂🔌🈲🏴🤳🧺❗🍾🧛🧊🈵🦀🚺🛁🧛🐭🔆🌵❗🥫🤟🧉🦷🔌🎳🥤🧗🎌🎂👢⛺🧀🫔👚👦🥜🤌🧴🤑🐏🥊👢❗🐏🧜🪴🔫💸🧛🏺📶🥜🤟🚪🧗🏴🚱👢🤑💸🚺🌳🔫💾🏸💾👦🐭🔚🏴⛺🎄🧇🍸🏠🐔🥌🧴📶🧀🦠🏴🆔🏁🤿🌵🈵🎄🤙🍹🔫📔🫔🍀🔼💾🍫🌴⛺🎄👝🌵🤪🥫🔛🍀🚺🧋🎅🪞🔫🐔🥊🥤🎅🧑🎂🌿🤲🦴🍮🫖🪵🎇👗🥢🔫🦴🦸🍀💈🧅🏏🌴🪵🦝👌🍼🔫🥫🫔🍼👄🦴📶🫖🤑🎊🍬🏴🈲🥔🩲🪴🤲🐔🧇🌳🎅🦆🎳🍸🔼🧴🔜🍸🚺🔗🐞🛁👦💾👋🪴🎅🎄🫔🌿👄🔌🚾🔌🔛🥜👑🍀🔼🏁🤟🔌🔼🥔🏀🍀🆑💾👋🍀🤑💸🐝🫖⛺🧅👝🥤🧖🐏🩲🥄💈🧅🔃🪴🎅💻🧁🧊🆑🦧🤞🌴🏭🏃📶🧋🧖🦢🌮🧴⛺🎄🚳🧺🔼🦧🪰🍀🔛🎏🦟🧮❗🦞🥌🔋🤲🦪🍩🫖🤪🔌🍪🔌🪵💸👌🧉📝💻🧇🚪👄🥜🦠🌳📝🏁🔜🫖🆑📖🧁🪑🈲🦧🤏🪴🤲🦞🤙🛁🤲✨🪰🪴🔫📔🔃🔌🔼💷🏑🪑🚺💻👝👚👄🐔🎳🥄🈵🪞🎣🪑🔛🏴🤙🌳🔫🧅🔝🪞🔫🎏🧜🧉🤲🧔🍪🧊🔛🦀🧢🥄💲🐔🤿🚪🎅🪜🤌🍸🤪🏁🧢🏴❔🦆🎳🌴🆑🦤🥊👢🈵🐓🍫🍸❗💾🔄🪞🧗🏴🎳🏁🤲🦢🍩🧊🤑🏁🍬🏁🧗💻🏸🔋📝📔🔚🏺🚳🦞👗🧉👄🧴🤞🍼👄🐔🥌🚪🤟🦀🔅🍀🪵🎇🚾🫖🈵🥫🍮🪴🔫💰🦂🪴🤲🦦🦂🪞🔫📖🍮🥄❔📖🦟🫖🈵🎄🍫🚪🧗🦦👑🏺💲🥜🔆🧊🈲🪞🍫🧮🏠🐓🧁🫖🕋🦝💅👚🔫🐓🍫👢❗🥁🎅🫖❗🥁🤟🏺🔼🧍🍫🥤🎅🦤🎣🍸🕋🏁🧥🧺🏭🥁🧇👢🆑🪞🥊💾🎅🦤🤳🧺🏭💾🦠🔌❗👵📶🌳🧛🥜🎣🛁🧛🔌🍪🍀❔💾🔜🧊🏭🐭🤏🏺🚳🔌🥌🔋🎅🎇🚱🌴🚳💾📶🧴🔛🦧🩲🧺🕋🐏🎳👢🤑🔗🩲🚪🤟🦢🎂🍀❔🥫🔛🔋🧗🦞🔝🧴⛺🧅🔅🐒🛸❌🃏🎥🧎🦏🦹📹🔚🦦💃📏🦷🪞🧢🎧🏧🐏💄🦣🌟🐽🦫👚🤎🎠👍🐒🧛📖🥗🍱👄🪝🏸🌵🤑🏅👍🐒😥🪂🚷🥻🤾📙🥿🧽🔀🦦🦿🌵🦿🤯🦹💼🤏📃🏭🦣🌟🐭🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🃏🐉🦷🎒🐞🚪🔆🧃🏭📷🤱🦦🦿🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🏅👸🪖🚠❌🃏👚😎🚛👠💴👄🚣🤙🌵🤑🎏🏸🌵🤑🎏🃏🐉🦷🪞👑🦣🌟🦦🏸🌵🤑🎏🃏🐉🦷🧠👓🧷🤽🍓👇🦣🔼🌴👍🐒😥🪂🚷🥻🤾📙🥿🧽🔀🦦🦿🌵🦿🤯🤷👚🈯 🍳👝📷🤪🐜💂🥻👦🐛🪰🦣🌜😠🈶📷👐🦦🦿🌵🦿🤯🤷🎼🦷🔢👝🥻🦷🔢👠🛁📟🎒🐞🚪🔆🌴👇🦣🤑🍾🤳🪑❔🥫🧛🧺🈵🧍🦂🍹🤏🧅👋🧉🧛🧅🤞🏺💈🐭🔜🔌⛺🧠🎣🌵🕋🥜⚾🧊🤪🪞🤳🧮❗🎏⚾🔋🧛🦦👑🔌🤪🧴🔛🌳🧖🦝🦹👢🏬🐁🃏📮❔🦏🦡💾📟🌀🏦💾👯🦦🦿🌵🔛🦤🫔🧋🤲🎏🚾🧴🈲🧋🍮🫖🚺💰🔚🧉👄🐭🍮🌳🎅🦧👝🧮🚺🦪🦠🏁📝🍾🍬🍹🧗🪝🥊🥤📝💾🔃🏴💈🧅🐝🪞🔫💾🧢🌳🧗🪕🩲🥄🦿🤯🤷👚🈯🧈🏭📷🤱🦦🙎🎼😥😷🃏🔏🧎🍸🚾🧷👯🦦🙎🎼😥😷🃏🔏🧎🍸🚾🧷💆🚑📵🧻👄💗🥷📹🙁🏧🥻

The command will respond with an ACK emoji message, that must be returned to the sender. Then the sender will finalize the transaction like this:

epic-wallet finalize -m emoji -i 🥉🎨📏🤛🪞🥼💸🤎🚟🧞📷😶🪒🈶🍚🌖🦥🦹💳📶💃🏦🦣⚡🐁🃏📭🈲🧍🚰🥁🧎🦨📵📭😡🦦🤞🐉🦷🦏 🐪💾😧💺🦟👚👦📃🧞🥁🧎🦨📵📭😡🦦🤏📱😯🦏🥷🔏📞🎇🥼🎧🤎🍻👖👚🤨🥩🈶🍱🈶🤯🙇🧺👄🚣🤳🛁🤲🦪🍪🌿👯❎🧛🔌💒➰🤿🪑🔱➿🦟🥢👯➰🧥👚🧗🧔🍬🧮🏠🥫🍪🦣😯🦥🐑🦣🌑😫🙋🪞🧟🧋👞🦣🌟🦧🚸🧉🧖🦧🔜🏴⛺🎄👑🪑🤑🧍🦟🫖🤪🥔🪰🥄❔🎌🧥🏺🔛🎄🚺🪑🚺🥁🍪🛁🧗🦴🧁🧴🔼🧅🔛🛁🤏🧀🐞🌿🤲🎏🧢🔌🔛🧑🔜🫖🏬🐁🃏🔋😀🧆🥗🍚🌖🐀👠📮🏧🥩🈶🍚📪??🧛🚪🫀🥚🥼🚪🔚🦦🦿🦞😀💃🤶👚📶🍆👍🐒🤏🚟👜📷🔀🦦🦿🌵🕋🏴🚱🪑🆔🥔⚾🏺🚳🐭🍫🏁👄🍾🔅🚪👄🧍🐝🧉🤟🥫🔚🧮🏠🦤🤏🍸🈵🦀🍬🌳🦷🦢👝🍹🤏💻👝🌵🕋🦧🤳🪑🔛🎌🐞🍾🈲🧴🔝🌴🤛🏧🧂🐒😃📜🐈🎼➗🌴👇👜🌖🐏🦹👚➗📃🦹💰👄🚣👩📹📝💃🦿🐉🦷🥂🚫🔏💥🍓👇🦣🤑🧔🏸🍼🧗🥁👗🧴🔛💻🦠🧉🤲🦤🚱🧮🚺🐔🏀🥤🧖🏁🦹🍾💈🔌🔃🪑🤑🎌🍪🧴🕋🥫🔛🧺🪵🐏👝🌳🎅🦧👌🧴⛺💸🍬🧮🚺🏃🩲🍾🈶🐁🃏📮🈲🚟🚳🦣🌟🦧🔜🫖🆑🐔🔛🍸🚺🐔🩲🍸🆔🧋🎳🍀❗✨🍮🔋 🧖💾🤌🔌🏭🍾🍫🧋🤟🧅🏀🍹🧖🪞👗🥄🈵🎇🔃🧋🤟💻🧁🧊🔛🥔⚾🌵📶🦧🤟🪴🤲🪞🦂🍾🪵🎇👑🧋🤟📖🐝🪞📝🥔🎣🥄🈵🦞🦸🧺🤪🦢🧇🪑🕋🦞🏸🏁🔫🥜🔄🍸🈵🦧??🍀🪵🦴🍬🏁🤟🪝🍫🧴🆑🪜🦂🧴🤪🐭🏏🥄🤑🧔🩲🪞🧗💸🦸🪴🧗✨👌🍀🆑🏁🤏🫖🤑🧠🤿🥄🤑🪝👋🌴🚺🪕👗🫖🆑🧅🪰🧋👦🦤🫔💾🤟🦀🐝🧋🧛🦞🫔🥄📶💾🚳🏁🤲💻🩲🧺⛺💷🐝🍸🚺👵🍩🥤🧗🏁🍮🍀💲🐔👋🍸❗🪜🎂🏴💲🥫🧥🥢🧖🎌🦟🍹🧖🦞🧛🧺🕋🐓🚳🍸🤪🐔🧁🥄🆔🥫🤘🏁📝🏁🥊🥤🤟🧅🏸💾🔫🧑🏑🏁🎅🦴🚾🍾❔🦝🤏👢🆔📖🫔🍼🤲🧋🦂🔌🔼🥔🍮🪴🦷🦤📶🥤🦷🐓🌮🪴🤏🧋🧥🍀💈🦧🍩👢🏠🦤⚾🏴📶🐔🔝🧴❗🧅 🤳🥄🈲🐓🤌🌿🧛🦆👗🏁🧖🦆🧇🧴🪵🏁🤏🍹👄🏃🎅🏺❗🔌🐞🏴❔🐔🔄🍸🚺💷🎳🏴❔🪞🥌🌴🚳🧋🍪👢🪵🧅🎅🪞🤲🎏🍩🏴🔛💸🤞🪞🧗🧠🤶🍸🚺🥁🍪🌴🆑🦝🎂🪞🔫🧑🤳🚪🧗💻🎳🏁🧖🦦👗🌴⛺🧀🩲🪑🤑🔌🤞🍹🧗🧅🍫🧴📶🎌🍪🍼🧛🪞👝🔌🤪🍾🔃🧊🆑🧋🤌🥄🆑🦦🩲🌳🔫👵🎣🏴🆔🦪🫔🧮🏭🧀🤏🚪🤏🏴🧥🍀🔛🐏🤌👢🆑🎇🍮🍹🤟📔🚸🧊💈🦪🏸🌳🧗🪞🏀👢🔛🧅🔃🧊🤪🪞👋🏺🈵🦀🚺🌿🤟🧠🤶🧺⛺🧑🔄🧊🏭🐔🫔🔌🔼🐏🤙🌴🈲🐭🔆🧉🦷🦞🐞👚🤲🧑👋🏺🚺📖🎅🫖🆑🏁🤞🧮🈵💸🔜🧺🏭🎄🔛💾🤟👵🦠🧋📝🏴🔆🍸🆔🦤🥌🍹🔫💸🍪🪞🦷🦤🔆🏺🈲🦞🧜🔋🤏🦞🎦🌿🧗🥜🧜🥢🎅📔🤳🧊💲🦝👗🧴🏭🎊🫔🔋🎅🦀🤌🧉🤲🎄👋🧮🏭👵👑👢🆑🏃🔛🍸🚺🦢🍫🍀📶🧀🌮🧮💈🥫🧛👚🎅🐔🧁👚🤟🧑🦟🫖💈🧀🎂🧴🔛🏃🔄🏴🈲🐭🏸👚🧗🦤🚱🌵❗🧀🤟👚🧛🍾🔆🧉🦷🐓🔝🫖🤑🏴🎣🥄⛺🎇🎦🍼🤟💸🔄👚🤲🦴🤙🪞🎅👵💅🍸⛺💰🦹🧴🆔🦞🔛🌴🆔🐓🍬🥢🧗🎇🔛🪑🤑🦪🍮🏴❗🧴🔆🥄🏠🪞🧇🧮💲🦝🧢🍀🤑🪕🍬🧋🔫🦧🤞🏴🆔🐭🚸🥄🤑🧠🤟🌴❗🧍🤶👢🚳🏴🧜🔌🆑🎌🩲🧉🧛🦆🏏🏺🆔🦀🍬👢🚺🎄🫔🚪🤲💾🍪🍾🚳🏴🧇🏺🔼🏃🤏🍼🔫🐭🤳🍀💲🧴🔛🍼🧗🧅🎳🧴🕋🦞🏸🔌🪵💾🦹🌵🆑🧋🦸🔌❗🐭🤘🔌🏠🦧🍫🌴🤑🦦🧇🫖🔛🦝🧛🏺🏭🏃🔜🧊🆔🦞👑 🏺🔛🐔🔛🏴🏭🪕👑🏁🔫🧍🦹🛁🔫🧔🍪👢💲🦤🤶🧉🧛🎌🏑🧴⛺🦞🎂🫖🔛🦞🤙🔌🈲🦤🤙🚪🔫🧑🎂🪑🕋🦀♿🪴👄🦆👝🍸💈🥔🤿🌳🧛💾🤶🪴🧗🦝♿🍀🚳🏁🤳🧊🚺🦦⚾🍀🆑🔌🎦🧋🧛💻🧁🏴🤪🧀🎂🧋🦷🐭👋🔋👄🐭🚾🛁🤏🏁🤙💾🤲🦞🤿🧺🆔🦝🩲🏁👄🐔🎅🍹🤲✨🦟🏴🤑🦧🎦🧊🤑🧠🧁🔋 👦📔🎦🍀🆑🥜🤌🔌💲🧴👑🧋🤲🔌👋💾👄🦦🎂🍸🤑🎄🚸🧊❔🧅🎅🪑❔🥔🤿🌵🈵🐭🤌🚪👦🦧🏸🪑🪵🍾👋🍾🤪🐔🔜🍼👦🦝🩲🪞👄🧠🌮🏺🤑🐏🦟👢🪵💸🎅🧺💈🧋👑🌳🤲💻🍩🏴🏠🧋🏸🧉🧗💰🤶🛁🤟🐭🔅🪑🚺📖🦸🍹🤏🦢👋🧉🧖🧴🦹🌵💲🏴🔃🫖🤪🧀🦂🥄❔🧀🤶👚🤟🍾💅🥄❗🎇🎦🪞🎅📔📶🔋👄💾🔚🧺🔼🎌⚾🍼👄🧔🏀🥢🧖🦤🔄🥄❔🦧👝🍹🤲🧅🔄🧉👄🎄🤌🥢👦🐏🦠🌵🆑🎌🏀🧊🔼🦞🎂🏺🆔🥜🩲🏴❗🔌🎦🍸💈🐭🏑🪞🤲🥫🎅🚪🦷📔🚳💾🔫🐓🔛🧊🈲🧀🎣🌵🤪🐔🩲🍾🕋🐭🚾🍾🈵🍾🦹👚🔫💸👌🧊⛺🦀🎦🍀🔼🧅🎣🧋🔫🦞🚺🏴🤪🥫🔄🧊🔼👵🤘🔌🈲🐭🔚🧺🏠 🏴👌🔋🎅🦀🏑🫖🕋🏴🏸🔋🤟🎏🤘🧮🚳🍆👸🐲🌖🐏🦹👚➗📃🦹💰👄🚣👩📹📝💃🦿🐉🦷🥂🚫🔏💥🍓👇🦣🤑🪜👝🔋🤏🦧🦠🧺🔼🐔🤶🔋🤏🧅🧇🫖🈵🦞🍮🍾🆑📖👝🍾🆔🐔🩲🏺🆑🍾🔅🔌🏠🥫🍬🌿🎅🎏🍩🥤🧗🪝🧁🪞👦🥔🐝👢❔🦦🦠🍸💒🐁🃏📮🈲🚟🚳🦣🌟🦝🤏🧮🈵🎄🔝🧴🈵🐏🦟🌿🔫 🥫🍮🍀🚺🐭🤶🔌📶🦞🐞🧺🚺🧴🍪🪴🤲🎄🔅🍾🪵🪜🤌🍀❔🧴🍫🍹🔫🏁📶🌿🔫💸🐞🥄🏭🎌🩲🌳🤟🎄🔄🏴🤑🪝🩲🍼👦🐓🧥🧉🤲🎄🦟🔋🔫🪜🔚🪴🤲🧋🤟🪑🏠🐔🤙🔌🚳🧅🏀🌴📶🦤🦠🧮🚳🎌🏏👢🈵🧅🚱🥄🕋🧋🤶🫖⛺🦧🌮🌵🤑🐏👗🧊🆔🐭🏏🧴🆑🍾🔃🍾🆑🪝🔄🪴🤟🦪🤿🏴📶🐭🔆🧴🆑🎇🌮🍀🤑🏃🔛🔋📝🥔🌮🔋🤟🔌🚺🌵📶🥫👑🧺🆔🏴🍪🥄🤪💾🍬👢💈🐓🔄🪑🪵🎏🎂🌴🏠🐭🔆🚪🦷🦤🔜🌴🔼🏃🤙🧺🆑🧀🦟🚪📝🦞🥌🪑🆑🦢🤟🍸🕋🐭🩲👢🏭🏴💅🪞🔫🧔🐝🧉🔫💸🤞🧊🚺🦤🎂🪞🤏🐏🧇🌵💈📔🔝🪴🤟🪞🤟🧺💲🦆🏀🌵🤪🦧🍩🚪📝🐓🧥🛁👦🦧🌮🧊🤪🐏🦹🚪🤟🎊🐝👢🤪🦦🧥🍾🏭🦝🤶🧉🧛🪞🤞🧊❔🐓👝🧋🔫🪕👌🧺🤪🔌🥌🪑🏠🥫🔚🍀🏭🥔🍪👚🤟🥜💅🧊🏭🥫🍪🌴🚳🦝🎅🌴❔🍾🔅🏴🤑🥁🏑🌴🏭🏴📶💾🤏🥜🔅👢🕋💾🦂🍀🚳🐏⚾🍸❔🦤🤟🍸🆑🏁🏏🌴🆑🧔🧥🍸🚳🪞🐞🪴🔫🥔🦟🔋🤏🦧🤙🍀⛺🐓🎅🧊🚺🔌🌮🥢🔫🥜🦹🥢🧖🦦👗👚🧗💰🤞🔌💈🥫🎂👚🔫🍾🎦🧺🚳🥜👝🪑🆔🥜🔃🧮❗🧴🔚🚪🔫🦞🏑🏁🎅🦀🔃🍸❗🏃🦹🍹🤟🎊🍫🥢📝🦝🔆🌿🧛🦪👗🫖🆔🍾🚺🌵🤑🥜🔃🧊❗💻🏏🧺🪵🥜🦠🏺🈲🦆🪰🌿📝🏴🥊🧮🔛🪜🤌🍀🔛🦤🍪🛁👄🎇🎅🍀🚺🥫🍬🧮🚺🦪👝💾🧗🦞🌮🍸❔🦤🎳💾🎅🧑🔃🍸🏠🏴🚺👚🎅✨🤶👢🔛🏃🦹🏁🧗🪝🏑👚🤲🎊🧥💾👦🧴🤶🏁🤲🎇📶🌴🪵🧔🪰🍀🤑🪝🏑🔌💲🧀👝🧺🤑🧑🧜🍀🤑🐓🧁🏺💲🔌💅🍀🤑💰🍪🔌🪵🎏🎣🌴🤑✨🧛🥄❗🧍🦂👢🔛🥁🌮🧋👄✨🎳🏁🧗💸🔆🪑🏭🍾🔛🪞🤲🦀👑👢💈🧴🔚🔌🈵🧍🏏🏁🦷💻🏀🏺📶🧋🦂🧮🔛💰🏏🥢👄🎌🐝🧴🤑🏁🚱🏴⛺🍾🍩🥢🧗🐓🧥🪑🚺📖👋🪴🤲🥫🍫🪴🧛🐔🧜🍸🚳💾🎳🪑🚺🧋👑🏴📶📔🌮🍸🏠🏴🪰🍾🔼🎇🚸🧮🔛🐭🔅🌵❗🦧🔆👢🤑🪞🤟🛁👦🦀🔄🔌🔼💰🏀🌵🚺🦆🧢🍼🔫🐔🍬🍾❗🧅🤳🌵❔🏴🏸🛁🤟🏴🍪🏁🧛🧋🧜🍀🤑🦞🚳🫖❗🏴🧥🧉🔫🔗🍮🌳📝💾🪰🧉🦷🦀🍮🪑🤑🧅💅🪴👄🦞🧢🥢🔫🦤🩲🧉🤟💻🌮🌵⛺🦀🔚🪑🕋🐭🦸🍀🆑🐭🦂🍀🪵🏁🔜🧋🤟🦞📶🧊💈🧋🦠🧴🚺🎏🧛🌵❗🐔🩲🍾📶🐓🔛🥄❔🧅🍬🏴🚺🍾🔜🥄🪵🐭🫔🍾🚺🎏🌮🍸💲🦦🍩🥄🆔🏁🚱🔋🧖🦧🍮🪑🔛🎏🧛🍾⛺💷⚾🌴🚺🐭🤘🍹🤟💾🦹👚🧗✨🤳🌵🏠🪞🥊🌴💲🐔🎂🌵🤪📔🤌🏺🔼🧴🦸🏺⛺🧔🌮🧴🆑🧴🎦🍸🚺🦪🪰🧴⛺🐏🩲🥄💲🦀🪰🔌 🏭🦪🫔🍼🧗🥁🧇🧮🚺🔌🦸🏺🚺🦢🦠🌳👦🐔🧜🍼🤟🎇🔜🍸🪵🧠🍪🍾🕋🍾🩲🍀🤑🏁🧇🧋🤲🧍🎂🏴🈵🐔🪰🥄🔛📖🧜🌵🈲🦆🦠🫖⛺💻🎳🏺🆔??🍬👢🤑🥁👗🧊🚺🥜🔃🔌❔🐔🔝👢🪵🏴🤙🍀🔼🥫🧇🌿🔫🥜🔝🍾??🦢🦹🏴🤑🏴🚸🌿🧗🧔🏸🏴❗🦀🚱🍾🪵🎇🧜🚪🤟🦧🥌🧺❔💻🐝🧋👄🦧🩲 🍀🤑🪞👝🏺🔛👵🍮🌳🤏🦆🧇🥢🔫🪝🧜🍸🤪🔌🦸🌴💈🪞🧜🍼🧗🪜🍫🚪👦🥔🧇🌵❗📖👑🌴🕋🥜🥊🪑🏭💷🏀🪞🧗📔🤘👚🔫💷🍩🔋👄🦴🧢🌿🔫📔🍫🥤🧛🎌🍫🥤🎅🏁🥊🍹🧗🥜🚳🍀🔼🧑🔅🔌❔🧀🤿🥤🧗🦝🫔🧋🤲🥫🚳🍀🚺🧍🤿🍾💲🥫🔝🫖🔛🔌🦂🪑🔼🧍🦂🧴🆑🔌🍫🧴🏭🦪🤿🌴🈵💾🥌🧴🤑🧴🧛🌳🤏🧅🤏🧴🏭🪞🤟🌴❔🐏🎣🔋🤲🍾🌮🧊🕋🐏👝🌿🧗🏴🍫🛁🤟🍾🦹🏺🏭📖🤳🥄🔛👧👸👞😯🐀🚱💳😶📄🐮🦣🌜😠🈶🪞🧖🐛🐕💳🧎🌴👇🐒🍍🔡👓📫🦿🤯🧛🚪👯🦦🦿🧊🤑🎏🏸🌵🦿🤯🙅📭🤏🤭🚯🚪🤎🎸🦌🦣🌟🐭🃏🐉🦷🎒🐞🚪🔆🌴👇🦣🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏??🌵🤑🎏🏸🌵😛🐁🃏🚪💈🧋💄💸📞🍻🥿🦣🌟🐭🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏??🌵🤑 🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤑🎏🏸🌵🤛🏧🥻📱😯🦝👜📭❔🔥🃏🍱👄🐔🏸🌵🤑🎏🏸🌵😛🐁🃏🪞🧖🍆👇🦣🪵🎏🏸🌵😛🐁🃏🧽🧖🧍🚯💴👄🚣👌🏴🦿🤯🙅📭🤏🤭🚯 🚪🤎🎸🦌🦣🌟🐭🃏🐉🤛🎇🥼🎧🤎🍻👖👚🤨🧈🚸👚💲🏐👇👜🌖🐀🧥🦣🌟🐭🃏🐉🤛🎁🩲📹🤎🧃♿📹🤎🌂🪳🚪💈🧋💄💰👄🚣👋🏁👄🧍🍫🛁🦷🪞🏀🍹👦💻👝🪑🈵🎊🦂🪑🈵🦧🏑🧮🔛🥫🔅🧉🤲👵🎣🪑🔼🦆🏸🪞??🏃🤌🌵🤑🐓🧛🧮🕋📔🔃🪞🤟🏴🦟🔋🦷📔🧁🦣😯🦨🐕🔋😥🏃🚰📩😀🕍🚱🦣 🌟🐭🎳🍀❗🦤🦸🌵📶🦢🤞💾🧗🔗🍪🍸🔛🦦🐝🌴🆑🪝🦂🌴❔🍾🤏🏺💈🦀🚾💾🔫🦪👑🧊🤑🦞🚾🧴🏭🎏🎦🪑🤪🐏🧜🍾❔🐔🦟🥤📝🦧🥗🐉🤛🎇🥼🎧📞🍻🥿🦣🌌🔥🎓📼😯🦏👑💸📶🦢🚱🦣🌌🔥🎓📼😯🦏👑💸📶🦢🚱🥻📶🧍🈶🍚🤨📄🦫📱🙁😫🙇🧺👄🚣🤙🦣😯🦨🐕🔋😥🏃🚰🔋😥💃🦸🥻🧎🦴🚱💸🔚🦦🦿🌵🈵🧠⚾🌵⛺🦢👗🧴⛺🪝👗🫖🏭📖🧇🥄🕋🦤🔝🧉🧗🍾🔆🍀🔛🔌🐝🪑🈲🪞🤟🌵🚺🎏💅🧺🆔🦀🔝🌴🆑🪕🧛🍸🕋🏁🧢🪑⛺💸♿🪑🦿🤯🤷🎼🦷🔢👝🥻😶🚟🎅🪑👄🚣👋🌴🚺💰🐞🥤🦷🐏🦹👚🦷📔👝👢🔼🎌🦠🏴📶🦢👗🏺🏭🦢👗🏺🕋🐔♿🧺🤪🦞🪰🍾🤪🧋🦹👢🈵🏴🏀🏁📝🧅🏑🥤🤏💻🫔🏺💲🦤👗🦣😯🦨🪰💳💱🚑📵🧻👄🚣🤌🧴💲🐔🍬🧴⛺🪕🔃🧉📝🧅🤟🏴🤪🐔🧛🪑🤪🍾🍪🧺💲🦀🎳🧮🕋🦢👌🌿🧗🦞🚱🧴📶🦢🎳🏴💈🦤🪰💾🦷📖🧢🔋🎅🪕👋🔌🚺🪕🧜🌳🔫🧀🐝🚪🔫🥜🚱🥢🤟🦴🔜🏁🧗🪝🚺🌿🦷🏴🏸🧊🪵🎇🤶🧺📶🦧🚺🍀🤑🐭🥌🧊📶🥫🔚🧴🪵🎇🚳🏁🤟🧔🦟🌿📝💾👗🧺💒🐁🃏🔏🧎🍸🚾🧷👯🦦🙎🎼😥😷🃏🔏🧎🍸🚾🧷💆🚑📵🧻👄💗🥷📹🙁🏧🥻

--show_full_history: the new argument (-f or --show_full_history) was added to the outputs commands in order to list the entire history of outputs made from the wallet, instead of showing only the last output. This is how it can be used:

epi-wallet outputs --show_full_history

Bugs fixed

Issue #20

The reported issue #20 was that the wallet’s balance is different after recovery from v2.17 to v3.0.0. In some cases, after the recovery, some EPIC coins are lost.

The bug was solved on the scan command implementation. Inside of it, there was a function called collect_chain_outputs, which gets information from the chain. Within this function, there is a specific part that searches for transactions belonging to the wallet, which is called identify_utxo_outputs. Inside of it, there is a part that rewinds the transaction. That is where the change was made. Before the header’s version check to do the rewind with the builder in the correct version. The header version check was removed, making it rewind with the two builders, legacy and new, and then returning what was found.

Issue #26

The reported issue #26 was that details about old transactions are lost when using the outputs command.

The bug was solved by adding the --show_full_history argument to the outputs command.

Full changelog

  • Fix on tests
    • Changed requests port
  • Fix for issue #26 (Wallet Tx Details lost Output/s)
  • Fix to issue #20 (Wallet CLI shows wrong balance after recovery)
  • Emoji transaction
  • Fix for Rust warnings
  • New readme
  • LMDB to SQLite interface

Epic Wallet - v3.0.0

  • Fix: owner_rpcs verify and payment proof tests
  • Code: rust format code rustfmt
  • Fix: cargo test and ./api cargo test
  • Update build.md
  • Create build.md
  • Add README.txt to epic-wallet (CLI) github repo and udpate readme.txt to include steps to start listener
  • Update issue templates
  • Add -c flag; update required node version to 3.0.0
  • #14 fixing unwrap error on password prompt
  • Fix: update epic_util dependency to include fix for the incompatibilty with v2 log-level values on configuration file
  • #11 Reusing the BlockFees structure from epic core
  • Add missing export and verify proof
  • Update doc and cleanup doc
  • Remove libs from doc
  • Fix: start improve controller unit tests
  • Fix: some unit api tests
  • Code: formatting
  • #8 Add sample code to simulate a encrypted transaction with init_secure_api (v3)
  • #7 Update epic cargo docs and wrong comments in code
  • #6 Removing verifier caches; update epic dependencies
  • Final wallet release v3.0.0 for epic v3.0.0
  • Finalize beta testing
  • Change epic source to 3.0.0-alpha-5
  • Make libwallet slate public

epic-wallet 3.0.0-alpha-3

  • Change epic source to 3.0.0-alpha-5
  • Make libwallet slate public
  • #5 Merge: pull request from EpicCash/fix-cargo-tests
  • Fix: wallet default tests
  • Fix: rpc api tests
  • Fix: fixing rpc tests
  • Add cargo lock
  • #1 Merge pull request from EpicCash/fix-proof-version
  • Fix: github url
  • Fix: proof version

epic-wallet 3.0.0-alpha-2

  • Fix: conflict with epic server
  • Now cargo install also produces a .crates2.json artifact.
  • Updating references to the server.

epic-wallet 3.0.0-alpha-1

  • Add config for debian package
  • Fix: header version
  • Add build foundation
  • Update wallet to use new tx proof
  • Integrates with grin 3.0.0

epic-wallet 2.3.0-1

  • Adequating the tests
  • Fix: foundation.json path
  • Fix: wallet tests
  • Enabling CI.
  • Changing dependencies to git
  • Fix: some rpc tests
  • Using HTTPS for git dependencies
  • Changing the CI jobs.
  • Adding integration to the workspace.
  • Remove integration tests from CI.
  • Fix: more api tests
  • Fix: more rpc tests
  • Adding the API tests back to the CI.
  • Per job cache.
  • Fix: finalize_tx test
  • Fix: all wallet tests
  • Adding a user guide.
  • Owner API usage guide.
  • Add transactions strategies to deal with multiple people
  • Improving the owner_api_usage.
  • Adding state diagrams to explain the issue.
  • Trying to add inlined images.
  • Using png instead of svg
  • Trying to use an embedded image.
  • A Guide to Fixing the 500 Error in the Wallet.
  • Add instructions for CLI users
  • Add support to V2 API responses in the CLI send
  • Change to API 2.0 on CLI send sync
  • Improve the message of error on seed recover

epic-wallet 2.2.2-1

  • Release version

epic-wallet 2.0.0-1

  • Fix: copyright notices.

epic-wallet 1.6.0-2

  • Fix: debian/control description

epic-wallet 1.6.0-1

  • Add windows installer

epic-wallet 1.2.0-1

  • Update the rewards to match the whitepaper
  • Fix: indentation
  • Updating bigint
  • Aborting package build in case of error.

epic-wallet 1.0.2-1

  • Updating with the epic node

epic-wallet 1.0.0-2

  • Fix: dependencies
  • Removing the pipe from the network

epic-wallet 1.0.0-1

  • Initial release
  • Merge branch 'master' of https://github.com/mimblewimble/grin-wallet
  • Add doc
  • Fix: compile error
  • travis release
  • travis api token
  • travis build
  • ignore doc tests for now to avoid circular deps
  • add skeletal readmore
  • compile from github branch, clean up cargo dep files
  • move api into separate crate, integration tests working
  • full compilation, move tests into different directory
  • move wallet into refwallet crate
  • initial commit