Skip to content

Commit 20bc897

Browse files
chessaiEvgenii Akentev
authored andcommitted
Fix hyperlane natives
Signed-off-by: Evgenii Akentev <[email protected]> Change-Id: I8f09e97090ae3fbe32bbe0339414ef175d987800
1 parent 61b6135 commit 20bc897

File tree

16 files changed

+571
-341
lines changed

16 files changed

+571
-341
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,5 @@ cabal.project.local*
3636
/golden/lcov/actual
3737
.DS_Store
3838
.ghci_history
39+
.direnv/
40+
.envrc

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
### Features
44
- Support for keccak256 native (#1354)
55
- Add poseidon hash alias as `hash-poseidon` (#1356)
6+
- Fixed support for decoding a hyperlane TokenMessage (#1362)
7+
- Support for encoding a hyperlane TokenMessage (#1362)
68

79
### Bugfixes
810
- Fixed parsing of difftime as a property (#1349)

docs/en/pact-functions.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ Return ID if called during current pact execution, failing if not.
461461
Obtain current pact build version.
462462
```lisp
463463
pact> (pact-version)
464-
"4.11"
464+
"4.12"
465465
```
466466

467467
Top level only: this function will fail if used in module code.
@@ -1874,20 +1874,32 @@ pact> (poseidon-hash-hack-a-chain 1 2 3 4 5 6 7 8)
18741874

18751875
Decode a base-64-unpadded encoded Hyperlane Token Message into an object `{recipient:GUARD, amount:DECIMAL, chainId:STRING}`.
18761876
```lisp
1877-
pact> (hyperlane-decode-token-message "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGF7InByZWQiOiAia2V5cy1hbGwiLCAia2V5cyI6WyJkYTFhMzM5YmQ4MmQyYzJlOTE4MDYyNmEwMGRjMDQzMjc1ZGViM2FiYWJiMjdiNTczOGFiZjZiOWRjZWU4ZGI2Il19AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
1877+
pact> (hyperlane-decode-token-message "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHsABHsicHJlZCI6ICJrZXlzLWFsbCIsICJrZXlzIjpbImRhMWEzMzliZDgyZDJjMmU5MTgwNjI2YTAwZGMwNDMyNzVkZWIzYWJhYmIyN2I1NzM4YWJmNmI5ZGNlZThkYjYiXX0")
18781878
{"amount": 0.000000000000000123,"chainId": "4","recipient": KeySet {keys: [da1a339bd82d2c2e9180626a00dc043275deb3ababb27b5738abf6b9dcee8db6],pred: keys-all}}
18791879
```
18801880

18811881

1882+
### hyperlane-encode-token-message {#hyperlane-encode-token-message}
1883+
1884+
*x*&nbsp;`string` *&rarr;*&nbsp;`object:*`
1885+
1886+
1887+
Encode an object into a base-64-unpadded encoded Hyperlane Token Message `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHsABHsicHJlZCI6ICJrZXlzLWFsbCIsICJrZXlzIjpbImRhMWEzMzliZDgyZDJjMmU5MTgwNjI2YTAwZGMwNDMyNzVkZWIzYWJhYmIyN2I1NzM4YWJmNmI5ZGNlZThkYjYiXX0`.
1888+
```lisp
1889+
pact> (hyperlane-encode-token-message {"recipient": "eyJwcmVkIjogImtleXMtYWxsIiwgImtleXMiOlsiZGExYTMzOWJkODJkMmMyZTkxODA2MjZhMDBkYzA0MzI3NWRlYjNhYmFiYjI3YjU3MzhhYmY2YjlkY2VlOGRiNiJdfQ", "amount":123000000000000000.0, "chainId":"4"})
1890+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbT72StfgAAABHsicHJlZCI6ICJrZXlzLWFsbCIsICJrZXlzIjpbImRhMWEzMzliZDgyZDJjMmU5MTgwNjI2YTAwZGMwNDMyNzVkZWIzYWJhYmIyN2I1NzM4YWJmNmI5ZGNlZThkYjYiXX0"
1891+
```
1892+
1893+
18821894
### hyperlane-message-id {#hyperlane-message-id}
18831895

18841896
*x*&nbsp;`object:*` *&rarr;*&nbsp;`string`
18851897

18861898

18871899
Get the Message Id of a Hyperlane Message object.
18881900
```lisp
1889-
pact> (hyperlane-message-id {"destinationDomain": 1,"nonce": 325,"originDomain": 626,"recipient": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F","sender": "0x6b622d746f6b656e2d726f75746572","tokenMessage": {"amount": 10000000000000000000.0,"recipient": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"version": 1})
1890-
"0x97d98aa7fdb548f43c9be37aaea33fca79680247eb8396148f1df10e6e0adfb7"
1901+
pact> (hyperlane-message-id {"destinationDomain": 1,"nonce": 325,"originDomain": 626,"recipient": "AAAAAAAAAADpgrOqkM0BOY-FQnNzkDXuYlsVcf50GRU","sender": "AAAAAAAAAAAAAAAAf6k4W-ECrD6sKXSD3WIz1is-FJY","messageBody": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHsABHsicHJlZCI6ICJrZXlzLWFsbCIsICJrZXlzIjpbImRhMWEzMzliZDgyZDJjMmU5MTgwNjI2YTAwZGMwNDMyNzVkZWIzYWJhYmIyN2I1NzM4YWJmNmI5ZGNlZThkYjYiXX0","version": 1})
1902+
"9lxextceVw0b18kUdfwSze-3Iw7OE-Z5Kq9I8HTDKGE"
18911903
```
18921904

18931905
## REPL-only functions {#repl-lib}

golden/gas-model/golden

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -611,9 +611,8 @@
611611
"77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a")
612612
- 29
613613
- - |-
614-
(hyperlane-message-id {"destinationDomain": 1,"nonce": 325,"originDomain": 626,"recipient": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F","sender": "0x6b622d746f6b656e2d726f75746572","tokenMessage": {"amount": 10000000000000000000.0,"recipient": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"version": 1})
615-
(hyperlane-message-id {"destinationDomain": 1,"nonce": 325,"originDomain": 626,"recipient": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F","sender": "0x6b622d746f6b656e2d726f75746572","tokenMessage": {"amount": 10000000000000000000.0,"recipient": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"version": 1})
616-
- 4
614+
(hyperlane-message-id {"destinationDomain": 1,"nonce": 325,"originDomain": 626,"recipient": "AAAAAAAAAADpgrOqkM0BOY-FQnNzkDXuYlsVcf50GRU","sender": "AAAAAAAAAAAAAAAAf6k4W-ECrD6sKXSD3WIz1is-FJY","messageBody": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHsABHsicHJlZCI6ICJrZXlzLWFsbCIsICJrZXlzIjpbImRhMWEzMzliZDgyZDJjMmU5MTgwNjI2YTAwZGMwNDMyNzVkZWIzYWJhYmIyN2I1NzM4YWJmNmI5ZGNlZThkYjYiXX0","version": 1})
615+
- 2
617616
- - (^ 2 longNumber)
618617
- 4
619618
- - (^ 2 medNumber)

pact.cabal

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ library
9797
exposed-modules:
9898
Crypto.Hash.Blake2Native
9999
Crypto.Hash.Keccak256Native
100-
Crypto.Hash.HyperlaneMessageId
100+
Crypto.Hash.HyperlaneNatives
101101
Crypto.Hash.PoseidonNative
102102
Pact.Analyze.Remote.Types
103103
Pact.ApiReq
@@ -424,6 +424,7 @@ test-suite hspec
424424
, base
425425
, base16-bytestring
426426
, base64-bytestring
427+
, binary
427428
, bound
428429
, bytestring
429430
, containers
@@ -443,6 +444,7 @@ test-suite hspec
443444
, trifecta
444445
, unordered-containers
445446
, vector
447+
, wide-word >= 0.1
446448

447449
other-modules:
448450
Blake2Spec

src/Crypto/Hash/HyperlaneMessageId.hs

Lines changed: 0 additions & 170 deletions
This file was deleted.

0 commit comments

Comments
 (0)