Commit graph

2175 commits

Author SHA1 Message Date
serkixenos
dcdf406a2d
Fix cli wallet memo displaying 2022-02-08 11:26:34 -06:00
Nathaniel Hourt
ee0d2b21e0
Fix build
In some environments, build fails here due to `curl` dependency not being linked in time for `utilities` to see it.
2022-01-29 16:21:13 -06:00
Nathaniel Hourt
2a37d8a0a1
Fix build
In some environments, this fails to build without this header.
2022-01-27 15:29:23 -06:00
Nathaniel
f667fda2e4
Merge remote-tracking branch 'origin/beatrice' into to-upstream 2022-01-26 13:16:02 -06:00
Nathaniel
d17eb5ec72
Add wallet command for custom_operation
Create a new cli_wallet command, run_custom_operation, which makes it
convenient to run custom_operation transactions which invoke third party
contracts (i.e., dapps)
2022-01-14 20:10:16 -06:00
Nathaniel
de87e1b82c
Canonicalize chain ID calculation
When using an external genesis file, it doesn't make sense to calculate
the chain ID as the literal text contents of the file, which are quite
volatile. Rather, it should be calculated based on the logical content
of the file. Serialize the genesis object to get a canonical
representation, and calculate the chain ID off of that.
2022-01-12 16:55:45 -06:00
Nathaniel
fe02a13685
Replace count_objects_in_space with inspect_all_indexes
The count_objects_in_space function, while providing the necessary
functionality, was clumsy and inconvenient, and was not idiomatic.
Replace it with inspect_all_indexes which resolves these shortcomings.
2022-01-05 17:27:52 -06:00
Michel Santos
4fea001586 Fix Bookie plugin to provide a consistent data state
even when the node is started in replay mode
2022-01-03 10:24:32 -05:00
Michel Santos
8ec87b404f Enhance secondary_index
Enhance secondary_index by distinguishing between
previous objects loaded from persistence versus
new objects created during the session
2022-01-03 09:49:44 -05:00
Michel Santos
8325b25d0e Harmonize the activation date of GPOS 2022-01-03 09:49:44 -05:00
Nathaniel
5fe3408893
Allow querying number of objects in object space
Previously, there was no good way to determine how many objects are in
an object space. Add a way to do so.
2022-01-02 14:50:17 -06:00
Nathaniel
d2dedbc4e4
Remove database unity build
Upstream dropped it and it was causing problems, so let it go!
2022-01-02 14:32:56 -06:00
Nathaniel
8df442a65f
Add secondary_index concerns
Add a way to create a secondary index with the space/type ID of the
object rather than the compile-time type, which may not always be
available.

Also, add a way to delete a secondary index (whether by compile-time
type or by object space/type ID).
2022-01-02 14:22:03 -06:00
serkixenos
f9a40c647e Increase replay's writing to database threshold 2021-12-16 22:27:34 -04:00
serkixenos
0dca13ea7e Revert change to a son_update_operation 2021-12-16 21:59:05 -04:00
serkixenos
de2a89ebce Set SON for Hive Mainnet hardfork date to 2021-12-21T00:00:00 2021-12-15 09:27:30 -04:00
serkixenos
4067291094 Remove build warnings 2021-12-08 17:07:41 +00:00
serkixenos
9ebc1ee462 Merge branch 'develop' of https://gitlab.com/PBSA/peerplays into develop 2021-12-07 13:42:46 -04:00
serkixenos
6de45cebb8 Add more mainnet seed nodes 2021-12-07 13:42:24 -04:00
yevhen
932b696556 Merging fix of bug/empty-json-parsing-failure 2021-12-07 17:40:29 +00:00
moss9001
77791b2d20 Update rpc_client.cpp 2021-12-02 15:32:15 +02:00
serkixenos
ec0398c83f Merge branch 'feature/all-in-one-build' into 'develop'
Add cmake flag to determine testnet vs mainnet build

See merge request PBSA/peerplays!40
2021-12-02 02:06:38 +00:00
serkixenos
727d54feb0 Add cmake flag to determine testnet vs mainnet build 2021-12-02 02:06:38 +00:00
serkixenos
7354de75ef cli wallet command to reactivate deregistered SON 2021-12-02 02:04:50 +00:00
serkixenos
92e017e3b0 Merge branch 'bug/35-blockchain_replay' into 'develop'
35 bug fix: when blockchain replay is attempted blocks file increases in size

