Last week we reached an important milestone 🥳! We released the infrastructure for
Passport 2.0! This includes contracts upgrades and changes in the back-end and front-end, as we now allow for not only one credit score, but an arbitrary number of scores. The ARCx credit score still being our main focus,
we are now open for partnerships of other protocols to piggyback on our infrastructure and host their own score on our platform.
Although this was the main focus for last week, here are the other updates:
- 🛂 Added new Optimism skins!
- ✨ New app reskin (still ongoing). We are in the process of releasing new branding material, so brace yourself for new changes!
- 🔨 Improved testing infrastructure
- 🛂 Improved functionality for Passport.js. It's possible that you're not very familiar with this unless you watched/followed our community updates. This is essentially a library that allows integrating partners to display the DefiPassport of the currently connected wallet if that wallet has one.
- 🩺 Improved monitoring of the overall system health.
- ✨ Minor UI polishes such as showing undefinedin statistics instead of a loading animation, etc.
- 🐞 All DAOGE skins are now shown on the skins page
- 🐛 Fixed a CORS bug causing some screens to show error messages
- 🔨 Fixed a bug causing some pages to not load if a wallet was not connected.
It has been quite a while since the last engineering updates post, and that is because we started a new way of communicating our updates on Discord! In case this is news for you,
we have a weekly live stream on Mondays at 5PM EDTand anyone can listen in by simply joining the
community-callchannel at that time.
We would like however to bring back this kind of post since we can add in more details on what we're working on, and publish it on a Discord channel so that people can ask questions about what we're doing as well.
That being said, let's get into it!
- 🛂 Passport 2.0: last week has very much been focused on the Passport 2.0 implementation (which is now in the testing phase). This is quite big since it will allow us toincrease the utility of the DeFi Passport exponentiallyby allowing other protocols to save their own scores on it! We will release a more detailed post on this very soon.
- 💸 Phase 2 claim page: the phase 2 claim page was released at https://v2.arcx.money/token-claim-2. People who participated at the Phase 2 sale can now claim the remaining portion of their tokens!
- ✨ App Reskin: while working closely with a great designer, a new reskin is on its way this week with an improved and more user-friendly DeFi Passport application flow and passport page (more incoming as time goes on). This will be released sometime this week so stay tuned!
- 🐞 CORS error: A handful of users complained about an error on theStakingpage. This often occurred after a user went to the staking page from the landing page. We have found a fix that will be shipped at the same time as the other two points above. At the moment of reading though, please see this comment for a workaround.
If in the past two weeks we were in architecting and building mode, we are now officially in the
polishing mode! This post features a
bug reporting automation, UI/UX improvements and a team expansion!
Since launching Sapphire requires a lot of moving parts being brought together, we will not divide this post into different categories anymore, since all "sub-systems" now work hand in hand.
Without further ado, let's dive into the updates!
- 🦾 We have streamlined the issues from Canny into our internal backlog!The way this works is all issues that are marked in the ARCx Alpha Feedback board asplannedby an admin get added in our internal backlog. When we start working on a task, the status of the issue automatically gets changed toin progress, and when we complete it, it gets marked as such! This is a step forward to bringing more transparency to the community and speeding up the iteration loop.
- ✨ Now that all functions are in place, we are getting feedback, fixing bugs and polishing the UIon a daily basis.
- 🔧 Added redundancy and improve efficiencyin the way the front end gets a credit score proof for a user.
- 🕰 Added a currentEpochvariable on the SapphireCreditScore contract to allow us and other protocols to reference the epoch of a certain credit scoring state in time.
- ⚙️ Created a microservicethat responds to a GET request and returns an account's credit score and its proof for interaction with the Sapphire contracts.
- 🌲 Created a microservice for signing and publishingthe credit score Merkle tree's root.
- 👨💻 We have expanded our teamon the back-end! We are excited to welcome@classicushd(Discord handle) onboard!
That's it for today, stay tuned!
In the past few weeks, we have been laser-focused in developing the Sapphire front-end, and as the days pass, we can see the launch quickly approaching! Have a look at what's cooking!
- 📜 We have completed the development and testing of the DefiPassport NFTandDefi Passport Claimercontracts.
- 🔮 Completed the oracle of the first collateral to be used in Sapphire(can't announce what it is yet 🤫 )
- 👩🔬 Implement more recommendations from Quantstamp's audit.
- 🛠 Made solid progress on the UI/UX of the Sapphire dApp. We're super excited about the launch! 👀
- 🧪 Improved our front-end test infrastructure.
- 🛂 Implemented the design of the first default passport skins!
- 🚀 We are very excited to announce that we were able to do a full flow on Rinkeby. This is comprised of signing up for a passport, getting a credit score, minting the Defi Passport NFT (with skin) and farming with a Defi Passport! (Alpha leak: https://rinkeby.etherscan.io/tx/0xa2238d217463af7206d5deee328b17358e510f501f9c1fd940f753396e19b5e4 🤫 )
- 🔧 General maintenanceof the repo, cleaned up tests, etc - putting it in shape for the launch
- 🦺 Create a backup service with Google Cloud if our main method of publishing the credit score tree on IPFS fails.
Most moving parts are in place now. We will now shift our focus towards improving the UI/UX, gathering feedback and getting the rocketship ready for launch.
That's it for now! We'll start beta-testing in the very near future, so stay tuned!
In the last week and a bit, we focused on the sapphire front end app. The goal was to successfully be able to
farm with a credit score, and we achieved it! Here's the transaction: https://rinkeby.etherscan.io/tx/0x6f1446b94e5f23474df1a2a5d6076d8851e57f1a5d94b9dddcd4f3c64453d5e7
The reason why this is such a big feat is that this transaction means that
the entire machinery worked: the back-end successfully picked up the addresses that signed up for a Sapphire passport, then published a tree of credit scores to an IPFS, which was in turn read by the front-end and generated a credit score proof, which was finally passed to a farm that is for passport exclusive holders.. phew!
Now, here are our completed tasks since the last update:
- 🪞 We have put the credit score contract under a proxyas we want to have flexibility in upgrading it for the next-gen credit score(s). (Yes, we are already planning what happensafterthe release of the initial DeFi passports!)
- 📜 We are working closely with Quantstamp in finalizing the audit.
- ⚙️ Tested and ensured the end-to-end integrationsto Ceramic work.
- 🧪 Set up testing infrastructure and base testsfor the Ceramic service, used to publish the Merkle Tree containing the credit scores.
- 🚀 The back-end can now publish the updated Merkle Roots periodically!
- 🧹 We have done some housekeeping(aka refactoring) around our repos to get rid of legacy code.
- 🚀 Launched the new landing page! If you didn't see it yet, check it out at https://arcx.money/
- 🕸 We have implemented a service to load IPFS documents. This will be useful for getting the Merkle tree with the credit scores.
- 👨💻 We have made good progress on the Sapphire dAppand it continues.
That's it for now, until next time!
TL;DR: the timer on the launch pad has started. Sapphire is rolling out on Rinkeby.
It's May 28 already! It's crazy how time flies! This is always a good sign for us here at the engineering team - it means we've been plenty busy while having a blast! So we'll try to consolidate as much as we can in this post.
Yes, we've seen the memes over at the 🌐 arcx-speculation channel (see below) 😂 , and we promise to do everything we can to speed up the shipping process without sacrificing anything important.
So without further ado, let's dive right into it!
Big picture updates
The community is not the only one waiting to see Sapphire come to life. This is why we had some orientational meetings to ensure everyone is well aligned and working efficiently to deliver Sapphire as soon as possible. To that end, we defined
two phases of delivery:
- Phase 1:allow users tosign upandclaimfor a Defi Passport, then allow them to take part in anexclusive farmwith their DeFi Passport!
- Phase 2:allow users to deposit and borrow using their DeFi passport, while their credit score is ever-evolving and being updated according to our machine learning models.
- We can't give specific dates in this post, but we can definitely say that more official updates (with dates) are on their wayvery soon™!
- 🔏 We have received Quantstamp's audit! The good news is no critical or major security vulnerabilities were found. There's a number of small adjustments to do, however, just to make the contractsperfectand we patched everything last week. We can't wait to share the report with you!
- 🚀 To prepare for Phase 1, we have deployed all Sapphire contracts on Rinkebyfor testing with the upcoming UI. Hey look, here's one!
- 🏎 The back-end is well aligned for Phase 1. The bot detection serviceis done and we are now finishing up the remaining work toperiodically updatethe credit scores on Rinkeby.
- ✨ The majority of React components for the new web app are done.
- 🚧 A basic user interface to allow for the implementation of the logic is complete.
- 🧹 We have done some refactoring to clean up some old code
- 👩🔧 Many people wanted it fixed and this task was at quite the bottom of our to-do list. Nevertheless, we replaced "Graebers" with "ARCX" for the reward of Farm 9. A PR is on the way at the moment of this writing 🍪
That's pretty much it, stay tuned for more! ~
If it's been a while since the last updates it's because we've been very busy shipping.
That being said, we're proud to announce the launch of the new ARCX Governance token! This token is special in two ways:
- It represents a token split of the old one with a 1:10,000 ratio. This means that if previously you had 1 (old) ARCX token at $10,000, you will now have 10,000 ARCX at $1! We are currently working closely with Coingecko to update it with the right numbers.
- Users can can exchange their old ARCX tokens for the new ones, by visiting migration.arcx.money!
Now, to get into the more specific aspects of what we've been busy building:
- 🪙 We tested, developed and deployedArcxTokenV2 (or the new ARCX token) smart contract. Note - it implements the EIP2612 - permit function, allowing dapps to make approvals on this token via a signature instead of a separate transaction.
- 🛂 Improved a smart contract that will be used to sign up the users for their DeFi passports.
- (on app.arcx.money) 🚜 To incentivize liquidity of the new ARCX token we have launchedFarm 9! This time it uses a Sushi LP token composed of the pair ARCX(new)-ETH. To get these tokens, users will have to go to this page and provide liquidity. We know gas prices are very high these days, so to improve the user experience, we added astakeWithPermit()function on the farm, allowing users to stake without having to execute anapprovetransaction (using thepermitsignature)!!!1!
- 🕊 As stated above, we have developed and deployed the token migration page!
- ⚙️ Our credit score contract stores a Merkle Root hash of a Merkle Tree that contains the credit scores of all users. This hash is to be updated by a "Merkle Root Updater". Given this context, we have finished the system to update the Merkle Root hash in a secure way. There is just a bit more polishing to do, but we're essentially there.
- 🏺 In the same context as above: we finished the system to publish the entire Merkle Treecontaining the users' credit scores on an IPFS, from which we will derive the Merkle Tree root hash. We will use the Ceramic Protocol for this.
- 📦 Work on the new UI continues. Something neat to note here is the way we're developing it. Instead of building all from scratch, one team member is writing the UI components in a separate NPM package, and another one writes the logic. It's very likely that we will eventually publish this "ARCx-Design-System" NPM packageto allow the community to build applications on top of our contracts while preserving a familiar tone in terms of UI. This helps us too to ease the development of the new Sapphire UI.
Credit Score back-end
- 🤖 We finished our bot detector engine! Our team essentially developed an API that takes in an address and returns whether or not it thinks it's a bot or a real person. It is modular in that it has different "plug-and-play" validators with different rules, making it easy for us to adapt the rules and constantly improve our bot-detection service.
- 🎖 We completed our first "Protocol Service", which takes all relevant information (transactions, addresses and events) of a protocol and renders it in the right format to save it externally, or to a DB. Currently, we only supportCompoundbut we are not done on this front.
- 📈 🧠 This next point comes hand in hand with the one above: wehired a team of machine learning engineersto help us in delivering a credit score based on an address's transactions. We gave them the data from the Compound Protocol Service (from the point above) in a nice format and they started working on an ML model.
Did you know?
- For those who do not know yet, we have a page on our wiki where we publish the addresses for all of our smart contracts and DAO accounts. You can see them at https://wiki.arcx.money/misc/addresses
Exciting times ahead! Stay tuned~
Dear followers of ARCX,
🎺🎺🎺 The past few days marked a
hugemilestone for the ARCx development team. In the past few months, we have worked tirelessly in developing Sapphire and we are very excited to announce that
all of the smart contracts have been completed!
We have effectively submitted a
formal auditwith Quantstamp this past Monday!
Although this means a huge weight is off our shoulders, our efforts are far from over. We are now doubling down on shipping the new
back-end credit score system, enabling our users to claim their
Here are the updates:
- 📜 The new landing page is completed. It is to be launched soon™!
- ✍️ It looks like a token split proposed by the AIP-2 (still ongoing) is strongly in favour, so we already completed the smart contract for the new ARCX token. As soon as it passes, we will let you know how you can convert your old tokens into the new ones.
- 🔧 We have made some tools to help us test and interact with the smart contractsto speed the development of the new dApp.
- ✨ We worked with our professional designer to develop a package of React componentsto make it easier to code the front-end of the Dapp.
Credit score system
- 🏗 The team is making good progress on the credit score system. The infrastructure to analyze transactions and store relevant informationis completed.
- 🤖 We are almost at the end of finishing a bot detection service, in order to make it fairer for real users.
- 🪙 The smart contracts supporting the new StableXtoken are completed.
- 👩🌾 🛂 To better prepare us to launch our DeFi passport, we have developed the smart contracts for DeFi passport-enabled farms!
That's it for now, folks! Stay tuned for more updates!
We hope everyone is doing well. As usual, we want to keep you informed of what happened during the past week and a half with the engineering side of things.
From our last post, it looks like you prefer this style of update rather than a cold, bullet point form of technical updates, so we will keep going unless there are any complaints 😇
Of course, don't hesitate to give us feedback of any sort. All constructive feedback is welcome, so if you have any suggestions for what you'd like to see in these posts, feel free to tag @gtupak in our Discord or on Twitter.
Alright, let's get right into it!
Our efforts are currently split into 3 aspects: writing the
smart contractsfor Sapphire (V3),
designing and developingthe new UI that comes with it and the
credit scoring system back-end. Since our last update, we continued our efforts on that front.
Sapphire smart contracts
- We have booked a formal security audit that will kick off next Monday, so we focused on finishing off the smart contracts. Good news! 🥳 At the moment of this writing, all of our smart contracts are completed!We keep writing more tests, however, to make sure we're in a good shape for submitting the contracts for review.
- We continued working closely with our designer to polish an amazing new UI that we're super excited to release. Updates on that front include the finishing of the new landing page, as well as good progress in developing new UI components for the fresh new dapp✨ . Little spoiler here 🤫 : the new landing page will have a web3 component for people to connect their wallets to! More details on that coming soon™!
Credit scoring system
- A solid chunk of work has been done on the credit scoring system aspect as well. Lately, the focus was to parse event logs and structure them in a database for easier processing. And so, we managed to build a system to successfully parse event logs from the blockchain at a very high speed, which pushes us one step further towards building the passport issuance service.
And this is it! Stay tuned for some exciting news dropping early next week!
In the past two weeks, our engineering team has really been down in the trenches in building Sapphire (v3).
The good news is we made a lot of progress and although it may not show on the surface, things are moving very fast. In fact, we even expanded our engineering team by
a new full-time member🥳 who will work on the credit scoring system! This now takes the entire ARCx full-time team to 6 people.
So what did we exactly do in the past two weeks related to Sapphire? 🔷
- A very extensive test suitefor the new contracts has been written. There is still a bit of work to be done here, but we have enough that allowed us to start with the implementations confidently.
- The smart contracts related to the credit score are all completed.
- We are currently working on the implementations of the deposit, borrow, repay and withdraw functionsand things are moving at a good pace.
- The off-chain system for parsing user data and assessing a credit scorehas beenarchitectedand its implementation has started.
- In parallel, we are working closely with an amazing designer to make a fresh new landing page and dapp. Updates on how that looks like will be posted soon 👀
We are doubling down our efforts on Sapphire and can't wait to ship it to you! 🚀