ĞMixer-rs issueshttps://git.duniter.org/tools/gmixer-rs/-/issues2020-07-03T11:39:33+02:00https://git.duniter.org/tools/gmixer-rs/-/issues/9Multiple node addresses per Node2020-07-03T11:39:33+02:00Pascal EngélibertMultiple node addresses per NodeTransform `Node.address: NodeAddress` into `Node.addresses: Vec<NodeAddress>`, because a node can be accessible via several protocols and addresses.
`MixDemandOnionWrapper.node_address` should also be a Vec.Transform `Node.address: NodeAddress` into `Node.addresses: Vec<NodeAddress>`, because a node can be accessible via several protocols and addresses.
`MixDemandOnionWrapper.node_address` should also be a Vec.v0.1.0Pascal EngélibertPascal Engéliberthttps://git.duniter.org/tools/gmixer-rs/-/issues/3Avoid double TxIdSeed attack2021-03-01T15:25:05+01:00Pascal EngélibertAvoid double TxIdSeed attackNodes should refuse any mix demand with an already known `input_tx_id_seed[1]`.Nodes should refuse any mix demand with an already known `input_tx_id_seed[1]`.v1.0.0https://git.duniter.org/tools/gmixer-rs/-/issues/4Better config structure2020-05-09T09:42:28+02:00Pascal EngélibertBetter config structureGlobal, Server and Client configs should be better structured.Global, Server and Client configs should be better structured.v0.1.0Pascal EngélibertPascal Engéliberthttps://git.duniter.org/tools/gmixer-rs/-/issues/30Send tx to several BMA nodes2020-09-29T14:52:33+02:00Pascal EngélibertSend tx to several BMA nodesServer should send the same tx to several BMA nodes (number defined in server settings).
This needs #21 to be done.Server should send the same tx to several BMA nodes (number defined in server settings).
This needs #21 to be done.v0.1.0Pascal EngélibertPascal Engéliberthttps://git.duniter.org/tools/gmixer-rs/-/issues/24Several mixes in single atomic tx2020-10-15T23:06:54+02:00Pascal EngélibertSeveral mixes in single atomic txIn order to avoid unwanted double use of a source, partial mixes, network latency, one mixing session should produce a unique multi-recipient tx.In order to avoid unwanted double use of a source, partial mixes, network latency, one mixing session should produce a unique multi-recipient tx.v0.1.0Pascal EngélibertPascal Engéliberthttps://git.duniter.org/tools/gmixer-rs/-/issues/8Maximum size for variable-size values from network2020-10-17T16:45:43+02:00Pascal EngélibertMaximum size for variable-size values from networkAll values from network should have a fixed maximum size for security.All values from network should have a fixed maximum size for security.v0.1.0https://git.duniter.org/tools/gmixer-rs/-/issues/2Allow to store keypair password in config2020-10-16T16:49:56+02:00Pascal EngélibertAllow to store keypair password in configv1.0.0https://git.duniter.org/tools/gmixer-rs/-/issues/21Generate tx before trying several BMA nodes, to avoid double tx2020-09-18T16:57:09+02:00Pascal EngélibertGenerate tx before trying several BMA nodes, to avoid double txv0.1.0Pascal EngélibertPascal Engéliberthttps://git.duniter.org/tools/gmixer-rs/-/issues/32First node re-sends tx after restart2020-10-16T15:15:19+02:00Pascal EngélibertFirst node re-sends tx after restartThe first node of a mix tries to send again txs when restarted. Probably index update problem.The first node of a mix tries to send again txs when restarted. Probably index update problem.v0.1.0https://git.duniter.org/tools/gmixer-rs/-/issues/27Use sources only once when sending several txs2020-10-15T23:03:45+02:00Pascal EngélibertUse sources only once when sending several txsClient should avoid to consume multiple times the same source when sending several transactions at the same time.Client should avoid to consume multiple times the same source when sending several transactions at the same time.v0.1.0Pascal EngélibertPascal Engéliberthttps://git.duniter.org/tools/gmixer-rs/-/issues/14Send immediately demands and confirms2020-07-08T10:07:44+02:00Pascal EngélibertSend immediately demands and confirmsBefore storing a document that have to be sent, send it without waiting for p2p loop.
This could be done by spawning a new thread before responding to client, or by using a task queue server->p2p.Before storing a document that have to be sent, send it without waiting for p2p loop.
This could be done by spawning a new thread before responding to client, or by using a task queue server->p2p.v0.1.0Pascal EngélibertPascal Engéliberthttps://git.duniter.org/tools/gmixer-rs/-/issues/5Ask multiple times for credentials2020-06-12T20:01:13+02:00Pascal EngélibertAsk multiple times for credentialsWhen asking user input for credentials, pubkey should be checked by user. While incorrect, loop.When asking user input for credentials, pubkey should be checked by user. While incorrect, loop.v1.0.0https://git.duniter.org/tools/gmixer-rs/-/issues/6Make nested onions for MixConfirm2020-05-31T13:52:05+02:00Pascal EngélibertMake nested onions for MixConfirmCurrently, MixConfirms are aligned in a Vec when coming back to client. They should be nested like MixDemands.Currently, MixConfirms are aligned in a Vec when coming back to client. They should be nested like MixDemands.v1.0.0Pascal EngélibertPascal Engéliberthttps://git.duniter.org/tools/gmixer-rs/-/issues/1Multiple nodes on the same pubkey2020-05-21T18:55:07+02:00Pascal EngélibertMultiple nodes on the same pubkey`Dbs::node` should store lists of nodes instead of unique nodes.`Dbs::node` should store lists of nodes instead of unique nodes.v0.1.0Pascal EngélibertPascal Engéliberthttps://git.duniter.org/tools/gmixer-rs/-/issues/7p2p: tide2020-05-19T08:37:32+02:00Pascal Engélibertp2p: tideSet maximum nodes and tidal p2p management.Set maximum nodes and tidal p2p management.v0.1.0https://git.duniter.org/tools/gmixer-rs/-/issues/11Spread NodeSigs2020-06-22T15:31:59+02:00Pascal EngélibertSpread NodeSigsServer should spread known node sigs across the network.Server should spread known node sigs across the network.https://git.duniter.org/tools/gmixer-rs/-/issues/10Update PubkeyDelegationSig remotely2020-05-24T10:51:21+02:00Pascal EngélibertUpdate PubkeyDelegationSig remotelyCreate a client command to update server's pubkey delegation document.Create a client command to update server's pubkey delegation document.v1.0.0https://git.duniter.org/tools/gmixer-rs/-/issues/12Verify Discredit document2020-06-12T20:17:19+02:00Pascal EngélibertVerify Discredit documentv0.2.0https://git.duniter.org/tools/gmixer-rs/-/issues/13Test functions which alter DBs2020-07-13T15:37:50+02:00Pascal EngélibertTest functions which alter DBsusing `sled::Config::temporary`using `sled::Config::temporary`v0.1.0Pascal EngélibertPascal Engéliberthttps://git.duniter.org/tools/gmixer-rs/-/issues/16JSON compatibility for network encoding2020-06-25T11:39:27+02:00Pascal EngélibertJSON compatibility for network encodingServer & client should be able to communicate using JSON (more convenient for manual tests and JavaScript).Server & client should be able to communicate using JSON (more convenient for manual tests and JavaScript).https://git.duniter.org/tools/gmixer-rs/-/issues/15Define log verbosity by args instead of env2020-06-25T11:37:03+02:00Pascal EngélibertDefine log verbosity by args instead of envv1.0.0https://git.duniter.org/tools/gmixer-rs/-/issues/17Use own protocol instead of HTTP2020-06-25T13:44:20+02:00Pascal EngélibertUse own protocol instead of HTTPShould switch to something simple, faster, lighter than HTTP.Should switch to something simple, faster, lighter than HTTP.https://git.duniter.org/tools/gmixer-rs/-/issues/18Enable client db encryption2020-07-04T16:53:58+02:00Pascal EngélibertEnable client db encryptionhttps://git.duniter.org/tools/gmixer-rs/-/issues/19Client address book2020-07-04T18:20:21+02:00Pascal EngélibertClient address bookClient should use address book to easily find pubkeys. It may be encrypted.Client should use address book to easily find pubkeys. It may be encrypted.https://git.duniter.org/tools/gmixer-rs/-/issues/20Allow multiple client keypairs2020-07-04T18:21:18+02:00Pascal EngélibertAllow multiple client keypairsAllow client to use different keypairs without error.Allow client to use different keypairs without error.v1.0.0https://git.duniter.org/tools/gmixer-rs/-/issues/22blocking version of get-mix-confirm2021-03-01T15:22:32+01:00Pascal Engélibertblocking version of get-mix-confirmUsing long polling or websocket, so client can get mix confirm without spamming server.Using long polling or websocket, so client can get mix confirm without spamming server.v1.0.0https://git.duniter.org/tools/gmixer-rs/-/issues/23Accept multiple currencies2020-07-26T16:31:34+02:00Pascal EngélibertAccept multiple currenciesServer should have a list of currencies.Server should have a list of currencies.https://git.duniter.org/tools/gmixer-rs/-/issues/25Better amount base management2020-07-27T08:00:44+02:00Pascal EngélibertBetter amount base managementv1.0.0https://git.duniter.org/tools/gmixer-rs/-/issues/26Rename Comment2020-11-29T19:35:46+01:00Pascal EngélibertRename CommentRename Comment in protocol to avoid confusion with transaction comment.Rename Comment in protocol to avoid confusion with transaction comment.v0.1.0https://git.duniter.org/tools/gmixer-rs/-/issues/28Check tx in IPFS2020-12-05T10:27:00+01:00Pascal EngélibertCheck tx in IPFSClient should check received txs using IPFS when needed.Client should check received txs using IPFS when needed.v0.1.0https://git.duniter.org/tools/gmixer-rs/-/issues/29Better choose tx sources2020-09-17T23:26:02+02:00Pascal EngélibertBetter choose tx sourcesDetermine an algo to choose the sources to consume.Determine an algo to choose the sources to consume.https://git.duniter.org/tools/gmixer-rs/-/issues/31Re-send tx after a while if it's not in blockchain2020-09-18T12:21:46+02:00Pascal EngélibertRe-send tx after a while if it's not in blockchainServer should periodically check if a posted tx is written in blockchain, and if not, send it again.
This needs #21 to be done, because tx document must be stored in db. Before re-sending the tx, the server must check if the sources' av...Server should periodically check if a posted tx is written in blockchain, and if not, send it again.
This needs #21 to be done, because tx document must be stored in db. Before re-sending the tx, the server must check if the sources' availability.v0.1.0https://git.duniter.org/tools/gmixer-rs/-/issues/33Serialize NodeId into base64 in config2021-04-04T15:34:33+02:00Pascal EngélibertSerialize NodeId into base64 in configNodeId should be serialized into base64 form in server config file.NodeId should be serialized into base64 form in server config file.https://git.duniter.org/tools/gmixer-rs/-/issues/34Verify Duniter documents2020-11-17T22:15:39+01:00Pascal EngélibertVerify Duniter documentsDocuments from Duniter nodes' API should be verified (validity and signatures).Documents from Duniter nodes' API should be verified (validity and signatures).https://git.duniter.org/tools/gmixer-rs/-/issues/35Txs valid for issuer but invalid for recipient2020-11-27T09:24:02+01:00Pascal EngélibertTxs valid for issuer but invalid for recipientIf a node sends a tx which is valid against its mix confirm but invalid against the recipient's mix confirm, nobody is responsible. (this may happen due to expiration times)
Validity against issuer's mix confirm should imply validity ag...If a node sends a tx which is valid against its mix confirm but invalid against the recipient's mix confirm, nobody is responsible. (this may happen due to expiration times)
Validity against issuer's mix confirm should imply validity against recipient's mix confirm.https://git.duniter.org/tools/gmixer-rs/-/issues/36Ask new nodes for TxIdLists2020-12-05T10:28:32+01:00Pascal EngélibertAsk new nodes for TxIdListsWhen receiving new NodeSigs, ask them for new TxIdLists.When receiving new NodeSigs, ask them for new TxIdLists.v0.1.0https://git.duniter.org/tools/gmixer-rs/-/issues/37Group multiple amounts in same tx2021-03-01T11:45:43+01:00Pascal EngélibertGroup multiple amounts in same txIf several amounts have reached the mix threshold, then mix them in the same tx.If several amounts have reached the mix threshold, then mix them in the same tx.https://git.duniter.org/tools/gmixer-rs/-/issues/38Inter-node discredit2021-03-01T15:21:44+01:00Pascal EngélibertInter-node discreditWhen a node issues a tx with a TxId but the outputs are insufficient for the next node to fulfill its contract, the next node has to publish a discredit for the previous node, to defend itself.
A client detecting such a situation should...When a node issues a tx with a TxId but the outputs are insufficient for the next node to fulfill its contract, the next node has to publish a discredit for the previous node, to defend itself.
A client detecting such a situation should check the apparently faulty node, in case the discredit exists, and avoid to discredit the node.v0.2.0https://git.duniter.org/tools/gmixer-rs/-/issues/39Multi-sources mixes2021-03-03T12:18:39+01:00Pascal EngélibertMulti-sources mixesAllow to mix several sources with different amounts in the same mix confirm.Allow to mix several sources with different amounts in the same mix confirm.https://git.duniter.org/tools/gmixer-rs/-/issues/40GVA subscription for txs history2021-03-18T16:58:49+01:00Pascal EngélibertGVA subscription for txs historyServers may use GVA subscription for transaction history.Servers may use GVA subscription for transaction history.