Some pacli/pypeerassets issues

Hi, while I’m working on this PeerAssets modification I ran into some problems with both pacli and pypeerassets. I have fixed them in my private installation and can open pull requests for them on Github, but I wanted to ask first if they’re already known and if fixes are already available, because I have until now only a superficial understanding of the PeerAssets/Pacli code.

pacli:

  • provider.py has a typo: pautils.load_p2th_privkeys_into_local_node must be pautils.load_p2th_privkey_into_local_node
  • also in provider.py, the “set_up()” function in my installation does not work, as I need to pass the “provider” variable to it. My fix changes the function call to set_up(provider)
  • The RpcNode class init method from pypeerassets doesn’t accept the “network” parameter, so I did an if-else in provider.py. Network parameters like rpcuser, rpcpassword, port etc. have to be passed to the RpcNode function in this script (my solution to that uses the new attributes Settings.rpcuser, Settings.rpcpassword, and Settings.rpcport).

pypeerassets:

  • pautils: two issues with “deck spawn”:
  1. d[“time”] doesn’t work, it must be d[“issue_time”]
  2. an if-else-structure for d[“tx_confirmations”], otherwise all zero-conf deck spawn transactions crash pacli.

PeerAssets testnet issues:
These are probably related to the PPC 0.8 hard fork (I don’t know if testnet already forked to the new protocol):

  • min output value and thus P2TH fee (in pa_constants.py) is 0.01, not 0.001. 0.001 leads to an error.
  • same goes for minimum fee (in networks.py), is 0.01, not 0.001
  • calculate_tx_fee in transactions.py: min_fee is set to 0.001, for testnet it should be 0.01 too.

I think the pacli and pautils issues are simply bugs, and I can simply submit my fixes as a pull request on Github. The new Settings parameters I added (third commit) however may need discussion before.

Pacli commits:

Pypeerassets commit (without testnet issues):

Cheers, d5000

Please do the PR’s on each bug independently. By the looks of it most stem from lack of recent sync between all the components of the stack.

Before continuing I believe time should be spent to implement provider for blockbook.peercoin.net API which is set to replace the explorer.peercoin.net soon. Providers are defined in the pypeerassets library.

Thanks for commenting! I’m creating the pull requests individually then.
Edit: Done the three most basic pull requests.

1 Like