mirror of
https://github.com/logos-storage/nim-contract-abi.git
synced 2026-01-10 09:33:06 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a7b4cecce | ||
|
|
deccf3e1be | ||
|
|
977d6f5fa3 | ||
|
|
b9696af998 | ||
|
|
524bda044b | ||
|
|
c0c0832676 | ||
|
|
36dd1086ab | ||
|
|
9ea526814d | ||
|
|
5a215dc1c2 | ||
|
|
4da6e9cddd |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -7,7 +7,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
nim: [1.6.12, stable]
|
nim: [2.0.14, stable]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: iffy/install-nim@v3
|
- uses: iffy/install-nim@v3
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@
|
|||||||
!*.*
|
!*.*
|
||||||
nimble.develop
|
nimble.develop
|
||||||
nimble.paths
|
nimble.paths
|
||||||
|
nimbledeps/
|
||||||
|
|||||||
@ -11,7 +11,7 @@ Use the [Nimble][2] package manager to add `contractabi` to an existing project.
|
|||||||
Add the following to its .nimble file:
|
Add the following to its .nimble file:
|
||||||
|
|
||||||
```nim
|
```nim
|
||||||
requires "contractabi >= 0.5.0 & < 0.6.0"
|
requires "contractabi >= 0.7.1 & < 0.8.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
version = "0.5.0"
|
version = "0.7.3"
|
||||||
author = "Contract ABI Authors"
|
author = "Contract ABI Authors"
|
||||||
description = "ABI Encoding for Ethereum contracts"
|
description = "ABI Encoding for Ethereum contracts"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|
||||||
requires "stint"
|
requires "stint >= 0.8.1 & < 0.9.0"
|
||||||
requires "stew"
|
requires "stew >= 0.2.0"
|
||||||
requires "nimcrypto >= 0.5.4 & < 0.6.0"
|
requires "nimcrypto >= 0.6.2 & < 0.8.0"
|
||||||
requires "questionable >= 0.10.0 & < 0.11.0"
|
requires "questionable >= 0.10.10 & < 0.11.0"
|
||||||
requires "upraises >= 0.1.0 & < 0.2.0"
|
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
import pkg/stew/byteutils
|
import pkg/stew/byteutils
|
||||||
import pkg/questionable
|
import pkg/questionable
|
||||||
import pkg/upraises
|
|
||||||
|
|
||||||
push: {.upraises: [].}
|
{.push raises:[].}
|
||||||
|
|
||||||
type
|
type
|
||||||
Address* = distinct array[20, byte]
|
Address* = distinct array[20, byte]
|
||||||
|
|||||||
@ -3,7 +3,6 @@ import pkg/stint
|
|||||||
import pkg/stew/endians2
|
import pkg/stew/endians2
|
||||||
import pkg/stew/byteutils
|
import pkg/stew/byteutils
|
||||||
import pkg/questionable/results
|
import pkg/questionable/results
|
||||||
import pkg/upraises
|
|
||||||
import ./encoding
|
import ./encoding
|
||||||
import ./integers
|
import ./integers
|
||||||
import ./address
|
import ./address
|
||||||
@ -11,7 +10,7 @@ import ./address
|
|||||||
export stint
|
export stint
|
||||||
export address
|
export address
|
||||||
|
|
||||||
push: {.upraises:[].}
|
{.push raises:[].}
|
||||||
|
|
||||||
type
|
type
|
||||||
AbiDecoder* = object
|
AbiDecoder* = object
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import std/typetraits
|
import std/typetraits
|
||||||
import pkg/stint
|
import pkg/stint
|
||||||
import pkg/upraises
|
|
||||||
import pkg/stew/byteutils
|
import pkg/stew/byteutils
|
||||||
import pkg/stew/endians2
|
import pkg/stew/endians2
|
||||||
import ./integers
|
import ./integers
|
||||||
@ -9,7 +8,7 @@ import ./address
|
|||||||
export stint
|
export stint
|
||||||
export address
|
export address
|
||||||
|
|
||||||
push: {.upraises:[].}
|
{.push raises:[].}
|
||||||
|
|
||||||
type
|
type
|
||||||
AbiEncoder* = object
|
AbiEncoder* = object
|
||||||
|
|||||||
85
nimble.lock
85
nimble.lock
@ -1,57 +1,72 @@
|
|||||||
{
|
{
|
||||||
"version": 1,
|
"version": 2,
|
||||||
"packages": {
|
"packages": {
|
||||||
"upraises": {
|
|
||||||
"version": "0.1.0",
|
|
||||||
"vcsRevision": "ff4f8108e44fba9b35cac535ab63d3927e8fd3c2",
|
|
||||||
"url": "https://github.com/markspanbroek/upraises.git",
|
|
||||||
"downloadMethod": "git",
|
|
||||||
"dependencies": [],
|
|
||||||
"checksums": {
|
|
||||||
"sha1": "a0243c8039e12d547dbb2e9c73789c16bb8bc956"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nimcrypto": {
|
"nimcrypto": {
|
||||||
"version": "0.5.4",
|
"version": "0.7.2",
|
||||||
"vcsRevision": "a5742a9a214ac33f91615f3862c7b099aec43b00",
|
"vcsRevision": "8085515e717b07e29de1ef50d5e9f15a3f6004c0",
|
||||||
"url": "https://github.com/cheatfate/nimcrypto",
|
"url": "https://github.com/cheatfate/nimcrypto",
|
||||||
"downloadMethod": "git",
|
"downloadMethod": "git",
|
||||||
"dependencies": [],
|
"dependencies": [],
|
||||||
"checksums": {
|
"checksums": {
|
||||||
"sha1": "f76c87707cd4e96355b8bb6ef27e7f8b0aac1e08"
|
"sha1": "8ed2a20f2efaa08782bb871284cbcc3100ca1dea"
|
||||||
}
|
|
||||||
},
|
|
||||||
"stew": {
|
|
||||||
"version": "0.1.0",
|
|
||||||
"vcsRevision": "6ad35b876fb6ebe0dfee0f697af173acc47906ee",
|
|
||||||
"url": "https://github.com/status-im/nim-stew.git",
|
|
||||||
"downloadMethod": "git",
|
|
||||||
"dependencies": [],
|
|
||||||
"checksums": {
|
|
||||||
"sha1": "46d58c4feb457f3241e3347778334e325dce5268"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"questionable": {
|
"questionable": {
|
||||||
"version": "0.10.2",
|
"version": "0.10.15",
|
||||||
"vcsRevision": "6018fd43e033d5a5310faa45bcaa1b44049469a4",
|
"vcsRevision": "82d90b67bcfb7f2e918b61dace2ff1a4ced60935",
|
||||||
"url": "https://github.com/status-im/questionable.git",
|
"url": "https://github.com/codex-storage/questionable",
|
||||||
"downloadMethod": "git",
|
"downloadMethod": "git",
|
||||||
"dependencies": [],
|
"dependencies": [],
|
||||||
"checksums": {
|
"checksums": {
|
||||||
"sha1": "36a6c012637c7736a390e74a7f94667bca562073"
|
"sha1": "3238ff637c7b44d2fa8fcb839a8ded968e389de3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results": {
|
||||||
|
"version": "0.5.1",
|
||||||
|
"vcsRevision": "df8113dda4c2d74d460a8fa98252b0b771bf1f27",
|
||||||
|
"url": "https://github.com/arnetheduck/nim-results",
|
||||||
|
"downloadMethod": "git",
|
||||||
|
"dependencies": [],
|
||||||
|
"checksums": {
|
||||||
|
"sha1": "a9c011f74bc9ed5c91103917b9f382b12e82a9e7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unittest2": {
|
||||||
|
"version": "0.2.4",
|
||||||
|
"vcsRevision": "8b51e99b4a57fcfb31689230e75595f024543024",
|
||||||
|
"url": "https://github.com/status-im/nim-unittest2",
|
||||||
|
"downloadMethod": "git",
|
||||||
|
"dependencies": [],
|
||||||
|
"checksums": {
|
||||||
|
"sha1": "746106a4dfefffce497f1693733f1c1513b5c62c"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stew": {
|
||||||
|
"version": "0.4.1",
|
||||||
|
"vcsRevision": "e5740014961438610d336cd81706582dbf2c96f0",
|
||||||
|
"url": "https://github.com/status-im/nim-stew",
|
||||||
|
"downloadMethod": "git",
|
||||||
|
"dependencies": [
|
||||||
|
"results",
|
||||||
|
"unittest2"
|
||||||
|
],
|
||||||
|
"checksums": {
|
||||||
|
"sha1": "996d9c058ee078d0209a5f539424a0235683918c"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"stint": {
|
"stint": {
|
||||||
"version": "0.0.1",
|
"version": "0.8.2",
|
||||||
"vcsRevision": "036c71d06a6b22f8f967ba9d54afd2189c3872ca",
|
"vcsRevision": "470b7892561b5179ab20bd389a69217d6213fe58",
|
||||||
"url": "https://github.com/status-im/stint.git",
|
"url": "https://github.com/status-im/nim-stint",
|
||||||
"downloadMethod": "git",
|
"downloadMethod": "git",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"stew"
|
"stew",
|
||||||
|
"unittest2"
|
||||||
],
|
],
|
||||||
"checksums": {
|
"checksums": {
|
||||||
"sha1": "0f187a2115315ca898e5f9a30c5e506cf6057062"
|
"sha1": "d8f871fd617e7857192d4609fe003b48942a8ae5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
}
|
"tasks": {}
|
||||||
|
}
|
||||||
|
|||||||
@ -20,7 +20,7 @@ proc example*[T](_: type seq[T], len = 0..5): seq[T] =
|
|||||||
newSeqWith(chosenlen, T.example)
|
newSeqWith(chosenlen, T.example)
|
||||||
|
|
||||||
proc example*(T: type StUint): T =
|
proc example*(T: type StUint): T =
|
||||||
T.fromBytes(array[sizeof(T), byte].example)
|
T.fromBytesBE(array[sizeof(T), byte].example)
|
||||||
|
|
||||||
proc example*(T: type StInt): T =
|
proc example*(T: type StInt): T =
|
||||||
cast[T](StUint[T.bits].example)
|
cast[T](StUint[T.bits].example)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user