counterpartyxcp / counterwallet Goto Github PK
View Code? Open in Web Editor NEWCounterparty web wallet
Home Page: https://counterwallet.io
Counterparty web wallet
Home Page: https://counterwallet.io
Add bounds checking on call_price and quantity as field validators (then we can remove the check at https://github.com/xnova/counterwallet/blob/develop/src/js/components/balances_assets.js#L99 probably)
failoverAPI: Call failed (failed over across all servers). Method: get_asset_info; Last error: JSON-RPC Error...'could not contact counterpartyd
when I switch the 'Buy
asset' on the Buy & Sell page (to, say, XCP) when some text has already
been entered in the Other Asset box.
implement redis-based caching of returned API results that is intelligent (ie. caches and keeps hot in the cache as long as the underlying data doesn't change. underlying data is tracked based on an identifier that identifies it as well as it's dependencies (i.e. an order match would depend on the state of two orders). when that underlying data, or any dependency changes, the cached result for anything that "depends" or is comprised of it is invalidated).
going to try for this for counterwallet 1.0 mainnet, but it may need to be pushed a bit
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
TypeError: r is not a function
...&&(h=k.aoColumns[b].sTitle.replace(/\n/g," ").replace(/<.*?>/g,"").replace(/^\s+...
(not much info to go off of)... this is off of the newest build, when going to the logon page in Firefox (and probably other browsers as well). loads fine on chrome, and works fine in firefox if going to the source version at /src (using the newest nginx config I posted to counterpartyd_build)
similar to how we do on the Show Prices page (can use the code from that page as well most likely). this will allow users to see their "competition" for an order they want to create, essentially
so that when a modal dialog pops up, the user can drag it around the screen.... and also improving modal dialogs to potentially avoid the "dog-piling situation" where multiple dialogs are created and layered one on top of another (something to at least discuss)
Draggable bootstrap dialogs (this is possible as we have jquery UI included as well already):
http://stackoverflow.com/questions/15881245/draggable-js-bootstrap-modal-performance-issues
http://stackoverflow.com/questions/12591597/twitter-bootstrap-modal-form-how-to-drag-and-drop
will also have to see how this works on mobile (i.e. it doesn't break the modal windows...it's fine if people can't drag the dialogs on mobile)
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Will allow picking 2 assets (as well as optionally a min BTC fee), and will show the price chart, order book, your open orders, and trade history. This is similar to what the Buy/Sell interface does today, but is good if you just want to view a price history, and not buy or sell something (whereas today you have to "pretend" you want to buy or sell something just to view a dex price history for an asset pair).
https://www.dropbox.com/s/usyr8tq6u086nn3/g3026.png
it would be cool to have multiple versions of the logo (i.e. 3 or 4 versions), where the organge color would change depending on the theme selected (e.g. for the google theme it could be orange, and for the default theme it may be some other color)...not a hard requirement though
Automated selenium-based test suite that uses:
At a minimum, we want to test the site on newerish versions of firefox, chrome, IE (9+), on desktop and mobile platforms.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/1495021-implement-selenium-based-automated-test-suite?utm_campaign=plugin&utm_content=tracker%2F542579&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F542579&utm_medium=issues&utm_source=github).Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
the build system should build/minify/uglify etc everything into a build dir, then purge the CDN (if enabled). also write out all files checksums and log that
the start of the build system code already exists in the counterwallet repo
going to try for this for counterwallet 1.0 mainnet, but it may need to be pushed a bit
And Notifications, and Open Orders
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
A number of these in the logs:
2014/04/09 02:37:04 [error] 1605#0: *2481 open() "/home/xcp/counterwallet/build/sound/messagebox.mp3" failed (2: No such file or directory), client: 76.18.186.54, server: _, request: "GET /sound/messagebox.mp3 HTTP/1.1", host: "counterwallet.co", referrer: "https://counterwallet.co/"
https://github.com/bitcoinjs/bitcoinjs-lib/commits/master
The bitcoinjs version we're using has had a lot of updates. this will entail an upgrade of cryptojs as well...
perhaps version 0.2.0 (just released) is where we should tie to. need to do a good amount of testing on this once updated to make sure all of the current wallet functionality still works fine.
Once Trezor is available, add the ability to import an address stored on a Trezor hardware wallet.
Can use this library: https://github.com/trezor/trezor.js
Do signing with this: https://github.com/trezor/webwallet/blob/c12d1d6b32022b25aad64912927a62af394616bc/app/scripts/services/TrezorAccount.js#L137
(their lib takes in a bitcoinjslib tx object, but we could modify it for bitcore)
also, I think we need to add a daemon to run trezord server side (will need to enhance build system, much like we do for the armory daemon)
This will give people the ability to have very secure storage addresses, backed by a hardware wallet device (i.e. the privkey will be stored on the trezor and not generated from the entered seed/password on login).
--- Did you help close this issue? Go claim the **[$15 bounty](https://www.bountysource.com/issues/4062817-add-support-for-trezor-based-addresses?utm_campaign=plugin&utm_content=tracker%2F542579&utm_medium=issues&utm_source=github)** on [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F542579&utm_medium=issues&utm_source=github).From rotalumis:
Add option to specify total amount to distribute, instead of dividend per share.
While the dividend payment is waiting to be processed, there is no indication (cloud upload arrow) that there is a pending subtraction of funds from the relevant asset.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
the failure is a bitcoind -22 transaction failed error (with no error in the logs on bitcoin 0.8.x or 0.9.0). this may be a timing thing.
Uncaught ReferenceError: qrcode is not defined
when logged into the site from a mobile or tablet, the side bar has display issues (at least under chrome). this is most likely due to css customizations to smartadmin that were made to counterwallet (see overrides.css).
Also, the reactive design elements need some work and testing. For instance, verifying the appropriate use of the bootstrap grid classes (i.e. the use of 'col-md-x' vs 'col-lg-x' (etc)), testing and tuning responsive design on grid displays, and so on.
The end goal is a solid experience on table and mobile devices to the maximum extent possible, given the screen real estate constraints and processing limitations.
if you click Import Funds, and then input a valid PK that is in base56 format (instead of bitcoin-qt raw format), the operation fails silently (i.e. the assets box doesn't appear, and the sweep button doesn't work).
With this, add a validator to the PK field in this dialog to detect base56 format and tell the user to enter it in the other format instead
enabling this option breaks chat, and more. get it working properly so that we can use it to help performance... as it's caching, check for any side-effects
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Both counterwallet and counterwalletd convert from Decimal to float in several areas, between operations (and for storage). This is Not Good as precision is lost.
counterwalletd, specifically, does math in decimal, and then converts to float for storage in mongodb (as native Decimal storage is not supported, see https://jira.mongodb.org/browse/SERVER-1393). Instead, it should convert to string, and save, and then deserialize back into a Decimal on load. Another alternative is multiplying by 100M and serializing as an integer (pros of this is that is allows rapid sorting by the value in a DB query/filter).
This change will affect a lot, as even "normalization"/"denormalization" both in counterwallet and counterwalletd end up returning a float, after doing fixed point math and quantization.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4062813-precision-issues-in-counterwallet-counterwalletd?utm_campaign=plugin&utm_content=tracker%2F542579&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F542579&utm_medium=issues&utm_source=github).via: http://rest-samples.ahus1.de/client/rec_i18next.html
(will add requireJS and i18next as dependencies)
Already done: Allow language selection in wallet options and save the selected language into the wallet's PREFERENCES
data strings should use i18next's sprintf-type support (and actually, all of that clumsy "You have " + amount + " coins remaining" type logic should go away 100% and be replaced with sprintf-type statements, for improved clarify and to allow for this internationalization):
Other things:
Try XBTC and XCP. The following error comes up and I do not see records in the Order Book.
[/size]Error making request to https://counterwallet.co/_api: JSON-RPC Error:[/color][/size]Type: Server error[/color]
[/size]Code: -32000[/color]
[/size]Message: local variable 'filtered_base_bid_orders' referenced before assignment[/color]
the way unit price overriding in buysell.js is handled today needs to be refactored (i.e. it is done as a bolt-on, which modifies the customsellamount instead of affecting unit price directly, to avoid excess complexity and b/c it was added after customsellamount was in). Essentially, the reactive workflow in this file needs to be rethought to some extent.
The consequence of this is that precision is lost in some cases, at least around the calculated unit price vs. the entered one.
example to reproduce: start a trade to buy 1 BTC for XCP and then enter 12345678 digit by digit and watch as the unit price changes. After the first couple it gets increasingly out of whack. (Not sure why you need to calculate the unit price in this case.)
Here's a screenshot of half way through the above process: http://i.imgur.com/GRSbTec.jpg
this is due to an underlying bitcoinjs-lib issue: bitcoinjs/bitcoinjs-lib#49
it's no longer necessary because we can chain unspent transactions (we looked into this, the reliability isn't 100%, but it's "good enough", given that worst case if the transaction won't go through)... priming is pretty wide spread in the interface:
then it will need to be tested (e.g. have an address with only 1 available output, then do a bunch of transactions in a single block and see if they all successfully go through)
From rotalumis:
the wallet should take into account pending sends when calculating how much funds an address will have after when you're making another send. This is also very important for input data validation purposes.
Here, I managed to place three send orders for 500 DENARIUS each out of an address that only has 800. http://i.imgur.com/aDDI6YG.jpg
In the end, I didn't manage to create new tokens, hehe, but it still shows another send pending: http://i.imgur.com/IxkoxHa.jpg In any case, it's a confusing situation.
when one or more sends are pending, showing the expected final balance on the address in brackets (maybe with a note that explains that) would be helpful.
Jah: let's discuss this some. it's not 100% straightforward as actions can take effect "out of order" (or not at all), depending on when/how the miners package the confirmed txns in the blocks. counterparty processes txns in the order they are in the blocks, which may not match the order the user actually performed them in. So showing a pending balance change from a display perspective is one thing, that's fine, but we don't want to "lie" to the user by saying something is done when it isn't, and there is no security issue here counterpartyd will invalidate any "double sends" of counterparty assets. I'm interested on hearing your thought on this item, as to how it may be more user friendly, without becoming to complex or burdensome.
See https://bitcointalk.org/index.php?topic=406408.msg6104092#msg6104092
all links to blockscan via tx_index will need to be updated to link as tx_hash
With a new wallet, I click on Show Chat. I choose a
username A, and a get the pop-up shown in screenshot.1.jpg
. Then I
type in a new username (B), and it goes through, but I see an empty
chatroom with the username set to A (screenshot.2.jpg
).
This is on Firefox, and it happens every time a create a new wallet.
Environment
Firefox : 27
Steps to reproduce
This works fine in chrome. Issue only occurs in firefox. I tested issue on two different machiens, just to make sure there is no popup blocker
They have to stay logged in for the whole time that they have any order selling BTC open...
Could we have some sort of e-mail notification service to handle this? (Not a wonderful idea.)
Look at the BTC/XCP View Prices page and sort by price. The following orders are showing up with a strange price. The first looks expired on blockscan and the other two seem to have zero BTC.
This is the JS error:
Error: Syntax error, unrecognized expression: #wid-id-openOrders-asset[object Object] ...[4]||e[5]||"").replace(nt,rt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHI...
The open orders list is a great start when you're looking at an asset. A further refinement that would be great would let people match orders by clicking it in the list. This should populate the price/amount info of the users order-to-be-created automagically.
these fixes apply to orders where one of the assets in the pair is BTC:
Add ability to add a "watch only" address. Can see balance changes, but not perform actions with the address.
For example, on the sending form, I have to type "10000", instead of "10,000". Not that big of a deal, but it would be nice to allow commas to be entered. The validation logic would simply need to ignore them as part of numbers validation/production
Enhancement Request:
Add the ability to add public keys to the wallet and view/monitor balances.
A bonus would be to be notified if the balance changes.
The filters for 'Min BTC % Fee Provided' and 'Max BTC % Fee Required', only apply to the first table 'Order Book', but not for the following two tables of 'Open Orders'.
(right now it says undefined by the address and balance)
Add an API listener (listens on localhost by default, on a different port) that supplies a stats-type API.
Initially I'm thinking that we will have a single API call here, that returns a dict containing a count of the number of invocations to each API call since system startup, and since all time.
To do this, gather API usage stats and peroidically write them to a new table in mongo (do it intelligently, in that we write to a local data structure, and push the counter updates to mongo every few minutes in a single query). then add a stats API (on separate port) for requesting these stats.
Also, make a new relic agent that reports them up to newrelic possibly even (use the code at https://github.com/MeetMe/newrelic-plugin-agent for inspiration)
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Please, delete if duplicate.
Firefox : 27
This works fine in chrome. Issue only occurs in firefox. I tested issue on two different machines, just to make sure there is no popup blocker
Console output
GET https://themes.googleusercontent.com/static/fonts/opensans/v8/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff [HTTP/1.1 304 Not Modified 27ms]
GET https://testnet.counterwallet.co/fonts/fontawesome-webfont.woff [HTTP/1.1 304 Not Modified 93ms]
Use of getPreventDefault() is deprecated. Use defaultPrevented instead. jquery.min.js:5
SyntaxError: missing ) after condition knockout.js:2745
ReferenceError: ko is not defined knockout-bootstrap.js:24
TypeError: ko is undefined knockout.x-editable.js:10
ReferenceError: ko is not defined knockout.validation.js:43
ReferenceError: ko is not defined counterwallet.js:195
"MultiAPI Backends: ["https://cw01.counterwallet.co"]" counterwallet.js:24
ReferenceError: ko is not defined util.knockout.js:2
ReferenceError: ko is not defined logon.js:270
ReferenceError: ko is not defined logon.js:6
POST https://api.rollbar.com/api/1/item/ [HTTP/1.1 200 OK 98ms]
POST https://api.rollbar.com/api/1/item/ [HTTP/1.1 200 OK 95ms]
POST https://api.rollbar.com/api/1/item/ [HTTP/1.1 200 OK 100ms]
POST https://api.rollbar.com/api/1/item/ [HTTP/1.1 200 OK 92ms]
POST https://api.rollbar.com/api/1/item/ [HTTP/1.1 200 OK 91ms]
POST https://api.rollbar.com/api/1/item/ [HTTP/1.1 200 OK 97ms]
POST https://api.rollbar.com/api/1/item/ [HTTP/1.1 200 OK 161ms]
POST https://api.rollbar.com/api/1/item/ [HTTP/1.1 200 OK 165ms]
Original report: https://bitcointalk.org/index.php?topic=395761.msg6123507#msg6123507
Created with the default options: example on testnet
Of course, testnet transactions with zero fees confirm just fine, but the fee_provided
should always be set to config.MIN_FEE
, except when selling BTC.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.