does the amm/dex build on portal？
the AMM can handle tokens on aeternity like e.g. Uniswap does on Ethereum. it’s independent of Portal DeFi.
of course IF somebody would provide a token bridge e.g. to wrap ETH or BTC on aeternity those wrapped AEX-9 tokens could be traded there.
@bogdan will share some insights about the AMM development & testing today.
this is technical discussion. let’s keep it technical please. open another thread to discuss this topic if you want to and I will step out of this discussion because I cannot comment it. either we find people to provide liquidity or not.
- this thread is about æpp development and developer suite and tools
- every (!!!) unrelated post will be deleted from me from now on (without further notice!)
- please stick to this and open other threads for discussing other topics (especially exchange and liquidity topics!!!)
thanks；for all developer work！amzing！
While I was working on the contract side of AMM I needed to run different tests in isolation. I had to reset the state of the contracts by deploying the whole stack of contracts over and over for each test. Meanwhile the core devs provided us an awesome feature for rolling back to a certain block height, so I’m able to discard the effects of some tests in order to use just the initial part which is common for multiple tests. I made a recording of such test running:
From minute 0 to 1:13 you will see the contract deployments. From 1:13 on I run the tests and after each test the state of the chain is rolled back in order to run independently from the previous tests and have a clean initial deployment to rely on in subsequent tests.
it’s been a while since the last update here. Be assured that we are continuously working on improving the developer ecosystem for aeternity.
I will sum up the most important activities around devtools in general as usual.
Last week we finally managed to roll out v10.0.0-beta.1 of the sdk, see:
This is a huge milestone because it now integrates the standalone calldata-lib that allows to encode and decode calldata for aeternity Smart Contracts, see:
What does this mean? It means that we do no longer require the (hosted) http compiler to simply encode and decode calldata for Smart Contracts. From now on you can also initialize contract instances in the SDK by just using ACI and bytecode. No need to provide the full sourcecode anymore. If your aepp needs to interact with an already deployed smart contract and if there is no need to deploy a contract you can also initialize your contract instance by just providing ACI and the contractAddress.
How to initialize your contract instance is described in the usage guide:
Please be aware that this is a major release that contains several breaking changes. All the breaking changes are described in the migration guide here:
This is not the only change. We provided some bugfixes and other enhancements, too. But the integration of the calldata lib is by far the most important change here.
We are happy to find many testers that provide feedback to us. If you find any problems please open an issue on GitHub!
With the help of the core team - specifically @uwiger - we made good process with devmode that is speficially designed to be used in local development of smart contracts.
The upcoming v4.0.0 of AEproject is currently in development by @philipp.chain and will incorporate the devmode by default. It will also include utilities to rollback to a certain state of the chain (e.g. to the state after all contracts have been initially deployed) and to easily perform event related tests.
As soon as we think this can be used in the public we will provide a beta release here, too and let you know!
After several changes and enhancements we finally made a new release v0.4.0, see:
It is now possible to see AEX-9 tokens in the account page. We also introduced a dedicated page for the tokens.
It is planned to introduce a tokenlist which will become even more important if we see more serious projects building on aeternity, see:
What we can already say is that we will have a wrapped AE token, similar to WETH on Ethereum. The wrapped AE token will be used in the upcoming DEX implementation (Uniswap v2 clone).
There are also several other improvements. Specifically related to details of contract calls. You now see the entrypoint that has been called, the params that have been passed and of course if the contract call was successful or has been reverted.
Also for accounts you can now see the balance (finally) and you see if it is a basic account or a generalized account. At the moment almost all accounts are basic. Let’s see if we get some adoption for generalized accounts in the near future
Of course there is still lot of things to improve and to be added. My thank here goes to @atanaskrondev.chain!
You can check the explorer out here:
In general we now have a product owner in the team. @menabdeirakli will independently collect requirements and rethink the whole explorer from a product point of view. provide feedback here: Questionnaire about æternity Explorer (Middleware Frontend)
It has been a while here since the latest release. The team made a lot of improvements and also introduced new features. There had been some difficulties that prevented an earlier release. We expect v1.3.0 to be released very soon, ideally this week.
See all the changes here:
This is probably the project most people out there are interested in. When we met in Sofia in October this year we aimed to develop a clone for Uniswap v3 which was almost finished at that time already. Uniswap v3 in general is way more complex compared to Uniswap v2 and we also faced some issues with native support for Bitwise operations which are very helpful for Uniswap v3 contracts.
Meanwhile the Bitwise operations have been added to Sophia but we won’t be able to actually make use of it until the upcoming Ceres hardfork.
After some discussions in the past weeks we decided to initially go with a clone Uniswap v2 instead of v3 for these reasons. (knowing that we almost finished implementation for v3 already)
The good message is: contract development is finished and we already started implementing the UI.
The smart contracts are currently in internal review. After this review is done (matter of weeks) we will:
- publish the repository with the contracts (currently still private)
- have an external security audit
- I am already in discussion with a service provider in that regards
We expect to be able to release a working version on testnet this year around Christmas that you could play around with.
For the mainnet release we definitely want and need to wait for the external security audit.
We continued the discussion about the AEX proposal and we finally agreed upon an interface. You can check the whole discussion around the proposal here:
@zkvonsnarkenstein.chain will shortly provide the Pull Request to the official AEX repository which we can then review before finally providing a reference implementation for it.
Thanks to everybody involved in the discussions here, especially @zkvonsnarkenstein.chain!
We recently had 3 releases where mainly refactoring and smaller improvements have been addressed, see:
Currently the development of Superhero Wallet is on hold. There is still being worked on UX topics, but no coding. The focus of the development currently is on DEX / AMM.
Also thanks to everybody involved here!
Almost all open bounties are in progress or have already been reviewed and accepted. See a complete list of bounties and their current state here:
@VitalJeevanjot helped us migrating the backend of the migration-aepp to Node.js and now we finally managed to have it working again. Read more here: https://blog.aeternity.com/migrating-erc-20-ae-tokens-to-ae-mainnet-9fe4c8a74be1
@emmanueljet created an aepp boilerplate for React that can be found here: https://github.com/emmanuelJet/aepp-boilerplate-react
More bounties will be announced shortly.
If you are a developer and want to help us in a specific way please get in touch with us. Either here in the forum or on Discord.
If you have specific requests regarding Devtools please let us know, too!
All that wouldn’t be possible without the devotion of @marco.chain and pushing it in the right direction! Thank you, really!
well done！ Expect amm; nft！
Check it out on npm:
Please keep in mind that the release ships some breaking changes which you need to adapt your aepps to. Especially if you have an aepp that interacts with smart contracts!
Check out the migration guide and the general usage guide here:
Today we also released an alpha version of the upcoming aeproject version which introduces utilities that allow you to make use of new devmode features. One very important feature here is for example the possibility to make snapshots and rollback to a state of the chain. Also the node in devmode can emit blocks instantly and doesn’t rely on mining so that you no longer waste CPU resources on your local machine. Under the hood the v4.0.0-alpha.2 release already integrates the new aepp-sdk v10.0.0
Check it out on NPM:
And install with
npm install -g @aeternity/[email protected]
We don’t have an easy upgrade-path for your old aeproject repositories yet. A migration guide and general documentation will follow. For the moment you need to stick to the help of the CLI commands aeproject provides.
For aeproject, independent of it’s current alpha state, we also recommend to test it at least for new projects and provide us feedback! You will be way more productive compared to the old version
Have fun testing and if you have any questions let us know - we are happy to help!
More is on the way! -
We finally managed to address the most important issues and are happy to announce the release
v3.0.1 of the SDK and
v2.0.0 of the plugin.
Note: It is already
v3.0.1 for the SDK as we identified some serious vulnerabilities in third party dependencies which we immediately resolved.
We also refurbished the documentation which now provides lot of examples how to use it and how to get started:
You can find the respective changelog here:
For the SDK we also updated following example applications:
- This application can be used to claim, bid and update/extend AENS names.
- Note: this is just a simple example which meanwhile also uses deprecated classes. The only reason why we created this is to verify that the SDK can be used in Android applications. We aren’t Android experts and leave it up to others to test and use it.
But there is more!
Of course we also updated the contraect-showcase-maven repository where we provide an example how to use the plugin along with the SDK.
One highlight in this showcase repo an example how to use the Generalized Accounts feature of æternity by attaching a simple MultiSig contract.
Check out following resources to see how the contract and the respective tests look like:
We also added an example how to use delegation signatures and allow contracts to perform AENS transactions on behalf of the user. By making use of delegation signatures you would for example be able to create an AENS marketplace
Check out the contract and the test here:
None of the contracts in this showcase repo are audited. This is especially important to mention for the SimpleGAMultiSig contract in case you plan to use it in production!
Have fun testing! Happy to get feedback and give support!
Thank you for update dear @marco.chain
we’d like to provide a bounty to finally get support for Sophia Syntax Highlighting on GitHub. I am trying to get a confirmation of the repository maintainers that they will merge a PR in case somebody develops this.
please provide some likes and ideally also comments if you’d like to see that happening:
hi how about dex？
we will share some updates about DEX soon
the smart contracts are currently being audited
Is there any progress here regarding DEXs? @marco.chain
Is there any progress here regarding DEX?
Quite a lot of progress. We are almost ready. We should have news for you by tomorrow EOD.