Commit graph

6245 commits

Author SHA1 Message Date
Anna Shaleva
14c9858df2 nns: use MillisecondsInSecond constant where appropriate 2022-09-16 11:21:03 +03:00
Anna Shaleva
d8e0a02a86 nns: keep isAvailable in sync with register
If conflicting records '*.domain' are present on new domain
registration, then `isAvailable` should return false for this
domain. Ref.
f25296b17a.
2022-09-16 11:20:59 +03:00
Anna Shaleva
d5b1c0e429 nns: check for conflicting records on domain registration
Port f25296b17a.
2022-09-16 11:04:58 +03:00
Anna Shaleva
db9cea5ecc nns: allow arbitrary level domains
Port
d10da892d9.
2022-09-16 11:04:55 +03:00
Anna Shaleva
ea934b8e30 nns: support SOA records
Port 7f1ec13ae5
and f4762c1b56.
2022-09-16 10:59:23 +03:00
Anna Shaleva
8790602f69 nns: ensure records with the same type are not repeated
Port https://github.com/nspcc-dev/neofs-contract/pull/170.
2022-09-09 19:36:16 +03:00
Anna Shaleva
c9050cef4b nns: allow multiple records of the same type
Except for the CNAME records. Port
6ea4573ef8
and
f4762c1b56.
2022-09-09 19:36:13 +03:00
Anna Shaleva
c296f8804c nns: add test for getAllRecords 2022-09-09 19:35:54 +03:00
Anna Shaleva
4543de0923 *: update basic test chain
Apply new NNS rules.
2022-09-08 14:19:39 +03:00
Anna Shaleva
d77b35c385 nns: add admin to properties
See 14f43ba8cf/src/NameService/NameService.cs (L69).
2022-09-08 14:19:39 +03:00
Anna Shaleva
225152f2d7 nns: allow to resolve FQDN
Port 4041924a75.
2022-09-08 14:19:39 +03:00
Anna Shaleva
baf24d1c66 nns: check domain expiration for read functions
Port 432c02a369.
2022-09-08 14:19:39 +03:00
Anna Shaleva
017a6b9bc1 nns: require admin signature for subdomain registration
Port
14fc086291.
2022-09-08 14:19:39 +03:00
Anna Shaleva
5cb2a1219c nns: replace root with TLD
Port
4b86891d57.
2022-09-08 14:19:39 +03:00
Anna Shaleva
c11481b119 nns: allow hyphen in domain names
Port https://github.com/nspcc-dev/neofs-contract/pull/183.
2022-09-08 14:19:39 +03:00
Anna Shaleva
bd3722041a nns: adjust maxDomainNameFragmentLength
Port https://github.com/nspcc-dev/neofs-contract/pull/238.
2022-09-08 14:19:39 +03:00
Roman Khimov
20224cb39c
Merge pull request #2668 from nspcc-dev/cli-signing-improvements
CLI signing improvements
2022-09-01 15:48:39 +03:00
Roman Khimov
411ebdf51e cli: add complete support for offline signing, fix #2662
See documentation update for an example. Some code is made generic as well,
GetCompleteTransaction can now be used directly on ParameterContext.
2022-09-01 15:30:34 +03:00
Roman Khimov
f7cff022c0 docs: mention txdump command which is very useful
It wasn't documented.
2022-09-01 15:30:34 +03:00
Roman Khimov
2e6bd51727 cli/wallet: add strip-keys command
To strip keys from wallets.
2022-09-01 15:30:34 +03:00
Roman Khimov
a9237659ff cli/wallet: correct error message
It can be both NEP-11 and NEP-17.
2022-09-01 15:30:33 +03:00
Roman Khimov
c2c10c111c cli/wallet: process non-out non-rpc calls to sign
And document the behavior better. Fixes #2664.
2022-09-01 15:30:33 +03:00
Roman Khimov
c316107c9f cli/wallet: avoid parsing address in signStoredTransaction
It's not needed, we already have the hash and getDecryptedAccount can't return
an account for a different one.
2022-09-01 15:30:33 +03:00
Roman Khimov
773bcc3a59 context: make error messages a bit less cryptic
Refs. #2664.
2022-09-01 15:30:33 +03:00
Roman Khimov
58707c2b1e context: handle the case when we have more sigs than needed
We can technically have more signatures in the file than we need and it's OK,
this case should be handled.
2022-09-01 15:30:33 +03:00
Roman Khimov
4b136e8ab1 cli/sc: tune error messages for forced save/send
Here we're either saving or sending a transaction (depending on `out`), but
not both. Refs. #2664.
2022-08-31 09:51:57 +03:00
Roman Khimov
314cd3341b
Merge pull request #2667 from nspcc-dev/rpc-nep-token-info
Drop NEPXXTokenInfo from the RPC client
2022-08-30 14:41:30 +03:00
Roman Khimov
1da4b333f6 cli/wallet: modernize nep11 balances command, unify with nep17
Make NEP-11 code use getnep11balances the same way NEP-17 code uses
getnep17balances. This command was introduced well before getnep11balances
appeared, so it required always specifying contract explicitly. Now this
constraint can be relaxed somewhat in most cases.
2022-08-30 12:52:14 +03:00
Roman Khimov
7cfcf072b8 cli/wallet: make NEP-17 token selection logic a bit more robust
1. In the single token mode compare known hashes instead of names, names can
   be misleading.
