Comments (3)
Hi! I'm considering working on this. There are several possibilities and wanted to clarify first:
(not super experienced with Rust, apologize for possible oversights)
TryFrom
trait (since it can fail): this seems to require a bit awkward syntax when passingString
, e.g:
Address::from_str(&*gen_response.address)
// or
(&*gen_response.address).try_into()
FromStr
trait:
Address::from_str(&gen_response.address)
// or
gen_response.address.parse::<Address>()?
To convert to string, we'd to implement the ToString
trait.
from algonaut.
Hi @i-schuetz ! I was thinking of this issue just yesterday, thanks for the analysis! In fact my doubt was the requirement for perfect conversion of the From
trait and your solutions perfectly address the issue. I would go with the first option because I think that we will be using it especially with string slices and because the try_into
feels cleaner than parse::<Address>
. In theory we could implement both, but I think that is better to keep a single way of doing things whenever possible. What do you think?
from algonaut.
With parse
actually we don't have to set the type, unless type inference doesn't work (which happens only in 2 places at the moment). Given this, I'm slightly in favor of it, as "parse" sounds a bit more accurate (and we don't need the &*
syntax, which we'd need with TryInto
, also in 2 places). I'll open the PR with this. Can change it.
from algonaut.
Related Issues (20)
- `Transaction::note` is a base64 string, but should probably be decoded. HOT 1
- Indexer just launched new version. HOT 5
- ABI support
- Atomic Transaction Composer support
- Consider adding checked arithmetic operations to `MicroAlgos`
- Populate `PendingTransaction.txn`
- Newtypes for app id, asset id, tx id HOT 5
- OpenAPI basic functionality
- OpenAPI types customization
- Add traits for a leaner transaction creation API HOT 4
- Support request retry?
- Add GetApplicationAddress from Algorand SDK HOT 2
- Automated tests stopped working
- Review crate structure HOT 1
- Example `key_reg` stopped working
- Add support for Boxes HOT 11
- Build error when importing `algonaut_transaction` HOT 2
- Implement Logic Crate HOT 2
- querying by tx id fails HOT 1
- Implement Clone on Algod
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from algonaut.