See merge request PBSA/peerplays!34
2021-12-01 21:57:46 +00:00
Pavel Baykov
3612e1ec23 35 bug fix: when blockchain replay is attempted blocks file increases in size 2021-12-01 21:57:46 +00:00
serkixenos
7bc7f17b3e Fix sidechain address generation 2021-12-01 15:09:57 +00:00
serkixenos
433c75769f Fix memo field encryption 2021-11-30 22:44:55 +00:00
serkixenos
7f67397137 Fix RPC client issues with talking to different nodes 2021-11-30 19:14:37 +00:00
serkixenos
f0bacb3cc1 Fix plugins cli parameter ambiguity 2021-11-29 19:08:59 +00:00
serkixenos
f279065c79 Handle HARDFORK_SON_FOR_HIVE_TIME properly 2021-11-25 20:08:45 -04:00
serkixenos
ceffe4cf3c SON for Hive 2021-11-18 17:32:30 +00:00
serkixenos
4eaef1c171 Merge branch 'master' into beatrice 2021-11-17 19:27:51 -04:00
Michel Santos
a5a78dacf1 Update fc to merger of latest-fc into dapp-support-fc 2021-11-13 08:42:42 -05:00
Nathan Hourt
0c320fdc71 Add missing header 2021-11-11 14:35:53 -05:00
Nathan Hourt
e168d2d830 Fix install of hardfork.hpp 2021-11-11 14:29:34 -05:00
Nathan Hourt
c76e1f3157 Toward dynamically reloading contracts...
Add the ability to dynamically unload an auxiliary evaluator (any
evaluator for a given operation type except the first one registered for
that operation type), and as an added convenience, add an idiomatically
consistent way to check if a given index is already registered or not.
2021-11-11 14:27:50 -05:00
Nathan Hourt
082df7ab4a Allow build of dynamic libraries
In order to support dynamically linked nodes based on Graphene, add
support for building dynamic libraries for the core Graphene
modules: chain, db, protocol, net, and utilities.
2021-11-11 14:20:40 -05:00
Nathan Hourt
ab113b2fc4 Add support for multiple evaluators per operation type
This commit adds the ability to register multiple evaluator types for a
given operation type. This will be used to allow plug-ins to define their
own evaluators for various operation types (most notably, custom
operations) so that they may be used to carry app-specific data which can
be parsed by a plug-in.
2021-11-11 11:25:47 -05:00
Nathan Hourt
4d836dacb9 Ref !3/#376: Graphene Updates
This adds the most important updates to Graphene from BitShares. Most notably,
https://github.com/bitshares/bitshares-core/issues/1506

Second most notably, it updates Peerplays' FC to be in sync with BitShares FC.

This is a squash commit of several subcommits. The subcommit messages are
reproduced below:

Replace fc::uint128 with boost::multiprecision::uint128_t

replace smart_ref with shared_ptr

Fixes/Remove Unused

Remove NTP time

Remove old macro

This macro is now in FC, so no need to define it here anymore

Replaced fc::array with std::array

Separate exception declaration and implementation

Adapted to fc promise changes

Fixes

Add back in some of Peter's fixes that got lost in the cherry pick

_hash endianness fixes

Remove all uses of fc/smart_ref

It's gone, can't use it anymore

Replace improper static_variant operator overloads with comparators

Fixes

Remove boost::signals from build system; it's header-only so it's not
listed in cmake anymore.

Also remove some unused hashing code

Impl. pack/unpack functions for extension class

Ref #1506: Isolate chain/protocol to its own library

Ref #1506: Add object_downcast_t

Allows the more concise expression `object_downcast_t<xyz>` instead of
the old `typename object_downcast<xyz>::type`

Ref #1506: Move ID types from db to protocol

The ID types, object_id and object_id_type, were defined in the db
library, and the protocol library depends on db to get these types.
Technically, the ID types are defined by the protocol and used by the
database, and not vice versa. Therefore these types should be in the
protocol library, and db should depend on protocol to get them.

This commit makes it so.

