【水世界】的前製設定與現場劇照
WATERWORLD (1995)
In celebration of today’s anniversary of this wet mess/epic. Let’s celebrate the hard work this crew put into bringing this world to life. Water movies are never easy but when it comes to this movie anytime you bring it up and a crew member from it is in earshot, the stories pour out. Not always bad, I know a AC that said he had a blast, he loved the boat rides out and all the camaraderie the crew had to have to get thru it. To all the crew that helped bring WATERWORLD to life, We salute you and thanks for the memories. I personally enjoy this hot mess of a movie, it’s one of the last ones of its kind...done practically...in a way.
let’s take a deepest of dives into WATERWORLD
The director, Kevin Reynolds, knew there would be problems before production had even started, “During pre-production. Because having never shot on water to that extent before, I didn’t really realise what I was in for. I talked to Spielberg about it because he’d gone to do Jaws, and I remember, he said to me, “Oh, I would never shoot another picture on water”.
“When we were doing the budget for the picture, and the head of the studio, Sid Sheinberg, we were talking about it and I said, “Steven told me that on Jaws the schedule for the picture was 55 days, and they ended up shooting a 155 days”. Because of the water. And he sat there for a moment and he said, “You know, I’m not sure about the days, but I do know they went a hundred percent over budget”. And so, Universal knew the potential problems of shooting on water. It’s monstrous.”
The film began with a projected budget of $100 million which had reportedly increased to $175 million by the end of production. The principle photography had overrun for at least thirty days more than originally planned due to one major decision.
Whereas today they would film in water tanks with partially built sets, employing green screens to fake the locations, back in 1995 they decided to build everything full size and shoot out on the ocean.
This causes extra logistical problems on top of those that already come with making a major action blockbuster. Cast and crew have to be transported to sets. The camera boats and sets float out of position and will have to be reset between takes taking up valuable production time.
The first draft of Waterworld was written by Peter Radar, a Harvard graduate who wanted to break into the film business. His contact in the film industry was Brad Kevoy, an assistant to the legendary director Roger Corman.
Roger Corman is best known for making films very quickly on a small budget. He also liked to give young talent a chance to direct and write their own films. Brad informed Peter that if he could write a Mad Max rip off, he would arrange to finance and let him direct the picture.
Radar came back and pitched the idea for what would become Waterworld. Kevoy took one look at him and said,
“Are you out of your mind? This would cost us three million dollars to make this movie!”
So Radar kept hold of the idea and decided to re-write the script but, this time, going wild. He wrote what he wanted to see on-screen, limited only by his imagination, not a real world production budget.
He managed to get the newly written script shown to a pair of producers with whom he had made contact with. They loved it and ironically they passed it onto Larry Gordon. He shared the enthusiasm saying it had the kind of cinematic possibilities he was looking for. A deal was signed on Christmas Eve of 1989.
As further script rewrites progressed, it became clear that Waterworld was too big for the Larry Gordon’s production company to undertake by themselves. In February 1992, a deal was signed with Universal Pictures to co-produce and co-finance the film. This was now six years after the first draft had been written.
Universal had signed director Kevin Reynolds to Waterworld. Whilst he was finishing his latest film, Rapa Nui, pre-production for Waterworld was already underway.
The decision was taken that the largest set for the film, known as the atoll, would be built full size. The atoll was the primary location for film and in the story served as the location for a small population of survivors.
The logic behind this decision was due to the high percentage of live action filming required in this location, as well as a huge action set piece. No sound stage would be big enough to incorporate this number of scenes and it was crucial that we see the mariner sail his boat into the atoll, turn around and set out again. A full-size construction was the only way to go as the use of miniature and special effects would be impractical.
The next problem was deciding where to build this huge set. After much research, Kawaihae Harbour in Hawaii was chosen as the location. The atoll could be constructed in the harbour and rotated when needed thus allowing for open sea in the background. Later towards the end of principle photography, the atoll could be towed out into the open sea for the filming of the big action sequences which would be impractical to shoot in an enclosed harbour.
Director Kevin Reynolds also discussed the possibility of using the same water tank as James Cameron’s The Abyss, which had filmed there around five years ago,
“We had even entertained the notion of shooting at that big nuclear reactor facility where they had shot The Abyss, to use it for our underwater tank. But we found it in such a state of disrepair that economically it just wasn’t feasible. We didn’t have as much underwater work as they did. Most of The Abyss is interiors and underwater and model work, ours is mostly surface exterior.”
The production company had originally envisioned building the atoll by linking approximately one hundred boats together and building upon this foundation, just like the characters in the film. The production crew set out to search Hawaii and get hold of as many boats as possible.
During this search, a unique boat in Honolulu caught their attention. Upon further investigation, they discovered it was built by Navitech, a subsidiary of the famous aircraft production company, Lockheed.
They approached Lockheed with the strange request of figuring out how they could build the foundations of the atoll. Lockheed found the request unusual but didn’t shy away from the challenging. They agreed to design the atoll foundation and Navitech would construct it.
Meanwhile, an 11ft miniature model of the atoll was sent out to a model ship testing facility in San Diego. Scaled wave tanks are used to determine the effects of the open sea on large scale miniature models of new untested ship designs. This would help determine what would happen with the unusual design of the atoll when it was out of the harbour.
The atoll, when finished, was approximately ¼ mile in circumference. It took three months to construct and is rumoured to cost around $22 million. As the atoll would be used out on the open sea, it required a seafaring license. Nothing like this had been done before and after much deliberation, it was eventually classed as an unmanned vessel. This meant that all cast and crew would have to vacate the set whilst it was towed into position. By the end of production, the atoll was towed out to sea a total of five times.
Shooting out on the open sea presented a series of logistical problem as Reynolds describes,
“We had an entire navy, basically – I mean, this atoll was positioned about a mile off-shore in Hawaii, it was anchored to the bottom of the ocean so it could rotate. What you don’t think about are things like, you’re shooting on this atoll to maintain this notion that there’s no dry land, you always have to shoot out to sea. Away from the land. So we chose a location where we had about a 180 degree view of open water. Nevertheless, any time when you’re shooting, there could be a ship appear in the background, or something like that, and you had to make a choice. Do I hold up the shot, wait for the ship to move out, or do we shoot and say we’re going to incur this additional cost in post-production of trying to remove the ship from the background.
And at that time, CGI was not at the point it is now, it was a bigger deal. And so, even though if you’re shooting across the atoll and you’re shooting out onto open water, when you turn around and do the reverses, for the action, you had to rotate the entire atoll, so that you’re still shooting out to open water. Those are the kinds of things that people don’t realise.
Or something as simple as – if you’re shooting a scene between two boats, and you’re trying to shoot The Mariner on his craft, another boat or whatever, you’ve got a camera boat shooting his boat, and then the other boat in the background. Well, when you’re on open water things tend to drift apart. So you have to send lines down from each of those boats to the bottom, to anchor them so that they somewhat stay in frame. When you’ve got a simple shot on land, you set up the camera position, you put people in front of the camera and then you put background in there. But when you’re on water, everything’s constantly moving apart, drifting apart, so you have to try to hold things down somewhat.
And these are simple things that you don’t really realise when you’re looking at it on film. But logistically, it’s crazy. And each day you shoot on the atoll with all those extras, we had to transport those people from dry land out to the location and so you’re getting hundreds of people through wardrobe and everything, and you’re putting them on boats, transporting them out to the atoll, and trying to get everybody in position to do a shot. And then when you break for lunch, you have to put everybody on boats and take them back in to feed them.”
The final size of the atoll was determined by the size of the Mariners boat, the trimaran. The dimensions for the trimaran were finalised very early on in pre-production, allowing all other vehicles and sets to be sized accordingly.
Production required two trimarans boats which are so called because they have three hulls. The first was based on the standard trimaran blueprint and built for speed but also had to accommodate a secret crew below decks.
During wide and aerial shots it would have to look like Costner himself was piloting the boat. In reality, a trained crew could monitor and perform the real sailing of the boat utilising specially built controls and television monitors below deck.
The second trimaran was the trawler boat which could transform into the racer through the use of special practical effects rigs. Both of these boats were constructed in France by Jeanneau. Normally this type of vessel requires a year to construct but production needed two boats in five months!
Normally once the boat had been constructed, Jeammeau would deliver it on the deck of a freighter, requiring a delivery time of around a month. This delay was unacceptable and so the trimarans were dismantled into sections and taken by a 747 air freighter to the dock Hawaii. Upon arrival, a further month was required to reassemble the boat and get them prepared for filming.
sets recreating the inside of the tanker were built using forced perspective in a huge 1000ft long warehouse which had an adjoining 2000ft field. In this field, they built the set of the oil tankers deck, again constructed using forced perspective. Using the forced perspective trick, the 500ft long set could be constructed to give the impression that it was really twice as long.
There’s more to a film than just it’s sets and filming locations. Over two thousand costumes had to be created with many of the lead actors costumes being replicated many times over due to wear and tear.
This is not an uncommon practice for film production, but due to the unique look of the people and the world they inhabit, it did create some headaches. One costume was created with so many fish scales the wardrobe department had to search the entire island of Hawaii looking for anyone who could supply in the huge quantity required.
Makeup had to use waterproof cosmetics, especially on the stunt players. As everyone had a sun burnt look, a three-sided tanning booth was setup. The extras numbering in their hundreds, with ages ranging from six to sixty-five, passed through the booth like a production line to receive their spray tan. The extras then moved onto costume before finally having their hair fixed and becoming ready for the day.
In some scenes, extras were actually painted plywood cutouts to help enhance the number of extras on the set. This can easily be seen in one particular shot on board the Deez super tanker.
Filming on the water is not only a difficult and time-consuming process but also very dangerous. It’s been reported that Jeanne Tripplehorn and Tina Majorino nearly drowned on their first day of filming.
Waterworld’s star Kevin Costner reported having a near-death experience when filming a scene in which the mariner ties himself to his catamaran to survive a storm. The pounding water caused him to black out and nearly drown.
Unbeknownst to most of the crew, Kevin Costner’s stunt double was riding his jet ski across 40 miles of open ocean between his home on Maui and the film’s set on the Big Island. When he didn’t show up for work one day, the production team phoned his wife, who informed them he had already left for work. The stunt double’s jet ski had run out of gas halfway through his “commute” and a storm had swept him farther out to sea. It took a helicopter most of the day to find him. The stunt doubles name was Laird Hamilton.
As well as the logistical problems of creating a film of this scale and on water, they also had to deal with the press who seemed intent on wanting the film to fail. Director Kevin Reynolds discusses the situation,
“It was huge, we were constantly fighting – people wanted to have bad press. That was more exciting to them than the good news. I guess the most egregious example of that that I recall was that the publicist told me that one day…we’d been out the day before and we were doing a shot where we sent two cameras up on a mast of the trimaran and we wanted to do a shot where they tilled down from the horizon down to the deck below. We’re out there, we’re anchored, we’re setting the shot up and a swell comes in, and I look over and the mast is sort of bending.
And I turned to the boatmaster and I said, “Bruno, is this safe?”. And he looks up the mast and he goes, “No”. So I said, “Okay, well, we have to get out as I can’t have two guys fall off from 40 feet up”. So, we had to break out of the set-up, and go back in a shoot something else and we lost another half-day.
Anyway, the next day the publicist is sitting in his office and he gets this call from some journalist in the States and he goes, “Okay. Don’t lie to me – I’ve had this confirmed from two different people. I want the facts, and I want to hear about the accident yesterday, we had two cameramen fall off the mast and were killed”.
And, he goes, “What are you talking about?”. And he goes, “Don’t lie to me, don’t cover this up, we know this has happened”. It didn’t happen! People were so hungry for bad news because it was much more exciting than…they just said it, and you know, it hurt us.”
Upon release, the press seemed to be disappointed that the film wasn’t the massive failure they were hoping it to be. Universal Studios told Kevin Reynolds that one critic came out of an early screening in New York and in a disappointed tone said,
“Well, it didn’t suck.”
It is true that during principle photography the slave colony set sank and had to be retrieved. However due to bad press, the rumour became much bigger and to this day when you mention the sinking set, most people assume it was the huge atoll.
During production, press nicknamed the film “Kevin’s Gate” and “Fishtar”, referring to 1980’s box office failures Heaven’s Gate and Ishtar. Heaven’s Gate failed so badly it led to the sale of United Artists Studio and has become synonymous with failure in Hollywood.
As well as the exaggerated set problems and other various production rumours, there were also difficulties with the script. In a risky move, the film was green lit and moved into production without a finalised script.
The final total is a reportedly thirty-six rewrites. One of the writers involved was Joss Whedon. Joss had worked on many scripts before becoming a director having being at the helm of both The Avengers and the sequel Avengers: Age Of Ultron. He described his experience on Waterworld as,
“Seven weeks of hell”
Everything came to a head just three weeks before the end of principle photography. Kevin Reynolds who was an old friend of Kevin Costner allegedly walked off set or was fired. There was no official statement on what happened.
When Reynolds left the production this event caused many changes to be made. Composer Mark Isham had already composed approximately two-thirds of the film’s score by the time Reynolds left and that event ultimately caused him to leave production. As Mark describes in this interview excerpt,
“Kevin Reynolds quit the film, which left me working for Kevin Costner, who listened to what I had written and wanted a completely different point of view. He basically made a completely different film — he re-cut the entire film, and in his meeting with me he expressed that he wanted a completely different approach to the score. And I said, “oh let me demonstrate that I can give that to you”, so I presented him with a demo of my approach to his approach, and he rejected that and fired me. What I find a lot in these big films, because the production schedules are so insane, that the directors have very little time to actually concentrate on the music.”
Rumours report that Costner took control of production. He directed the last few weeks of principle photography and edited the final cut of the film that was released in cinemas.
Reynolds discusses his surprise at discovering that one of the most famous scenes from what is known as the extended version, was left on the cutting room floor,
“…it would have differed from what you saw on the screen to some extent, and one of the things I’ve always been perplexed by in the version that was released, theatrically, although subsequently the longer version included it, and the reason that I did the film, was that at the very end of the picture, at the very end of the script, there’s a scene when they finally reach dry land and The Mariner’s sailing off and he leaves the two women behind, and in the script they’re standing up on this high point and they’re watching him sail away, and the little girl stumbles on something.
And they look down and clear the grass away and that’s this plaque. And it says, “Here, near this spot, 1953, Tenzing Norgay and Edmund Hillary first set foot on the summit of Everest”. And that was in script and I was like, “Oh, of course! Wow, the highest point on the planet! That would have been dry land!”. And we got it! We shot that. And they left it out of the picture. And I’m like, “Whaaat?!”. It’s like the Statue of Liberty moment in Planet of the Apes. And I was like, “Why would you leave that out?”
Written by John Abbitt | Follow John on twitter @UKFilmNerd
If any the crew cares to share any of their experiences on it please comment.
Thanks for reading
If you want more deep dives visit
https://www.facebook.com/groups/crewstories/?ref=share
同時也有6部Youtube影片,追蹤數超過3萬的網紅Tony Cao,也在其Youtube影片中提到,Mabi delivered 8 babies on 5 Dec 2013. Best wishes for her and kids! ♥ p/s: Please understand that is just giving birth and nursing cage size, not he...
「background size cover」的推薦目錄:
- 關於background size cover 在 半瓶醋 Facebook
- 關於background size cover 在 Taipei Ethereum Meetup Facebook
- 關於background size cover 在 Tony Cao Youtube
- 關於background size cover 在 Kawaii Chiu Youtube
- 關於background size cover 在 Spice N' Pans Youtube
- 關於background size cover 在 CSS Tutorial 82 - CSS background-size Property - YouTube 的評價
background size cover 在 Taipei Ethereum Meetup Facebook 八卦
📜 [專欄新文章] Uniswap v3 Features Explained in Depth
✍️ 田少谷 Shao
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Once again the game-changing DEX 🦄 👑
Image source: https://uniswap.org/blog/uniswap-v3/
Outline
0. Intro1. Uniswap & AMM recap2. Ticks 3. Concentrated liquidity4. Range orders: reversible limit orders5. Impacts of v36. Conclusion
0. Intro
The announcement of Uniswap v3 is no doubt one of the most exciting news in the DeFi place recently 🔥🔥🔥
While most have talked about the impact v3 can potentially bring on the market, seldom explain the delicate implementation techniques to realize all those amazing features, such as concentrated liquidity, limit-order-like range orders, etc.
Since I’ve covered Uniswap v1 & v2 (if you happen to know Mandarin, here are v1 & v2), there’s no reason for me to not cover v3 as well ✅
Thus, this article aims to guide readers through Uniswap v3, based on their official whitepaper and examples made on the announcement page. However, one needs not to be an engineer, as not many codes are involved, nor a math major, as the math involved is definitely taught in your high school, to fully understand the following content 😊😊😊
If you really make it through but still don’t get shxt, feedbacks are welcomed! 🙏
There should be another article focusing on the codebase, so stay tuned and let’s get started with some background noise!
1. Uniswap & AMM recap
Before diving in, we have to first recap the uniqueness of Uniswap and compare it to traditional order book exchanges.
Uniswap v1 & v2 are a kind of AMMs (automated market marker) that follow the constant product equation x * y = k, with x & y stand for the amount of two tokens X and Y in a pool and k as a constant.
Comparing to order book exchanges, AMMs, such as the previous versions of Uniswap, offer quite a distinct user experience:
AMMs have pricing functions that offer the price for the two tokens, which make their users always price takers, while users of order book exchanges can be both makers or takers.
Uniswap as well as most AMMs have infinite liquidity¹, while order book exchanges don’t. The liquidity of Uniswap v1 & v2 is provided throughout the price range [0,∞]².
Uniswap as well as most AMMs have price slippage³ and it’s due to the pricing function, while there isn’t always price slippage on order book exchanges as long as an order is fulfilled within one tick.
In an order book, each price (whether in green or red) is a tick. Image source: https://ftx.com/trade/BTC-PERP
¹ though the price gets worse over time; AMM of constant sum such as mStable does not have infinite liquidity
² the range is in fact [-∞,∞], while a price in most cases won’t be negative
³ AMM of constant sum does not have price slippage
2. Tick
The whole innovation of Uniswap v3 starts from ticks.
For those unfamiliar with what is a tick:
Source: https://www.investopedia.com/terms/t/tick.asp
By slicing the price range [0,∞] into numerous granular ticks, trading on v3 is highly similar to trading on order book exchanges, with only three differences:
The price range of each tick is predefined by the system instead of being proposed by users.
Trades that happen within a tick still follows the pricing function of the AMM, while the equation has to be updated once the price crosses the tick.
Orders can be executed with any price within the price range, instead of being fulfilled at the same one price on order book exchanges.
With the tick design, Uniswap v3 possesses most of the merits of both AMM and an order book exchange! 💯💯💯
So, how is the price range of a tick decided?
This question is actually somewhat related to the tick explanation above: the minimum tick size for stocks trading above 1$ is one cent.
The underlying meaning of a tick size traditionally being one cent is that one cent (1% of 1$) is the basis point of price changes between ticks, ex: 1.02 — 1.01 = 0.1.
Uniswap v3 employs a similar idea: compared to the previous/next price, the price change should always be 0.01% = 1 basis point.
However, notice the difference is that in the traditional basis point, the price change is defined with subtraction, while here in Uniswap it’s division.
This is how price ranges of ticks are decided⁴:
Image source: https://uniswap.org/whitepaper-v3.pdf
With the above equation, the tick/price range can be recorded in the index form [i, i+1], instead of some crazy numbers such as 1.0001¹⁰⁰ = 1.0100496621.
As each price is the multiplication of 1.0001 of the previous price, the price change is always 1.0001 — 1 = 0.0001 = 0.01%.
For example, when i=1, p(1) = 1.0001; when i=2, p(2) = 1.00020001.
p(2) / p(1) = 1.00020001 / 1.0001 = 1.0001
See the connection between the traditional basis point 1 cent (=1% of 1$) and Uniswap v3’s basis point 0.01%?
Image source: https://tenor.com/view/coin-master-cool-gif-19748052
But sir, are prices really granular enough? There are many shitcoins with prices less than 0.000001$. Will such prices be covered as well?
Price range: max & min
To know if an extremely small price is covered or not, we have to figure out the max & min price range of v3 by looking into the spec: there is a int24 tick state variable in UniswapV3Pool.sol.
Image source: https://uniswap.org/whitepaper-v3.pdf
The reason for a signed integer int instead of an uint is that negative power represents prices less than 1 but greater than 0.
24 bits can cover the range between 1.0001 ^ (2²³ — 1) and 1.0001 ^ -(2)²³. Even Google cannot calculate such numbers, so allow me to offer smaller values to have a rough idea of the whole price range:
1.0001 ^ (2¹⁸) = 242,214,459,604.341
1.0001 ^ -(2¹⁷) = 0.000002031888943
I think it’s safe to say that with a int24 the range can cover > 99.99% of the prices of all assets in the universe 👌
⁴ For implementation concern, however, a square root is added to both sides of the equation.
How about finding out which tick does a price belong to?
Tick index from price
The answer to this question is rather easy, as we know that p(i) = 1.0001^i, simply takes a log with base 1.0001 on both sides of the equation⁴:
Image source: https://www.codecogs.com/latex/eqneditor.php
Let’s try this out, say we wanna find out the tick index of 1000000.
Image source: https://ncalculators.com/number-conversion/log-logarithm-calculator.htm
Now, 1.0001¹³⁸¹⁶² = 999,998.678087146. Voila!
⁵ This formula is also slightly modified to fit the real implementation usage.
3. Concentrated liquidity
Now that we know how ticks and price ranges are decided, let’s talk about how orders are executed in a tick, what is concentrated liquidity and how it enables v3 to compete with stablecoin-specialized DEXs (decentralized exchange), such as Curve, by improving the capital efficiency.
Concentrated liquidity means LPs (liquidity providers) can provide liquidity to any price range/tick at their wish, which causes the liquidity to be imbalanced in ticks.
As each tick has a different liquidity depth, the corresponding pricing function x * y = k also won’t be the same!
Each tick has its own liquidity depth. Image source: https://uniswap.org/blog/uniswap-v3/
Mmm… examples are always helpful for abstract descriptions 😂
Say the original pricing function is 100(x) * 1000(y) = 100000(k), with the price of X token 1000 / 100 = 10 and we’re now in the price range [9.08, 11.08].
If the liquidity of the price range [11.08, 13.08] is the same as [9.08, 11.08], we don’t have to modify the pricing function if the price goes from 10 to 11.08, which is the boundary between two ticks.
The price of X is 1052.63 / 95 = 11.08 when the equation is 1052.63 * 95 = 100000.
However, if the liquidity of the price range [11.08, 13.08] is two times that of the current range [9.08, 11.08], balances of x and y should be doubled, which makes the equation become 2105.26 * 220 = 400000, which is (1052.63 * 2) * (110 * 2) = (100000 * 2 * 2).
We can observe the following two points from the above example:
Trades always follow the pricing function x * y = k, while once the price crosses the current price range/tick, the liquidity/equation has to be updated.
√(x * y) = √k = L is how we represent the liquidity, as I say the liquidity of x * y = 400000 is two times the liquidity of x * y = 100000, as √(400000 / 100000) = 2.
What’s more, compared to liquidity on v1 & v2 is always spread across [0,∞], liquidity on v3 can be concentrated within certain price ranges and thus results in higher capital efficiency from traders’ swapping fees!
Let’s say if I provide liquidity in the range [1200, 2800], the capital efficiency will then be 4.24x higher than v2 with the range [0,∞] 😮😮😮 There’s a capital efficiency comparison calculator, make sure to try it out!
Image source: https://uniswap.org/blog/uniswap-v3/
It’s worth noticing that the concept of concentrated liquidity was proposed and already implemented by Kyper, prior to Uniswap, which is called Automated Price Reserve in their case.⁵
⁶ Thanks to Yenwen Feng for the information.
4. Range orders: reversible limit orders
As explained in the above section, LPs of v3 can provide liquidity to any price range/tick at their wish. Depending on the current price and the targeted price range, there are three scenarios:
current price < the targeted price range
current price > the targeted price range
current price belongs to the targeted price range
The first two scenarios are called range orders. They have unique characteristics and are essentially fee-earning reversible limit orders, which will be explained later.
The last case is the exact same liquidity providing mechanism as the previous versions: LPs provide liquidity in both tokens of the same value (= amount * price).
There’s also an identical product to the case: grid trading, a very powerful investment tool for a time of consolidation. Dunno what’s grid trading? Check out Binance’s explanation on this, as this topic won’t be covered!
In fact, LPs of Uniswap v1 & v2 are grid trading with a range of [0,∞] and the entry price as the baseline.
Range orders
To understand range orders, we’d have to first revisit how price is discovered on Uniswap with the equation x * y = k, for x & y stand for the amount of two tokens X and Y and k as a constant.
The price of X compared to Y is y / x, which means how many Y one can get for 1 unit of X, and vice versa the price of Y compared to X is x / y.
For the price of X to go up, y has to increase and x decrease.
With this pricing mechanism in mind, it’s example time!
Say an LP plans to place liquidity in the price range [15.625, 17.313], higher than the current price of X 10, when 100(x) * 1000(y) = 100000(k).
The price of X is 1250 / 80 = 15.625 when the equation is 80 * 1250 = 100000.
The price of X is 1315.789 / 76 = 17.313 when the equation is 76 * 1315.789 = 100000.
If now the price of X reaches 15.625, the only way for the price of X to go even higher is to further increase y and decrease x, which means exchanging a certain amount of X for Y.
Thus, to provide liquidity in the range [15.625, 17.313], an LP needs only to prepare 80 — 76 = 4 of X. If the price exceeds 17.313, all 4 X of the LP is swapped into 1315.789 — 1250 = 65.798 Y, and then the LP has nothing more to do with the pool, as his/her liquidity is drained.
What if the price stays in the range? It’s exactly what LPs would love to see, as they can earn swapping fees for all transactions in the range! Also, the balance of X will swing between [76, 80] and the balance of Y between [1250, 1315.789].
This might not be obvious, but the example above shows an interesting insight: if the liquidity of one token is provided, only when the token becomes more valuable will it be exchanged for the less valuable one.
…wut? 🤔
Remember that if 4 X is provided within [15.625, 17.313], only when the price of X goes up from 15.625 to 17.313 is 4 X gradually swapped into Y, the less valuable one!
What if the price of X drops back immediately after reaching 17.313? As X becomes less valuable, others are going to exchange Y for X.
The below image illustrates the scenario of DAI/USDC pair with a price range of [1.001, 1.002] well: the pool is always composed entirely of one token on both sides of the tick, while in the middle 1.001499⁶ is of both tokens.
Image source: https://uniswap.org/blog/uniswap-v3/
Similarly, to provide liquidity in a price range < current price, an LP has to prepare a certain amount of Y for others to exchange Y for X within the range.
To wrap up such an interesting feature, we know that:
Only one token is required for range orders.
Only when the current price is within the range of the range order can LP earn trading fees. This is the main reason why most people believe LPs of v3 have to monitor the price more actively to maximize their income, which also means that LPs of v3 have become arbitrageurs 🤯
I will be discussing more the impacts of v3 in 5. Impacts of v3.
⁷ 1.001499988 = √(1.0001 * 1.0002) is the geometric mean of 1.0001 and 1.0002. The implication is that the geometric mean of two prices is the average execution price within the range of the two prices.
Reversible limit orders
As the example in the last section demonstrates, if there is 4 X in range [15.625, 17.313], the 4 X will be completely converted into 65.798 Y when the price goes over 17.313.
We all know that a price can stay in a wide range such as [10, 11] for quite some time, while it’s unlikely so in a narrow range such as [15.625, 15.626].
Thus, if an LP provides liquidity in [15.625, 15.626], we can expect that once the price of X goes over 15.625 and immediately also 15.626, and does not drop back, all X are then forever converted into Y.
The concept of having a targeted price and the order will be executed after the price is crossed is exactly the concept of limit orders! The only difference is that if the range of a range order is not narrow enough, it’s highly possible that the conversion of tokens will be reverted once the price falls back to the range.
As price ranges follow the equation p(i) = 1.0001 ^ i, the range can be quite narrow and a range order can thus effectively serve as a limit order:
When i = 27490, 1.0001²⁷⁴⁹⁰ = 15.6248.⁸
When i = 27491, 1.0001²⁷⁴⁹¹ = 15.6264.⁸
A range of 0.0016 is not THAT narrow but can certainly satisfy most limit order use cases!
⁸ As mentioned previously in note #4, there is a square root in the equation of the price and index, thus the numbers here are for explantion only.
5. Impacts of v3
Higher capital efficiency, LPs become arbitrageurs… as v3 has made tons of radical changes, I’d like to summarize my personal takes of the impacts of v3:
Higher capital efficiency makes one of the most frequently considered indices in DeFi: TVL, total value locked, becomes less meaningful, as 1$ on Uniswap v3 might have the same effect as 100$ or even 2000$ on v2.
The ease of spot exchanging between spot exchanges used to be a huge advantage of spot markets over derivative markets. As LPs will take up the role of arbitrageurs and arbitraging is more likely to happen on v3 itself other than between DEXs, this gap is narrowed … to what extent? No idea though.
LP strategies and the aggregation of NFT of Uniswap v3 liquidity token are becoming the blue ocean for new DeFi startups: see Visor and Lixir. In fact, this might be the turning point for both DeFi and NFT: the two main reasons of blockchain going mainstream now come to the alignment of interest: solving the $$ problem 😏😏😏
In the right venue, which means a place where transaction fees are low enough, such as Optimism, we might see Algo trading firms coming in to share the market of designing LP strategies on Uniswap v3, as I believe Algo trading is way stronger than on-chain strategies or DAO voting to add liquidity that sort of thing.
After reading this article by Parsec.finance: The Dex to Rule Them All, I cannot help but wonder: maybe there is going to be centralized crypto exchanges adopting v3’s approach. The reason is that since orders of LPs in the same tick are executed pro-rata, the endless front-running speeding-competition issue in the Algo trading world, to some degree, is… solved? 🤔
Anyway, personal opinions can be biased and seriously wrong 🙈 I’m merely throwing out a sprat to catch a whale. Having a different voice? Leave your comment down below!
6. Conclusion
That was kinda tough, isn’t it? Glad you make it through here 🥂🥂🥂
There are actually many more details and also a huge section of Oracle yet to be covered. However, since this article is more about features and targeting normal DeFi users, I’ll leave those to the next one; hope there is one 😅
If you have any doubt or find any mistake, please feel free to reach out to me and I’d try to reply AFAP!
Stay tuned and in the meantime let’s wait and see how Uniswap v3 is again pioneering the innovation of DeFi 🌟
Uniswap v3 Features Explained in Depth was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
background size cover 在 Tony Cao Youtube 的評價
Mabi delivered 8 babies on 5 Dec 2013.
Best wishes for her and kids! ♥
p/s: Please understand that is just giving birth and nursing cage size, not her real cage!
All for her safety feeling and better for kids than big cage. I don't wanna see she makes nest or takes babies on wheel.
Don't touch the babies if the mommy does not trust you!
Ok that's my own way, she is fine so please comment politely.
Check out their newest pics by visiting my facebook: http://www.facebook.com/caotananh
https://www.facebook.com/tonycao.kids
Background music: Taylor Swift Mash-Up - (Acoustic cover by Anthem Lights)
Thanks for watching! ;)
background size cover 在 Kawaii Chiu Youtube 的評價
?Long time no淘寶?
今次分開左做兩條片, part1 係衫褲鞋襪 ; 而part2係電器產品、飾物etc... 希望大家鍾意喇?
我都唔知點解條片拍出來會勁復古/黃...可惡!!! 但係下條片應該無咁黃的?
?另外,之前有好多人話我個背景布好靚? 其實都係淘寶der~~ LINK : https://goo.gl/AAp8hn (¥38, ST468白底蓝花)
--------------- --------------- ---------------
Don't forget to give this video a BIG thumbs up and subscribe to this channel :D
--------------- --------------- ---------------
Facebook: www.facebook.com/kawaiichiu
Instagram: KawaiiChiu
Snapchat: kawaiichiu
--------------- --------------- ---------------
Product Mentioned:
{•已按片中的產品介紹排序•}
{集運重量: --KG}
福袋 -- 交叉連身長裙 (白色, size: L)
https://goo.gl/gY9Yws
{集運重量: 0.32KG}
高腰牛仔短褲 (黑色, size: 28)
https://goo.gl/fKzSXr
{集運重量: --KG}
V領莫代爾吊帶背心 (黑色)
https://goo.gl/txEe3W
---已下架---
{集運重量: --KG}
露背交叉吊帶背心 (黄色)
https://goo.gl/ETKDcT
{集運重量: 0.3KG}
南極人高腰黑色九分Legging (黑色, size: XXL)
https://goo.gl/AeNGZW
{集運重量: --KG}
綠葉印花比基尼 (樹葉, size: S)
---已下架---
{集運重量: --KG}
扭紋鋼托雙環比基尼 (紅色, size: S)
https://goo.gl/qV6nEJ
{集運重量: --KG}
交叉連體比基尼泳衣 (黑色, size: S)
https://goo.gl/VsvXrp
{集運重量: --KG}
黑白一字肩連體比基尼泳衣 (黑色, size: S)
https://goo.gl/T2kb5W
{集運重量: 0.59KG}
貓手柄斜挎包 (粉红色)
https://goo.gl/kzFzG6
---已下架---
{集運重量: 0.86KG}
一字扣絨面平底鞋 (駝色, size: 39)
https://goo.gl/5BvHoz
{集運重量: 0.86KG}
短筒厚底粗跟马丁靴 (卡其色(進口面料單內裡), size: 39)
https://goo.gl/1S5L3C
--------------- --------------- ---------------
Background Music:
1. Life Is [No Copyright Music] -- Cosimo Fogg 201
**NO COPYRIGHT INFRINGEMENT INTENDED, ALL CONTENTS BELONG TO ITS RIGHTFUL OWNERS.**
--------------- --------------- ---------------
**
For business inquiries:
chiukwhk@gmail.com
**
--------------- --------------- ---------------
*All purchases are made on my own.*
*This is not a sponsored video.*
*This video is filmed and edited by KawaiiC.*
--------------- --------------- ---------------
background size cover 在 Spice N' Pans Youtube 的評價
Though I’ve never been to Naughty Nuri in Bali, I’ve heard much positive review about their ribs. The first time I had Naughty Nuri’s Ribs in Kuala Lumpur, I totally understand the hype. Their ribs were really wonderfully done. The meat was so well done that it just fell off the bone. Hope you like Roland’s rendition of Naughty Nuri’s ribs. Also please pardon this video’s background noise as it was raining heavily then.
Refer to the ingredient list below or go to our website at http://spicenpans.com/naughty-nuri-bbq-pork-ribs/ for your easy reference.
Hope you can recreate this yummy dish in the comfort of your home. Thanks for dropping by our channel.
Please subscribe to stay tuned to our home cooking videos.
Follow us on:
Youtube: www.youtube.com/spicenpans
Facebook www.facebook.com/spicenpans/
Instagram @spicenpans
Blog: www.spicenpans.com
Chat with us!
info@spicenpans.com
Thanks for watching!
See you soon.
xoxo
Jamie
on behalf of Spice N’ Pans
Ingredients:
Serves 4
100g of coconut sugar or palm sugar or brown sugar
0.5 cup of kichap manis (Indonesian sweet soya sauce)
1 tablespoon of chilli flakes
1 teaspoon of ground white pepper
0.5 teaspoon of nutmeg powder
1 tablespoon of salt
1 tablespoon of coriander seed powder
1 tablespoon of turmeric powder
5 cloves of garlic
5 pieces of shallots
2 thumb size ginger
1 small handful of kaffir lime leaves (remove spine of leaf)
3 stalks of lemongrass (use only the white portion of each stalk)
1.1kg of ribs
Baking temperature in oven:
Preheat oven at 180C for at least 20 minutes
180C (356F) for 1 hour (cover ribs with aluminium foil)
220C (428F) for 10 minutes (without covering ribs with aluminium foil)
background size cover 在 CSS Tutorial 82 - CSS background-size Property - YouTube 的八卦
... <看更多>