📜 [專欄新文章] 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.
👏 歡迎轉載分享鼓掌
recap meaning 在 玳瑚師父 Master Dai Hu Facebook 的最佳解答
【玳瑚師父課室】《第二十七場餐會回顧 - 桃花舞春風》
27th LEARNING SESSION RECAP: PEACH BLOSSOM LUCK IN PERSONAL MAGNETIZATION (English version below)
玳瑚師父於2017年4月11日,舉辦了第二十七場餐會《桃花舞春風》,教導創業者如何盆滿鉢滿,領薪的朋友們如何能得到老闆的栽培,同事的擁戴否,以及其他人生的領域,都可以有所展獲。
一開始,玳瑚師父問一位出席者是否知道,哪三種行業不能做?
師父接著說,殺生業、娼妓業和賭業。
那位小姐所做的兼職生意,正是飲食業。師父說,舉凡殺害六道眾生生命的,都是殺生,從事這些行業,造業至深,不但會連累祖先,還會牽連自己和家人,及下一代。
師父敘述了殺生的因果後,善勸那位小姐,應當改行,及勤唸《往生咒》迴向給所殺過的畜靈。就算這些畜靈不是她親手殺,但也是爲她而死,因此仍脫離不了殺生的過失。
初次見面,這位小姐送了一束花給玳瑚師父爲見面禮。師父現場將花變化供養給佛菩薩,並解說我們供花的種種功德,和自身桃花運的關係。
餐會精彩回顧:
一、出席者說話方式,很僵硬。師父提醒她,當晚的主題是桃花,說話不要像機器人。
二、保護嗓音和我們的命運有何祕密關係?
三、沒有桃花,做什麼都很難。
四、一個人的桃花在哪裡?
五、飲食沒有根據自己的八字所需,所以:
- 老闆罵妳你,
- 股票虧錢,
- 客人投訴妳你,等等。
六、我們從事與我們八字對立的行業,祇會讓自己很辛苦。
七、不是所有的人是人來轉世,有些是動物來投胎。
八、師父慈悲提點出席者的先生,要注意的病變。
九、師父請所有的出席者說出,什麼是桃花?
何小姐:「桃花,是一種吸引力。」
李小姐:「桃花,是一種能吸引人的愛戴和支持的力量。」
廖小姐:「桃花,是讓人想親近你的力量。」
十、師父解說何爲桃花,並提到一個八字如果有這個五行偏多,說話會比較唐突。
十一、我們身體的哪一部份,是桃花的關鍵?
十二、女人化妝,對桃花有怎樣的幫助?
十三、行善對自身的桃花運,有怎樣的影響?
十四、雨點積多,可成大江大海,小石積多,便可成高山。因此,小善也要多做,因爲積少成多,便成大善。
十五、爲什麼有些人,一輩子都是僕人的命?
十六、師父提醒出席者們,要記得向服務生道謝。一句謝謝很重要,說了妳你也沒有少什麼。但不說,就顯示妳你的涵養、素養、教養和學養皆修不好。
十七、我們是人,不是動物,所以一定要有人應該有的禮儀。
十八、我們若沒意思,就不要隨隨便便讓別人喜歡上我們,這樣會帶痛苦給她他人,非善也。
十九、玳瑚師父注意到,現場唯有一位出席者勤寫筆記,便說:「我喜歡教大學生,因爲他們會思考,會寫筆記,祇是有時,知識過高,低估了玄學的厲害。」
廿、學歷高低也好,人窮志不能窮。
廿一、桃花也來自於好心情,師父推薦大家要多吃這三種食物,可以保持心情愉悅。
廿二、玳瑚師父現場,詳細分析出席者們的桃花樣,及依據她們的八字和面相,給於增強自身桃花的巧妙方法。
廿三、某位小姐的性格倔強,師父提醒她:我們要永遠精進不懈,而不是一味的固執己見,才能有更好的命運。
廿四、周杰倫PK王力宏,爲何是周杰倫比較紅?他如何能從前世帶來如此大的桃花?
廿五、我們如果入錯行,會遇到老闆從來都不欣賞我們,我們的身心都會受影響。
脾氣代表火,因此佛教有句話,火燒功德林。功德很難修,但毀掉卻不費吹灰之力。我們要常常檢討自己哪裡做的不足,然後就去改善。不要因爲有人批評,就生氣。這樣不是行大桃花運的辦法。
改善,是爲了明天能更好。不好的,該放就放,碎碎「怨」,猶如抱著一顆定時炸彈,隨時都在毀壞自己的運。
每一個人,都要多微笑,大力地綻放桃花出來。我們修行就是要斷執著,但妳你要求別人要對妳你好,要給妳你好,妳你要先問自己,妳你能不能也做得到?要不然,妳你不但會把貴人桃花都嚇跑,自己還會折了福而不自知。
餐會結束後,師父爲出席者簽書,加持其數珠,並教導她們使用數珠的正確方法。一切吉祥如意圓滿。
On 11th April 2017, Master Dai Hu held his 27th session with the theme "Peach Blossoms Dancing In The Wind - Strengthen Your Personal Magnetization", teaching entrepreneurs the ways to more profits, and salaried staff the methods to attracting supportive bosses and colleagues, as well as how to excel in over areas of life.
At the start of the session, Master Dai Hu asked the participants if they know the 3 occupations to avoid.
He then went to talk about the occupations of killing, prostitution and gambling.
Indeed, one lady participant has a side business in the food industry. Master said taking the lives of any living being in the six realms of existence is killing, sowing a seed of heavy negative karma. This sin will implicate your ancestors, bring harm to you and your family, as well as your descendants.
Master explained the karma of killing, and advised the participant to quit the food business, as well as chanting the Mantra for Rebirth to Pureland and dedicate its merits to all animals killed by her. Even if these animals were not killed by her personally, they died for her, so the wrongdoing of killing is still there.
This participant presented a bouquet of flower to Master as a first-time meeting gift. Master made an offering to the Buddha's and Bodhisattvas on the spot, explained to all the merits of flower offerings and how it can positively affect our Peach Blossom luck.
Learning Session Highlights:
1. One participant spoke in a very stiff manner. Master Dai Hu advised her not to speak like a robot, since the theme that day was on Peach Blossom Luck of Personal Magnetization.
2. Protecting our voice has an intricate link to our destiny.
3. It is hard to accomplish anything without Peach Blossom luck.
4. Where is one's Peach Blossom luck?
5. The wrong food consumption based on your Bazi will result in:
Frequent scoldings by your boss
Losses in the stock market
Complaints from customers, etc.
6. We will only suffer if we embark on a career that is against what our Bazi needs.
7. Not all humans are born in the human realm in their past lives. Some were animals in their previous lives.
8. Master Dai Hu, out of compassion, highlighted to a participant how her husband needed to watch out for changes in his health.
9. Master Dai Hu invited all participants to tell him, what did they think Peach Blossom Luck is?
Ms Ho : It is a form of attraction.
Miss Lee: It is the power that elicits support and love from other people.
Ms Liao : It is a power that makes others want to be closer to you.
10. Master Dai Hu explained the true meaning of Peach Blossom Luck, and mentioned that a person will speak in an abrupt manner if there's excessive of THIS element in the Bazi.
11. Which of our body feature plays the most important part in our Peach Blossom luck?
12. How can cosmetics help in your Peach Blossom luck?
13. How does doing kind deeds influence your Peach Blossom luck?
14. Drops of rain, when collected, will form the rivers and the seas. Small stones, when gathered, will form mountains. Therefore, small deeds of kindness can accumulate into a huge meritorious deed.
15. Why do some people become a servant or maid for life?
16. Master Dai Hu reminded the participants to thank the service staff. A word of thank-you is important. It does not cost a thing to you but not saying it shows that you lack manners, culture, etiquette and knowledge.
17. We are humans, not animals. Therefore we must behave with etiquette, that is becoming of a human.
18. We should not lead another person to fall in love with us, if we are not interested in him/her in the first place, as this will bring suffering to the other person. That is definitely not a virtuous act.
19. Master Dai Hu noticed that only one participant took notes, and said that he liked to teach people who were graduates because of their willingness to think and take notes. The only shortcoming, due to their high qualifications, is their tendency to underestimate the power of Metaphysics.
20. Regardless of your academic qualification and wealth status, never fall short on your aspirations.
21. You will enjoy Peach Blossom luck when you are in high spirits. Master Dai Hu recommended 3 types of food to maintain our happy state of mind.
22. Master Dai Hu did a live analysis of the Peach Blossom luck of each participant, according to their Bazi and facial features, and advised them the ways of strengthening it.
23. One lady participant has a stubborn character. Master Dai Hu advised her to quit her obstinate ways and strive towards a better destiny.
24. Jay Chou vs Wang Lee Hom. Why is Jay Chou more popular? How did he accumulate so much Peach Blossom Luck from his previous life?
25. When we are in the wrong career, we will be have unappreciative bosses and our well-being will be affected.
A fiery temper, as the name implies, has a fire element. Thus the common phrase in Buddhism: The fire destroys your forest of merits. It is extremely hard to cultivate merits but effortless to destroy them. We must always reflect on our lack, and do our best to rectify. Do not get angry and emotional if someone criticises you. This is not the way to enjoy great Peach Blossom luck.
To change for the better is to strive for a better tomorrow. Let go of all that is not beneficial for you. Constant grumbling and complaining is like hugging a time bomb. It will destroy your fortunes anytime.
Everyone should smile more, to exude more affability. The aim of our spiritual cultivation is to sever all attachments. If you want people to treat you well, ask yourself if you can do that to others in the first place. If not, you are just going to chase away your benefactors and destroy your own merits unknowingly.
At the end of session, Master Dai Hu fulfilled the wishes of the participants by autographing his book, blessing the chanting beads of a participant, and teaching them the proper usage of the beads. The session ended on an auspicious note.
www.masterdaihu.com/第27場回顧-桃花舞春風/
recap meaning 在 玳瑚師父 Master Dai Hu Facebook 的最佳解答
【玳瑚師父公告】春節開運活動系列 (一)-《春季開運大餐大採購》
Spring Festival Fortune Feast Grocery Shopping Spree
(English version below)
就在今晚,19/1!
大家都知曉,春節即將到來,那每一年的春節妳你們是否過得健康如意呢?
如果妳你認為過去很多年的春節都不是過得稱心如意,那這是一個非常特別,是臨時的,突然間的,給於妳你們的一個機會。
這是玳瑚師父在百忙之中抽出時間給於吾的粉絲讀者們,來一起「狂購」,告訴妳你們從除夕到元宵節,應該做些怎麼樣的裝潢和擺設,另外還會教導妳你們一些團圓飯佳餚的寓意,及對妳你個人運程的影響。
這是玳瑚師父大力、方便及慈悲的一種加持。我們的家是一個對我們很重要的加持。這間家是妳你們在忙碌了一天後充電的一個窩。所以一個家的裝潢和擺設能夠直接影響妳你們在這人間的妻財子祿。
妳你是不是在當運中,一口湯,一口水,一粒米,也能夠決定你能不能夠消除煩惱,解脫命運不濟的狀況。
所以你如果想要過一個大肥年,歡迎報名參加吾今晚的「春節開運大餐大採購」!
日期及時間: 11pm - 1am, 星期四, 19 January 2017
地點:Cold Storage, Siglap V
有意出席者,請發短訊聯絡吾的助理: +65 90212098,以便留位。為了表達個人誠意,玳瑚師父一概不接受透過別人代傳的簡訊報名。
簡訊中請附上:
1)個人中文姓名,
2)個人八字,
以便玳瑚師父能夠依照您的八字所需而指點您。
購物自費,除此以外,沒有額外收費。
因為場地考量和顧及到超市的客人,這次的活動祇限五位幸運兒,請趁早報名。一律歡迎有福有慧有心者!請記得攜帶紙和筆,及誠懇禮貌的學習態度。
若想閱讀前年玳瑚師父帶領的除夕發財宴的採購回顧,請看留言處的連結。
…………………
We all know that the Spring Festival is just round the corner. And have you been enjoying a healthy and bountiful Spring Festival every year?
Or do you secretly wish that the past many years could be more prosperous, with less obstacles? Well, here's a chance. A very special, out of the blue, opportunity for you.
This shopping session, made possible by Master Dai Hu's compassion to set aside his precious time, is put together for his fans and readers. I will impart precious knowledge on how to dress up your home from the eve of Chinese New Year, right through to the 15th Lunar Day. In addition, you will learn more about the symbolic and auspicious meaning of Chinese New Year dishes, and which are very important to your personal luck enhancement!
This session shall be a powerful and compassionate form of empowerment from Master Dai Hu.
Your home is an important source of energy empowerment. It is a place to recharge after a hard day of toil outside, thus the way we dress up our homes has a direct implication to our worldly fortunes and family luck.
Be it whether if you are in a favourable luck cycle or not, every mouthful of soup, every mouthful of water, or a single grain of rice, have the power to decide if you can escape worries and avert misfortunes.
If you desire a bountiful year ahead, you are most welcome to join me tonight!
Date & time: 11pm-1am, Thursday, 19 January 2017
Venue: Cold Storage, Siglap V
To reserve a slot, kindly send a text message personally to my assistant at +65 90212098. Requests sent on behalf of other people will not be accepted.
Information required will be your Chinese name and birth details, so that Master Dai Hu can customise a prosperous 2017 CNY Feast for you, based on your elemental needs.
Due to venue constraint and consideration for the supermarket's customers, this session will be limited to a small group of 5 lucky persons.
I welcome people who are eager to learn and willing to put in the effort to turn life around for themselves and their loved ones. Do register early to avoid disappointment!
To read about the recap of Master Dai Hu's past year CNY Eve Fortune Feast Grocery Shopping Spree, please find link in first comment.
recap meaning 在 Recap Meaning - YouTube 的推薦與評價
Video shows what recap means. To seal (something) again with a cap.. recap synonyms: summarisation, summarization, summary, summing-up. ... <看更多>