Proto commits in gcash/bchd

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:e22142a
Author:quest

Add support for TESTNET4 to proto file

The documentation is generated from this commit.

Commit:0fd9da6
Author:OPReturn
Committer:GitHub

CT and ABLA implementation together (#545) * Add chipnet support * Add CT opcodes and rules - WIP * modify tx size limit - upgrade9 * Add P2SH32 * Add CashTokens core logic * Add more tests and some fixes * Add ABLA test vectors * fix handling PATFO * fix db getting corrupt on reorgs because of token data getting lost * Add ABLA algorithm * Add ABLA constants * Removed deprecated code and renamed ABLA file * Add ABLA tests * Modify ABLA flow, store ABLA state into database * Cleanup * Add better error handling to SeparateTokenDataFromPKScriptIfExists * Add comment on how the token data memory usage was calculated * Add reference for ABLA chainparam constants * Add better error handling * Use constant instead of literal value * Remove dead code * Remove dead comment * Add costant for max cashtokens FT amount * Remove dead commented code * Remove unnecessary init * Add back the test removed by accident * Add CashToken message * Update generated pb file after adding CashToken message * Add cashtokens data to the gRPC server * Add constructor for TokenData * Modify handleCreateRawTransaction to handle cashtokens * Add credit * Add baseUtxoEntrySizeWithoutTokenData and baseUtxoEntrySizeWithoutTokenData constants * Modify cash_token field numbers * Rebuild all protobuf bindings * Bump golang deps * Update version number

Commit:5d17f92
Author:uak
Committer:GitHub

fix typo in line 63 (#488)

Commit:06690af
Author:James Cramer
Committer:GitHub

Add Slp Graph Search feature (#451) * add slp graph search core * gs server updates, only mempool handling remains * add mempool access to graph search * update sample-bchd.conf * update generated pb for web proxy * update generated pb.go and swagger * Use multiple goroutines to load the graph search db I just hardcoded maxGoroutines at 4 as seems the db loading process doesn't get much better with more goroutines. Loading time with 1M items is a little over 1 minute. Before this it took around 4-5 minutes. There are a couple of optimizations noted (see TODOs) * clean up debug slp debug statements * clean up debug slp debug statements * improve loading experience * use cpu count * 3 for max goroutines * log loading status at info log level * clean up logging and notation * add gs status to GetBlockchainInfo * return proper error for GetGraphSearchDb during the loading period the db isn't available so we'll return this as an error so its clear why its not available * refactor into standalone package * fix lock * topo sort new block txns * remove debug lines * clean up mempool/block handling With GS added some renaming was done since both slp index and gs are sharing the same event handler. Also some of the logging messages was cleaned up. * fix error handling in addTxn * refactor event handling * improved debug logging * remove stray fmt.Println() * more refactoring and containment of gs * use original prop names * fix state changes * nit: use "hash" vs "txid" in naming validity cache * update bchutil version * update goslp version * grpc server address property updates * for grpc endpoints GetAddressTransactions and GetAddressUnspentOutputs convert slp to cash address * include slp address property in input metadata for SubscribeTransactoins endpoints on inputs * remove address prefix in response * add check for slp parsing error * update generated files to include graphsearch * remove bad type reference * Revert "remove GetBip44HdAddress grpc endpoint" This reverts commit f3cfa5afb4f76eca30ada063820b4ee92e33e06f. * fixes for including Bip44 endpoint * use cache in ConnectBlock * use RLock as much as possible * follow-up merge commit * nits * follow up merge * refactored gs parts * fix performance issues from locking * using atomic lock to read gs db state seemed to degrade performance significantly, switched to RLock before commiting to a Lock * reduced the number of times any kind of lock is being held * impr debug logging * set gs db ready flag * separate flag checks for gs * remove GetBip44HdAddress * impr err resp * peer sync tweaks from btcd * Revert "peer sync tweaks from btcd" This reverts commit df5730b546926abbdcde61ec07b5df2e3a98146a. * run protoc after merge * enable slpgraphsearch for bchrpc regtests * put gs AddTx update in goroutine * fix pb generated files (merge conflicts) * improve handling the removal of slp mempool items * fixes error of having RemoveMempoolSlpTxs inside a for loop in ConnectBlock * make RemoveMempoolSlpTxs a private method and remove it from the grpc server block event * ignore non-contributing parents * fix generated pb after merge * update bindata for a clean merge * unit test updates: - update proxy test url - update regtest npm pkg versions Co-authored-by: Ekliptor <Ekliptor@gmx.de>

Commit:6b921a1
Author:James Cramer
Committer:GitHub

add best height to CheckSlpTransaction response (#458) wallets need to use this endpoint to check for mistakes in a pre-broadcasted slp transaction. If a bchd node falls behind it will return an error like "slp outputs greater than inputs". Wallet clients can use this information to ignore responses from the nodes they know have fallen behind.

Commit:d53e7b2
Author:James Cramer

protobuf updates * use enum for SlpTokenType * use string instead of bytes for name, ticker, url * rename rpc methods to use convention GetSlp* * renamed TokenMetadata type to SlpTokenMetada * moved oneof types for SlpTokenMetadata inside message scope

Commit:1081576
Author:James Cramer

update http gateway tests

Commit:c057595
Author:James Cramer

update type naming in bchrpc.proto

Commit:43c37d3
Author:James Cramer

protobuf: rename mint_baton_txid to mint_baton_hash for consistency with bchd

Commit:ea24119
Author:James Cramer

update CheckSlpTransactionRequest behavior

Commit:d16820e
Author:James Cramer

Revert "separate slp rpc methods in protofile" This reverts commit f3a5eb63c035d0430f6eee606fe79ab2ae8b3e8f.

Commit:f3a5eb6
Author:James Cramer

separate slp rpc methods in protofile

Commit:ede95e2
Author:James Cramer

rm notes, these no longer apply These notes can be removed because In recent commits the group id and mint baton txid have been update to work with unconfirmed transactions

Commit:7035fa7
Author:James Cramer

CheckSlpTransaction: add option DisableSlpBurnErrors

Commit:f3cfa5a
Author:James Cramer
Committer:James Cramer

remove GetBip44HdAddress grpc endpoint

Commit:503a3fe
Author:James Cramer
Committer:James Cramer

add notation about slp_index

Commit:b7ba15d
Author:Ekliptor

resolved merge issues

Commit:bfcfffa
Author:Ekliptor

Merge branch 'slp-index' of https://github.com/simpleledgerinc/bchd into update-slp

Commit:21c3ad7
Author:James Cramer

fix crash bug related to unconfirmed NFT child token

Commit:001d339
Author:James Cramer

regen proto files using latest protobuf version

Commit:26c74fe
Author:James Cramer

code review nits

Commit:0e8408d
Author:James Cramer
Committer:James Cramer

add slp magic "TokenType" per spec

Commit:e6df489
Author:James Cramer
Committer:James Cramer

rename SlpVersionType This was a poor naming choice, as the enum number is not the same as the verstion/type magic listed in the slp spec. Renaming to SlpAction makes it more obvious that the two aren't the same.

Commit:7bf7317
Author:James Cramer

updates for burn allowance handling

Commit:4e54fbb
Author:James Cramer
Committer:James Cramer

allow required burns

Commit:b9c0ee5
Author:James Cramer
Committer:James Cramer

remove unused functionary parts

Commit:3f4c692
Author:James Cramer
Committer:James Cramer

add checks for token Version/Type Validity judgement is correct, but the burned input counting was wrong because of these missing checks

Commit:e2a86db
Author:James Cramer
Committer:James Cramer

remove Functionary params, can be added later

Commit:c60c33a
Author:James Cramer
Committer:James Cramer

add new burn flag type This flag is included when slp inputs > outputs

Commit:14de8ee
Author:James Cramer
Committer:James Cramer

clean up method comments

Commit:25e76a9
Author:James Cramer
Committer:James Cramer

add GetBip44HdAddress gRPC endpoint

Commit:18f350e
Author:James Cramer
Committer:James Cramer

update endpoint name, missing Slp in name

Commit:106ddba
Author:James Cramer
Committer:James Cramer

tracking for mint baton burns... TokenMetadata is now properly updated whenever a minting baton is burned in any type of transaction. For complexity reasons, mint baton status does not reflect changes made from unconfirmed transaction.

Commit:6464d1b
Author:James Cramer
Committer:James Cramer

track mint baton in token metadata

Commit:4b5f81e
Author:James Cramer
Committer:James Cramer

add decimals amount

Commit:2557327
Author:James Cramer
Committer:James Cramer

update GetTransaction rpc to include optional token metadata

Commit:4cdc816
Author:James Cramer
Committer:James Cramer

breaking rpc change, fix property name for GetTokenMetadataResponse

Commit:b13ab5d
Author:James Cramer
Committer:James Cramer

grpc server updates: * monitor/handle mempool for slp using "slpEntryCache" * Populate "SlpToken" for response objects as required * Add new rpc method "CheckSlpTransaction" for submitting entire transaction * Populate TokenMetadata for response objects as required

Commit:ebf139d
Author:James Cramer
Committer:James Cramer

GetTrustedValidation updates... missing Functionary signature capability.

Commit:fc9ee15
Author:James Cramer
Committer:James Cramer

add proto and server stub for GetTrustedValidation endpoint

Commit:b6358cd
Author:James Cramer
Committer:James Cramer

updated proto with specific slp burn requirements. The intent here is to require the client to demonstrate he intends specific burn actions to prevent accidental burning caused by third-party client side wallet bugs

Commit:a1fe020
Author:James Cramer
Committer:James Cramer

update TokenMetadata proto format * fixed missing TokenID and Decimals fields in server response * reorganized proto file metadata for token subtypes, for future token types

Commit:1d1550d
Author:James Cramer
Committer:James Cramer

revert breaking change in grpc transactions filter

Commit:9db3df3
Author:James Cramer
Committer:James Cramer

intial slp sketch

Commit:4c346b8
Author:James Cramer
Committer:James Cramer

update proto

Commit:e924fcf
Author:James Cramer
Committer:James Cramer

proto updates

Commit:f51e4bd
Author:James Cramer
Committer:James Cramer

* add NFT1 specifics * add validity judgement * add more burn flags

Commit:98e5785
Author:James Cramer
Committer:James Cramer

add slp filters to subscribe transaction

Commit:741efba
Author:James Cramer
Committer:James Cramer

return slp metadata in grpc

Commit:f1b8908
Author:James Cramer
Committer:James Cramer

use skip_slp_validity_check so that SLP is always checked by default. Disabling slp validation check would require client to call `req.SetSkipSlpValidityCheck(false)`

Commit:0f9c1ce
Author:James Cramer
Committer:James Cramer

add GetParsedSlpScript endpoint * protobuf was updated to change string types to bytes in slp message parsing, this is required since parsed message are allowed to have invalid utf-8 encoded

Commit:91a554d
Author:James Cramer
Committer:James Cramer

add GetBip44HdAddress gRPC endpoint

Commit:c9b7ba0
Author:James Cramer

update endpoint name, missing Slp in name

Commit:7409f27
Author:James Cramer

tracking for mint baton burns... TokenMetadata is now properly updated whenever a minting baton is burned in any type of transaction. For complexity reasons, mint baton status does not reflect changes made from unconfirmed transaction.

Commit:ac73717
Author:James Cramer
Committer:James Cramer

track mint baton in token metadata

Commit:991c6e2
Author:James Cramer
Committer:James Cramer

add decimals amount

Commit:71f3a0b
Author:James Cramer
Committer:James Cramer

update GetTransaction rpc to include optional token metadata

Commit:35b0c7b
Author:James Cramer

breaking rpc change, fix property name for GetTokenMetadataResponse

Commit:1a9a6a1
Author:James Cramer

updated proto with specific slp burn requirements. The intent here is to require the client to demonstrate he intends specific burn actions to prevent accidental burning caused by third-party client side wallet bugs

Commit:e0a1c48
Author:James Cramer

update TokenMetadata proto format * fixed missing TokenID and Decimals fields in server response * reorganized proto file metadata for token subtypes, for future token types

Commit:5cf11fa
Author:James Cramer

grpc server updates: * monitor/handle mempool for slp using "slpEntryCache" * Populate "SlpToken" for response objects as required * Add new rpc method "CheckSlpTransaction" for submitting entire transaction * Populate TokenMetadata for response objects as required

Commit:8be9b31
Author:Chris

Merge branch 'master' of https://github.com/gcash/bchd

Commit:567e341
Author:Chris

Update gRPC comments to call out little endian format where appropriate

Commit:5586ced
Author:Chris Pacia
Committer:GitHub

Merge pull request #394 from gcash/protoc-updates [Chore] Rebuild all protobuf bindings and update docs

Commit:7ea92b1
Author:Josh Green

Changed RPC package to match BCHD domain. BCHD's official website is bchd.cash, not bchd.com. The java package names now reflect this appropriately.

Commit:afd4bed
Author:Josh Green

Added protobuffer package for Java. The previous protobuffer package generated for java is set to "pb", which created a strange structuring when imported into Java. This change moves the generated code to com.bchd.rpc.Bchrpc.

Commit:0965634
Author:quest
Committer:quest

Rebuild all protobuf bindings and update docs

Commit:bd11e95
Author:Chris

Update grpc comments

Commit:1252dc1
Author:James Cramer
Committer:James Cramer

GetTrustedValidation updates... missing Functionary signature capability.

Commit:58d639d
Author:James Cramer

add proto and server stub for GetTrustedValidation endpoint

Commit:b9a208b
Author:James Cramer
Committer:James Cramer

use skip_slp_validity_check so that SLP is always checked by default. Disabling slp validation check would require client to call `req.SetSkipSlpValidityCheck(false)`

Commit:ea9c8c0
Author:James Cramer
Committer:James Cramer

add GetParsedSlpScript endpoint * protobuf was updated to change string types to bytes in slp message parsing, this is required since parsed message are allowed to have invalid utf-8 encoded

Commit:842f036
Author:James Cramer
Committer:James Cramer

update proto

Commit:39042cb
Author:James Cramer
Committer:James Cramer

* add NFT1 specifics * add validity judgement * add more burn flags

Commit:59486b2
Author:James Cramer
Committer:James Cramer

add slp filters to subscribe transaction

Commit:3c29014
Author:James Cramer
Committer:James Cramer

return slp metadata in grpc

Commit:cdd3c7b
Author:James Cramer
Committer:James Cramer

proto updates

Commit:3b513fa
Author:James Cramer
Committer:James Cramer

intial slp sketch

Commit:3d0a2ed
Author:James Cramer
Committer:James Cramer

revert breaking change in grpc transactions filter

Commit:59dd075
Author:2qx

spelling

Commit:0d83b3e
Author:2qx

remove tailing whitespace from proto

Commit:ff4fda1
Author:2qx

match server.go with proto doc for methods

Commit:ed17ae4
Author:2qx

keep lines shorter

Commit:6d90bcb
Author:2qx

add more protobuf doc strings

Commit:107ea11
Author:Tyler Smith
Committer:Tyler Smith

FEATURE: Wire in avalanche.

Commit:758ddf0
Author:Tyler Smith
Committer:Tyler Smith

FEATURE Avalanche RPC.

Commit:1471b63
Author:Tyler Smith
Committer:Tyler Smith

CLEANUP: Change comment to be more consistent with others.

Commit:16b86fb
Author:Tyler Smith
Committer:Tyler Smith

CLEANUP: Format bchrpc.proto with clang-format -style=google.

Commit:786e977
Author:Chris

Fix gRPC doc typos

Commit:31e5e87
Author:Thomas

Implement serialized block subscription modified: bchrpc/bchrpc.proto modified: bchrpc/pb/bchrpc.pb.go modified: bchrpc/server.go

Commit:a52fdbc
Author:Thomas

Implement serialized tx stream

Commit:6f19bfe
Author:Chris

Add median time to gRPC BlockInfo objects

Commit:c5f608d
Author:Chris

Update formatting of grpc proto and server.go

Commit:7eec954
Author:Chris

Add GetMempool RPC

Commit:2991fd8
Author:Chris

Add GetUnspentOutput RPC

Commit:020851f
Author:Chris

Add mempool bool to GetAddressUnspentOutputs RPC

Commit:986c777
Author:acidsploit
Committer:GitHub

Delete bchrpc.proto

Commit:4efa879
Author:Thomas

add nodejs grpc client examples new file: bchrpc/documentation/client-usage-examples/nodejs-grpc/README.md new file: bchrpc/documentation/client-usage-examples/nodejs-grpc/bchrpc.proto new file: bchrpc/documentation/client-usage-examples/nodejs-grpc/grpc.js

Commit:97db91a
Author:Chris Pacia
Committer:GitHub

Update bchrpc.proto comment

Commit:6da8772
Author:Chris Pacia

Fix nits