Anna Shaleva
|
c0a2c74e0c
|
core: maintain a set of NEP17-compliant contracts
|
2021-07-28 13:22:53 +03:00 |
|
Roman Khimov
|
ac126a300b
|
callflag: add C#-compliant JSONization, fix #2040
|
2021-07-06 11:17:12 +03:00 |
|
Evgeniy Stratonikov
|
c9e6350915
|
manifest: fix group permission handling
We need to have at least one matching group in the manifest.
Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
|
2021-06-30 11:02:45 +03:00 |
|
Evgeniy Stratonikov
|
4283e1003f
|
manifest: fix wildcard permission handling
Wildcard contract can coexist with restricted set of methods.
Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
|
2021-06-30 11:00:06 +03:00 |
|
Evgeniy Stratonikov
|
9c06ba6b07
|
smartcontract: marshal manifest Extra field as object, fix #2021
This is needed to strip whitespace which can be present.
Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
|
2021-06-29 11:39:56 +03:00 |
|
Roman Khimov
|
9d2712573f
|
*: enable godot linter and fix all its warnings
It's important for NeoGo to have clean documentation. No functional changes.
|
2021-05-12 23:17:03 +03:00 |
|
Roman Khimov
|
b8ba923874
|
standard: improve testing code
staticcheck: SA4021: x = append(y) is equivalent to x = y
|
2021-05-12 19:12:09 +03:00 |
|
Anna Shaleva
|
4b933f88a7
|
core: simplify interop functions
We now have the only interop table (system interops).
|
2021-05-12 13:30:01 +03:00 |
|
Anna Shaleva
|
6d59689d9c
|
core: rename Neo.Crypto.CheckMultisig interop
|
2021-05-11 18:38:14 +03:00 |
|
Roman Khimov
|
ba5273999f
|
Merge pull request #1950 from nspcc-dev/nep11/data
*: add `data` to NEP11 Transfer
|
2021-05-06 10:39:56 +03:00 |
|
Anna Shaleva
|
d0c64347ab
|
*: add data to NEP11 Transfer
|
2021-05-05 19:44:29 +03:00 |
|
Anna Shaleva
|
efe9bee1ff
|
smartcontract: refactor manifest.FromStackItem test
We need a good case to ensure that error cases constructed well.
|
2021-05-05 18:54:42 +03:00 |
|
Anna Shaleva
|
50fc9bf766
|
smartcontract: use permission descriptors for manifest's trusts
|
2021-05-05 17:40:10 +03:00 |
|
Evgeniy Stratonikov
|
bb039ef035
|
manifest: add features field
|
2021-05-04 13:10:46 +03:00 |
|
Anna Shaleva
|
28b78d1a6c
|
smartcontract: remove NEP10 standard name
It's unused.
|
2021-04-30 11:38:11 +03:00 |
|
Anna Shaleva
|
28b74cb647
|
smartcontract: add ExpandParameterToEmitable method
It'll help to convert Parameter to a atandard type which then can be
emitted ass an array item.
|
2021-04-16 17:30:25 +03:00 |
|
Roman Khimov
|
d314f82db3
|
transaction: drop Network from Transaction
We only need it when signing/verifying.
|
2021-03-26 13:45:18 +03:00 |
|
Roman Khimov
|
df12adaa9e
|
crypto: remove crypto.Verifiable interface
We can now verify any hash.Hashable thing.
|
2021-03-26 13:45:18 +03:00 |
|
Anna Shaleva
|
e5cdecfa9f
|
core: fix transaction hashes
|
2021-03-18 17:57:54 +03:00 |
|
Roman Khimov
|
9d500b86fc
|
context: s/hex/data/ for JSON
See neo-project/neo#2394.
|
2021-03-12 13:10:24 +03:00 |
|
Roman Khimov
|
dc980b5847
|
sc/context: add network magic into the context
See neo-project/neo#2393, we need this to be able to sign multisig
transactions.
|
2021-03-12 12:59:14 +03:00 |
|
Roman Khimov
|
4462a6a6b7
|
change block/tx/extensible signing process, fix #1741
Sign [magic, hash], see neo-project/neo#2314.
|
2021-03-12 11:27:50 +03:00 |
|
Roman Khimov
|
3e9bd0be72
|
smartcontract: use base64 encoding for verifiable items
See neo-project/neo#1199.
|
2021-03-11 19:55:20 +03:00 |
|
Evgeniy Stratonikov
|
1cb25d3190
|
native: use proper types in manifest
|
2021-03-11 11:48:38 +03:00 |
|
Anna Shaleva
|
9015e50847
|
core: refactor Neo.Crypto.CheckMultisigWithECDsaSecpr1
Rename it to Neo.Crypto.CheckMultisig and remove `message` parameter.
|
2021-03-10 21:46:05 +03:00 |
|
Evgeniy Stratonikov
|
106c27782e
|
cli/wallet: allow to cosign with a contract
Contracts have empty verification script and their hash is
calculated differently.
|
2021-03-09 15:45:02 +03:00 |
|
Evgeniy Stratonikov
|
b9136dbfc0
|
smartcontract: use hash in GetWitness()
All necessary info must already be in context.
|
2021-03-09 15:45:02 +03:00 |
|
Evgeniy Stratonikov
|
20d2386414
|
smartcontract: use script instead of address in context
|
2021-03-09 15:45:02 +03:00 |
|
Evgeniy Stratonikov
|
7a176727ca
|
smartcontract: add GetMajorityNodeCount()
|
2021-03-09 13:46:44 +03:00 |
|
Roman Khimov
|
abee3b5b05
|
Merge pull request #1722 from nspcc-dev/fix/nep11
smartcontract: add NEP-11 standard check
|
2021-02-22 22:27:09 +03:00 |
|
Evgeniy Stratonikov
|
b38443fe20
|
smartcontract: add checks for onNEP*Payable methods
When they are present in contract, we want them
to have correct signature.
|
2021-02-19 17:06:07 +03:00 |
|
Evgeniy Stratonikov
|
d89f055697
|
smartcontract: add checks for parameter names
It can be annoying to use parameter names as specified by standard,
so a separate `CheckABI` is supported.
|
2021-02-19 17:06:07 +03:00 |
|
Evgeniy Stratonikov
|
9d4ccf0fcc
|
smartcontract: add test for Optional methods
They should be checked only if name + parameter count matches.
This is how methods are identified in NEO.
|
2021-02-19 17:06:07 +03:00 |
|
Evgeniy Stratonikov
|
eb26a61078
|
smartcontract: remove IsNEP17()
|
2021-02-19 17:06:07 +03:00 |
|
Evgeniy Stratonikov
|
9c0bbd0bfd
|
smartcontract: add NEP-11 standard check
The only method missing is name, because it is
provided in manifest.
|
2021-02-19 17:06:07 +03:00 |
|
Anna Shaleva
|
488e75a246
|
cli: add filebytes parameter type
|
2021-02-19 10:52:45 +03:00 |
|
Anna Shaleva
|
0f1473897b
|
core: temp manifest.Extra marshalling fix
Manifest.Extra still serialized as JSON message with undefined order
of items, so it affects contract states dumps.
|
2021-02-12 23:48:30 +03:00 |
|
Roman Khimov
|
a3abdbd7f0
|
manifest: add duplicate events/methods checks to ABI
Refs. #1699.
|
2021-02-09 22:31:26 +03:00 |
|
Roman Khimov
|
dc3967ae7b
|
manifest: add manifest validity checks
Refs. #1699.
|
2021-02-09 22:31:26 +03:00 |
|
Roman Khimov
|
284476c070
|
manifest: add Permission and Permissions validity checks
Refs. #1699.
|
2021-02-09 22:31:26 +03:00 |
|
Roman Khimov
|
15ed905757
|
manifest: add validity checks for Parameter
Refs. #1699.
|
2021-02-09 22:31:26 +03:00 |
|
Roman Khimov
|
f0c3066ef6
|
manifest: add method validity check
Refs. #1699.
|
2021-02-09 22:31:26 +03:00 |
|
Roman Khimov
|
f3c761e4c2
|
manifest: move Parameter into a file of its own
|
2021-02-09 22:31:26 +03:00 |
|
Roman Khimov
|
0b2e9312af
|
manifest: add event validity check
Refs. #1699.
|
2021-02-09 22:31:26 +03:00 |
|
Roman Khimov
|
f78e3fb290
|
manifest: move Event into a file of its own
|
2021-02-09 22:31:26 +03:00 |
|
Roman Khimov
|
e9ea89b4e3
|
manifest: add group signature length check
Refs. #1699.
|
2021-02-09 22:31:24 +03:00 |
|
Roman Khimov
|
296c7a10fc
|
manifest: move Group code into a file of its own
|
2021-02-09 22:31:22 +03:00 |
|
Roman Khimov
|
1a4958b1d5
|
manifest: add ABI validity check
Some methods must be defined in a valid ABI. Refs. neo-project/neo#2263.
|
2021-02-08 13:27:39 +03:00 |
|
Roman Khimov
|
5ba074b4cf
|
manifest: return an error from IsValid
Be more specific.
|
2021-02-08 12:04:57 +03:00 |
|
Roman Khimov
|
211fe307ee
|
manifest: move ABI code into file of its own
Make it a little more convenient to work with it.
|
2021-02-08 11:55:16 +03:00 |
|