Ref #1506: Isolate chain/protocol to its own library

Remove commented-out index code

Wrap overlength line

Remove unused key types

Probably fix Docker build

Fix build after rebase

Ref #1506/#1737: Some requested changes

Ref #1506/#1737: Macro-fy ID type definitions

Define macros to fully de-boilerplate ID type definitions.

Externalities:
 - Rename transaction_object -> transaction_history_object
 - Rename impl_asset_dynamic_data_type ->
impl_asset_dynamic_data_object_type
 - Rename impl_asset_bitasset_data_type ->
impl_asset_bitasset_data_object_type

The first is to avoid a naming collision on transaction_id_type, and the
other two are to maintain consistency with the naming of the other
types.

Ref #1506/#1737: Fix clean_name()

Ref #1506/#1737: Oops

Fix .gitignore

Externalized serialization in protocol library

Fix compile sets

Delete a couple of ghost files that were in the tree but not part
of the project (I accidentally added them to CMakeLists while
merging, but they're broken and not part of the Peerplays code), and
add several files that got dropped from the build during merge.

General fixes

Fix warnings, build issues, unused code, etc.

Fix #1772 by decprecating cli_wallet -H

More fixes

Fix errors and warnings and generally coax it to build

Fix test

I'm pretty sure this didn't break from what I did... But I can't build
the original code, so I can't tell. Anyways, this one now passes...
Others still fail...

Small fix

Fix crash in auth checks

Final fixes

Last round of fixes following the rebase to Beatrice

Rename project in CMakeLists.txt

The CMakeLists.txt declared this project as BitShares and not Peerplays,
which makes it confusing in IDEs. Rename it to be clear which project is
open.

Resolve #374

Replace all object refs in macros with IDs, and fix affected tests to look
up objects by ID rather than using invalidated refs.

A full audit of all tests should be performed to eliminate any further
usage of invalidated object references.

Resolve #373: Add object notifiers

Various fixes

Fixes to various issues, primarily reflections, that cropped up
during merge conflict resolution

Fix startup bug in Bookie plugin

Bookie plugin was preventing the node from starting up because it
registered its secondary indexes to create objects in its own primary
indexes to track objects being created in other primary indexes, and did
so during its `initialize()` step, which is to say, before the database
was loaded from disk at startup. This caused the secondary indexes to
create tracker objects when the observed indexes were loading objects
from disk. This then caused a failure when these tracker indexes were
later loaded from disk, and the first object IDs collided.

This is fixed by refraining from defining secondary indexes until the
`startup()` stage rather than the `initialize()` stage. Primary indexes
are registered in `initialize()`, secondary indexes are registered in
`startup()`.

This also involved adding a new method, "add_secondary_index()", to
`object_database`, as before there was no way to do this because you
couldn't get a non-const index from a non-const database.

I have no idea how this was working before I got here...

Fix egenesis install

Fixes after updates

Rebase on updated develop branch and fix conflicts
2021-11-11 11:25:47 -05:00
Michel Santos
111ac16e92 Merge branch master into graphene-updates 2021-11-09 16:24:26 -05:00
sierra19XX
ba69da5d5c Merge Beatrice changes to Main net 2021-07-26 20:16:24 +00:00
sierra19XX
0a5e3d7080 Testnet Beatrice release June 2021 2021-06-05 22:22:45 +00:00
serkixenos
d3a3722c1e Merge branch 'master' into beatrice 2021-02-09 13:13:21 +01:00
serkixenos
b362ca23a6 Check vesting balance properties before creating/updating SON 2021-02-09 03:43:42 +00:00
sierra19XX
b99a19bd72
NFT Lottery (#384) 2021-01-28 20:27:54 +01:00
serkixenos
5a5154b260 Update FC to latest version 2021-01-27 13:39:29 +01:00
serkixenos
92d9373c2f Merge branch 'beatrice' into develop 2021-01-26 22:28:21 +01:00
serkixenos
965eb575bf Merge branch 'feature/cli-change-account-keys' into 'develop'
CLI wallet commands to add/remove account's active key

See merge request PBSA/peerplays!9
2021-01-26 21:14:50 +00:00
serkixenos
ee553f3968
Flush chain database during replay (#412) 2021-01-26 21:41:58 +01:00