urszeidler / uml2solidity Goto Github PK
View Code? Open in Web Editor NEWA uml profile and a set of acceleo code generators to model smart contracts in uml and generate solidity code.
License: Eclipse Public License 1.0
A uml profile and a set of acceleo code generators to model smart contracts in uml and generate solidity code.
License: Eclipse Public License 1.0
The function transfer does not take a bool (success) as in parameter it returns it. Also model need to update the profile.
Hi Urs, although we had a bad introduction in the past, I feel I can contribute a lot to this project. I have experience with Eclipse, Acceleo and Ethereum programming. Please contact me by email: [email protected]
To be able to send ether the return type of the method need to be a org.adridadou.ethereum.values.Payable the generator should respect this.
Thanks that you are doing this. I am used to Eclipse, and would just like to have solidity syntax coloring in my favorite IDE.
I am trying to install via http://urszeidler.github.io/uml2solidity/uml2solidity-updatesite/
but it results in these errors:
Cannot complete the install because of a conflicting dependency.
Software being installed: Solidity compiler Feature 1.0.3.201606152126 (de.urszeidler.eclipse.solidity.compiler.support.feature.feature.group 1.0.3.201606152126)
Software currently installed: Enide 2015 4.5.0.20150706-0926 (nodeclipse.package.enide.product 4.5.0.20150706-0926)
Only one of the following can be installed at once:
Core Resource Management 3.10.0.v20150423-0755 (org.eclipse.core.resources 3.10.0.v20150423-0755)
Core Resource Management 3.10.1.v20150725-1910 (org.eclipse.core.resources 3.10.1.v20150725-1910)
Core Resource Management 3.8.101.v20130717-0806 (org.eclipse.core.resources 3.8.101.v20130717-0806)
Core Resource Management 3.8.100.v20130521-2026 (org.eclipse.core.resources 3.8.100.v20130521-2026)
Cannot satisfy dependency:
From: Solidity compiler Feature 1.0.3.201606152126 (de.urszeidler.eclipse.solidity.compiler.support.feature.feature.group 1.0.3.201606152126)
To: org.eclipse.core.resources 3.10.1
Cannot satisfy dependency:
From: Enide 2015 4.5.0.20150706-0926 (nodeclipse.package.enide.feature.feature.group 4.5.0.20150706-0926)
To: org.eclipse.platform.feature.group [4.5.0.v20150603-2358]
Cannot satisfy dependency:
From: Enide 2015 4.5.0.20150706-0926 (nodeclipse.package.enide.product 4.5.0.20150706-0926)
To: nodeclipse.package.enide.feature.feature.group [4.5.0.20150706-0926]
Cannot satisfy dependency:
From: Eclipse Platform 4.5.0.v20150603-2358 (org.eclipse.platform.feature.group 4.5.0.v20150603-2358)
To: org.eclipse.core.resources [3.10.0.v20150423-0755]
What to do?
Thanks!
The plugin de.urszeidler.eclipse.solidity.compiler.support should add a solidity project nature and an incremental builder, which give us the possibility to provide compiler pref on project scope not, like now, eclipse wide.
A stereotype for mapping the type of the property as value and not as key.
As the api can return structs from a mapping, in the same way as return of multiple values the generator should generate a dataholder for the struct and add a method in the interface to access it.
Currently, the ABI for the Solidity contracts is included in the generated JS files
var [Classname]Contract = web3.eth.contract(ABI);
It would be great to have the ABI as a single standalone file eg. classname.json
It would make sense to change the generation start from a project preference and the start generation button in the toolbar to a start configuration. Like the uml2java generator.
The start configuration is independent from the project pref and so it is possible to have several generation targets for one model.
It also can be easily shared.
Currently the parameter modifier generates the modifier alway with '()' which is wrong when no parameter is given.
The extension point let you register an acceleo transformation. Optional an extension point for the start configuration.
To have the de.urszeidler.eclipse.solidity.compiler.support plugin installable without the uml2solidity plugin we need to add a feature containing this plugin.
The getter/setter stereotype can have a property to define modifiers for the generated getter and setter functions.
Currently the generated junit code contains a minor error.
In the createFixture() method the compiled contract can no longer get via ethereum facade.
We need to add a method in the AbstractContractTest as following:
public CompiledContract getCompiledContract() throws InterruptedException, ExecutionException {
Map<String, CompiledContract> map = ethereum.compile(contractSource).get();
return map.get(getContractName());
}
And use this method in createFixture().
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.