2. Hardcode NEO/GAS, they are special (if not overrided by the wallet data).
2022-08-30 12:52:14 +03:00
Roman Khimov
673c8954cc
Merge pull request #2665 from nspcc-dev/notary-rpcclient
Notary RPC client
2022-08-30 12:43:13 +03:00
Roman Khimov
07f3023e84 rpcclient: add notary.Actor for seamless notary experience 2022-08-30 11:47:56 +03:00
Roman Khimov
5f1fe72504 cli/wallet: use token data from getnepXXbalances
We have this data available since 0.99.1 while all public networks require at
least 0.99.2 for compatibility and NeoFS setups use 0.99.2+ too. This data can
simplify account handling considerably making additional requests unneccessary
in many cases.
2022-08-29 22:52:27 +03:00
Roman Khimov
e28bf55ebb cli/wallet: search for NEP-11 token name in balances
In the same way we do for NEP-17 tokens. This code predates "getnep11balances"
call, so this wasn't possible back then, but now we can improve the situation
(allow specifying names/symbols instead of hashes only).
2022-08-29 22:52:27 +03:00
Roman Khimov
ed6ed61712 neptoken: add Info to replace old NEPXXTokenInfo methods
I'm still not sure it's good to have this exposed from neptoken at all, but
let's try it this way.
2022-08-29 22:52:27 +03:00
Roman Khimov
ac5c609063 core: add a bit more data into NVB errors
It's not always obvious what they mean and the NVB value is.
2022-08-29 15:08:37 +03:00
Roman Khimov
a95984febf actor: allow providing default attributes/hooks to be used
Which expands Actor use cases greatly.
2022-08-29 15:08:37 +03:00
Roman Khimov
840d755baa
Merge pull request #2666 from nspcc-dev/nns-partial-wrapper
rpcclient: add enough of NNS into nns to deprecate NNS methods
2022-08-29 13:05:56 +03:00
Roman Khimov
a3f32bf306 neptoken: move BalanceOf implementation to Base from nep11/nep17
It's the same, even though standards define parameter name in a bit different
way.
2022-08-26 21:52:19 +03:00
Roman Khimov
0d9158bd79 rpcclient: add enough of NNS into nns to deprecate NNS methods 2022-08-26 19:45:37 +03:00
Roman Khimov
fe50879bb7 wallet: add (*Account).CanSign API 2022-08-26 18:21:58 +03:00
Roman Khimov
8b132cba0c wallet: respect user-locked accounts, don't sign with them
NEP-6 has a notion of locked acccounts and SignTx must respect this user's
choice. For some reason this setting was inappropriately used by our RPC
client tests (probably a different kind of lock was meant).
2022-08-26 18:21:58 +03:00
Roman Khimov
54c5fd61df wallet: make SignTx more precise and accurate
* each account must have an appropriate signer, if there is no signer for
   this account in the tx it's an error
 * we can only safely append to Scripts when account belongs to the next
   signer (we don't have appropriate verification scripts for other signers)
 * when contract has one parameter, the signature shouldn't be appended to
   other data

I think these rules allow to handle more cases and do that safer. We have more
complex scenarios though, like non-signature parameters or mixed-parameter
invocation scripts, but that's out of scope for now.
2022-08-26 18:21:58 +03:00
Roman Khimov
7a930a8e11 wallet: don't fail in SignTx when no contract provided
Unfortunately valid NEP-6 can have no contract inside of account, so this
should be accounted for.
2022-08-26 18:21:58 +03:00
Roman Khimov
2f8896f7a1 rpcclient: add notary subpackage with the notary contract wrapper 2022-08-26 18:21:58 +03:00
Roman Khimov
e31c3b5246
Merge pull request #2660 from nspcc-dev/handle-sigterm
cli/server: handle SIGTERM gracefully
2022-08-24 11:57:56 +03:00
Roman Khimov
1850c04d65 cli/server: handle SIGTERM gracefully
That's the expected and desired behavior, SIGKILL is always there to do bad
things.
2022-08-24 11:43:21 +03:00
Roman Khimov
bf06b32278
Merge pull request #2658 from nspcc-dev/calculate-network-fee-fixes
calculatenetworkfee improvements
2022-08-24 10:24:53 +03:00
Roman Khimov
03cc9b2762 rpcsrv: execute all witnesses for calculatenetworkfee
Try to get as much data as possible, fix #2654.
2022-08-23 15:34:18 +03:00
Roman Khimov
a2c4a7f611 rpcsrv: adjust for paid attritbutes in calculatenetworkfee
calculatenetworkfee MUST calculate complete proper network fee, if we have
some extensions enabled and some attributes should be paid for that they're a
part of the equation too.
2022-08-23 15:34:18 +03:00
Roman Khimov
68e37628d9
Merge pull request #2659 from nspcc-dev/optimize-refcount
vm: optimize refcount
2022-08-23 14:32:21 +03:00