To build CDA(Cross Domain Auctioner) need to clarify serveral points.
- time to market
- competition
- volume of flow
- capturable by us volume of flow
Will pre conirmation from blockbuilders be accepted by blockbuilders as solution?
What are exact formulas give to calculate amount to bribe builders so that block likely be pre confirmed?
Why other solution will are not picked?
What 2 chains we want to build blocks for?
Why exactly these 2?
Do they have blockbuilders?
Do they have direct bridge connection?
Why CDA release on these chains will bring real traffic(amount settled) and what will be size?
Idea is to abstract execution and data via CVM (unified asset id and possible venues operations, like exchange and stake).
Is it relly needed? Is that a problem to searchers who do CEX/DEXs now? Or do Wormhole/Axelar arbitrage?
With product which seeks directly on each chain and sends to blockbuilder of each chain, they may no need to CVM in general, except simple bridge of tokens from chain to chain directly.
Is MANTIS CDA stateless? So it never has its own state persisted onto disk in its own data. Tthe only data it perists happens on L1s?
Assumes you know MANTIS CDA operates logically as per previous document with centralized server.
Document starts from simple human description, and follows up with diagram tyring to say same thing in more formal way.
Design desribes single L1 Rollup, while Rollup which interacts with severa L1 is alternative*
Searchers and blockbuilders deposit assets to L1 Vault of Rollup.
Rollup follows deposits on L1 Vault. t
@startuml
actor searcher
actor blockbuilder
cloud L1 {
node CompoableCosmos as cc1
node CompoableCosmos as cc2
}
cloud Rollup {
node "zkevm-host(leader)" as h {
component zkevm as vm {
file "blockbuilder algorithm"
file "pricing algorithm"
file "..."
}
}
node "zkevm-host" as h1
node "zkevm-host" as h2
}
node node1
node node2
node node3
node node4
node node5
node1 -- node2 : label1
node1 .. node3 : label2
node1 ~~ node4 : label3
node1 == node5
@enduml
Consider solving problems using Rust/Go/TypeScript/Python/Nix/Bash or Solidity.
Solutions must have tests showing they work.
Solve any one of these. Feel free to solve all.
Share problems as archive or private git repository.
You have a
Each orders expresses amount
Orders will want to exchange
Let
When
If
If
Volume
Volume
Problem
Given
Write verifiers, which checks that
All amounts to be expressed in integer values.
Hint: Consider finding range of prices from order data, and iteratively solve against each price.
Bonus(Optional)
Solve it when
In this case
Bonus(Optional)
When
Bonus(Optional)
Order can accept partial fill or not. Solve for
Bonus(Optional)
Consider range of limits to be big. Find a fast way to find biggest volume, it is okey to be practically optimal, but no absolutly.
Madeira hosts botanists growing exotic plants. They want to send some of the plants to New York to sell. However, they have only a single container available with total volume
On top of limited space, some plants produce natural chemicals which will make other plants die. Such plants cannot be in same container.
Hint: consider it as symmetric matrix with rows and colums, so if there is entry for a pair of plants, they cannot travel together
Each
Example
All plantss of
Task
Maximize
Hint: knapsack
The Universe is filled in with stations
Galactic commandment tasks you to traverse route
On some stations you given instructions to execute operation
Unfortunately, commandment is not aware of whole situation and has some bad data about stations capabilites and propeties
Drones traversing path can do all
Solution
Given
**So commandment wants to see how $T$ will be traversed with all $O$ executed and what $A$ used, or reason of failure if not possible to traverse route with all $O$ executed. Commandments expect you to try any subset of $A$ on each $S$ to finish mission. **.
Report all station properties used along the way.
Hint: try traverse without $A$ and add one by one, during travers propagate whole previous path down
Bonus(Optional)
Estimate average and bad cases for memory and time usage.
Bonus(Optional)
There are fancy research stations, allowing to use some fancy devices:
-
$A_f$ station allows to reuse properties of previous station on next. So if${S_i}$ has${A_f}$ property, than on${S_{i+1}}$ you can use any of properties of${S_{i-1}}$ , unless it is$A_f$ and$A_h$ . -
$A_h$ is same as$A_f$ except that if decision to use properties of previous station taken, none of properties of target station can be used.$A_f$ and$A_h$ are not portable.
Bonus(Optional)
Each
Bonus(Optional)
Sometimes not all properties are know ahead.
While you on station
Given limited information, find out what is best step to take next to get best progress.
Company also solves linear convex/mixed integer programming, big prime numbers in polynomials(math tricks) and defi control/game theory and fancy O notations limits/bit tricks on compute to amuse wider range of candidates.