Compare commits
5 Commits
v4.0.0-rc3
...
v4.0.0-rc4
| Author | SHA1 | Date | |
|---|---|---|---|
| b481b3254b | |||
| 01a2efb7b8 | |||
| a730fcc366 | |||
| 457f9cf4ea | |||
| f34b6ed982 |
+8
-1
@@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
### Changed
|
### Changed
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
|
## [4.0.0-rc4] - 2019-09-13
|
||||||
|
### Added
|
||||||
|
- Handle numeric escapes, i.e. `"\x19Ethereum Signed Message:\n"`, and similar strings.
|
||||||
|
### Changed
|
||||||
|
### Removed
|
||||||
|
|
||||||
## [4.0.0-rc3] - 2019-09-12
|
## [4.0.0-rc3] - 2019-09-12
|
||||||
### Added
|
### Added
|
||||||
- `Bytes.concat` and `Bytes.split` are added to be able to
|
- `Bytes.concat` and `Bytes.split` are added to be able to
|
||||||
@@ -154,7 +160,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Simplify calldata creation - instead of passing a compiled contract, simply
|
- Simplify calldata creation - instead of passing a compiled contract, simply
|
||||||
pass a (stubbed) contract string.
|
pass a (stubbed) contract string.
|
||||||
|
|
||||||
[Unreleased]: https://github.com/aeternity/aesophia/compare/v4.0.0-rc3...HEAD
|
[Unreleased]: https://github.com/aeternity/aesophia/compare/v4.0.0-rc4...HEAD
|
||||||
|
[4.0.0-rc4]: https://github.com/aeternity/aesophia/compare/v4.0.0-rc3...v4.0.0-rc4
|
||||||
[4.0.0-rc3]: https://github.com/aeternity/aesophia/compare/v4.0.0-rc1...v4.0.0-rc3
|
[4.0.0-rc3]: https://github.com/aeternity/aesophia/compare/v4.0.0-rc1...v4.0.0-rc3
|
||||||
[4.0.0-rc1]: https://github.com/aeternity/aesophia/compare/v3.2.0...v4.0.0-rc1
|
[4.0.0-rc1]: https://github.com/aeternity/aesophia/compare/v3.2.0...v4.0.0-rc1
|
||||||
[3.2.0]: https://github.com/aeternity/aesophia/compare/v3.1.0...v3.2.0
|
[3.2.0]: https://github.com/aeternity/aesophia/compare/v3.1.0...v3.2.0
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@
|
|||||||
{base_plt_apps, [erts, kernel, stdlib, crypto, mnesia]}
|
{base_plt_apps, [erts, kernel, stdlib, crypto, mnesia]}
|
||||||
]}.
|
]}.
|
||||||
|
|
||||||
{relx, [{release, {aesophia, "4.0.0-rc3"},
|
{relx, [{release, {aesophia, "4.0.0-rc4"},
|
||||||
[aesophia, aebytecode, getopt]},
|
[aesophia, aebytecode, getopt]},
|
||||||
|
|
||||||
{dev_mode, true},
|
{dev_mode, true},
|
||||||
|
|||||||
+3
-1
@@ -95,9 +95,11 @@ parse_char([$', C, $']) -> C.
|
|||||||
|
|
||||||
unescape(Str) -> unescape(Str, []).
|
unescape(Str) -> unescape(Str, []).
|
||||||
|
|
||||||
%% TODO: numeric escapes
|
|
||||||
unescape([$"], Acc) ->
|
unescape([$"], Acc) ->
|
||||||
list_to_binary(lists:reverse(Acc));
|
list_to_binary(lists:reverse(Acc));
|
||||||
|
unescape([$\\, $x, D1, D2 | Chars ], Acc) ->
|
||||||
|
C = list_to_integer([D1, D2], 16),
|
||||||
|
unescape(Chars, [C | Acc]);
|
||||||
unescape([$\\, Code | Chars], Acc) ->
|
unescape([$\\, Code | Chars], Acc) ->
|
||||||
Ok = fun(C) -> unescape(Chars, [C | Acc]) end,
|
Ok = fun(C) -> unescape(Chars, [C | Acc]) end,
|
||||||
case Code of
|
case Code of
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{application, aesophia,
|
{application, aesophia,
|
||||||
[{description, "Contract Language for aeternity"},
|
[{description, "Contract Language for aeternity"},
|
||||||
{vsn, "4.0.0-rc3"},
|
{vsn, "4.0.0-rc4"},
|
||||||
{registered, []},
|
{registered, []},
|
||||||
{applications,
|
{applications,
|
||||||
[kernel,
|
[kernel,
|
||||||
|
|||||||
@@ -15,3 +15,5 @@ contract BasicAuth =
|
|||||||
entrypoint to_sign(h : hash, n : int) =
|
entrypoint to_sign(h : hash, n : int) =
|
||||||
Crypto.blake2b((h, n))
|
Crypto.blake2b((h, n))
|
||||||
|
|
||||||
|
entrypoint weird_string() : string =
|
||||||
|
"\x19Weird String\x42\nMore\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user