EIP Editing Office Hour #34
EIP Editing Office Hours · 19 Mar 2024 · 30:34
Meeting 34 of the EIP Editing Office Hour, held on 19 March 2024. EIP editors and proposal authors work through open pull requests and questions about the Ethereum standards process. This meeting covers ERC pull requests heading to Last Call, Review and Draft.
Topics
From EIP Editing Office Hours, hosted by ECH Institute.
Transcript
welcome to EIP editing office hour meeting number 34 this is issue number 324 on eat gers giab repository uh thank you Samson for joining us and I see in the chat the first PLL request is 28278 or 282 I me we have the author of 282 if you would like to maybe start from there and we can sure take the questions yeah all
right so Daniel did you have any questions about this in particular or oh hi uh me and yeah this is Daniel here and my colleague George is also on the he's also on the call so um just I don't know I'm helping George George to get an understanding just that what's your what's you know just anybody trying to understand this pool request sure yeah should I explain it uh yeah I think if you want to give me a little bit of an overview that'd be great and then we can go into it oh so I think what we trying to do here we
trying to encoding the multiple parameter into bytes so we come we can have we can instead of sending the Cod data groups and we will just using the bytes and and compress the on Trend data to save gas or to to achieve like a Atomic operations so for example if we want to have a approv transaction like approv amount then to transfer from from and we can combine those two Calles into one single core like so sort of we can use we can
encode those two core into one single like single bytes and then somehow and the smart contract account will try to execute it as a single step if it if it fails to transfer from the approval also fail also get reverted so okay and another use case will be if somebody wants to want to transfer 10 USD to someone but in and they don't have enough eth like ethereum on their account to make the trans to pay for the gas instead of having them to to to like swap some ethereum for the trans for the for the
transfer we can use we can ask someone like a a sort of uh someone who pays the gas who pays the transaction fee and and we can like if we want transfer a th000 USD and we can pay the a proxy guy to like to take 10 USD for the gas fee and he will do the transfer for us so all the we can bindle all the operation into one one single core data and somehow we managed to have a smart contract account to execute it the author it's actually George so but I'm helping him with the English here okay yeah no I think that makes a lot of sense um so there is one
thing I'm trying to find here that might be relevant um but I can't seem to click on anything on my browser which is absolutely lovely when that happens uh let's try moving this over here hey that works okay do we have we we do we have a magician discussion on top
sorry okay so this is a similar kind of proposal but from the wallet side um so I'd recommend talking to these people a little bit about um uh how to make the API end points for this um but let's dive into your proposal here um all right we provide quite simple like implementation for it at the bottom of the proposal okay perfect um I think we emphasizing on the way we encode those core it's not how the how the like the API interface looks like so right we we try to propose a way to encoding this like several Calles
together and and to save space like yeah yeah yeah so um the reason I'm want to connect you with these uh 57 2 people is because um you'll need to provide an API at some point for somebody to be able to use this um so it' be good to make sure that uh this proposal is compatible with other proposals uh on the wallet side um but it's not required I'm just pointing it out as somebody who's doing something similar um yeah so let take a look thank you very much no no problem we definitely we be in touch with them to talk about this awesome um okay so let's
say okay so I think your description is really good so that that makes sense um okay so t Okay smart contract want to consol multip okay that's good well as non okay typically interaction between uses and such as approved then transfer from while you wallets require users to
confirm your operation sequentially smart contract wallets yeah so that's good I think you do a good job um laying out the motivation for your proposal where' that go okay proposes security risk good um above in addition to the atomic operation of approved transer mentioned above Gas payment delegation C to be achieved set of calls
okay multiple optimized car find by okay two value yes I think this is decent but I I don't think this uh specification section includes enough information on who you expect to implement this um like is this
something that uh a the smart contract account itself would decode uh yeah possibly but it's not limit to the smart contract account itself okay it's basically it's basically even for for a contract who wants to use this automic like sort of operations trying to group operations together they can still use it okay yes I think so call each the encoding of two value data
okay for okay yeah so I think that's it's good it
just it needs a little bit more detail on on who's going to be Implement implementing this and and where in the stack it's going to sit uh but otherwise yeah I think this is really good um backwards compatibility this here does not change okay does not change other standards for the applications this specifies optimiz cause but specific implementation and naming I think that needs to be in back
TI for code okay good yeah so okay okay so you have the
bundler yeah okay so I think it's a little bit more clear after reading quickly reading your reference implementation I think that's reasonable I think you just need to say something about where this fits in the specification section otherwise this is really good yeah thanks for uh submitting this it's um good thank you very much for your advice thank you we'll definitely improve that thank you for the Tom no problem it's my pleasure thank you thank so you want to do s eight eight that's correct okay sorry if I seem like I'm rushing today I'm just double booked so got to get through this quickly um all
right uh so Sam did you have any questions about this uh no all right I will just take a look at it then I just sorry add the diagram as a last last meeting so okay straight swaps okay actually let's go through these a little bit more I don't remember reviewing this one okay
okay okay good okay yeah let's give this a read through then I think I remember this one now all right for okay wel Trad contract when two parties mutually
consented exchange okay and then let's go down here all right that's a nice diagram thank get 500k from company P pay 600k so now here I'm comparing the the coupon
to pay with IRS or without IRS so if a company like B issue bonds investors uh at 2% then without IRS if it is a floating uh coupons the with Benchmark is 2% then if the Benchmark is at 4% it's 4% then this company will pay okay if it is 3% 5K 500k sorry and if it's 5K will pay 7 100K so it's a floating interest now he want to pay not floating interest but a fixed interest coupon
then you you can enter into a swap contract with another company would wish to pay not a Fe fix as it paying right now but floating so they just exchange the interest and as you can see with IRS okay the company was supposed to pay a fixed interest will pay now floating interest and the one who was supposed to pay the floating now is paying fixed interest okay so it's it's convert like so one company can convert a floating interest into a fixed interest and another but he does the opposite side of it okay that makes sense
just yeah okay so SW fixed okay Che
fluctuations okay this currently an absence IR contracts okay sub no I think implementation is better fix yeah okay fix CL I'm very nitpicky on the description I'm sorry um uh on implementation of derivative contracts swapping fixed and
floating interest rates so um okay H whoops but okay so that's all good and then we have a nice diagram must implement the
following interface must inherit from erc2 okay it's good um ter I also change the the name of the p and the receiver as you suggested magici also oh yeah these are these are much nicer I think yeah and I also added the the decimal oh good so now we can actually convert between two different contracts yeah that's awesome thank you so much okay swap rate floating rate contract swapp RS be a
currency should be used the swap function good Returns the notional amount in unit of asset to be transferred in swwa IRS the notional amount in unit of asset to be transferred for calculating okay okay so the notional amount okay so
eight age this return get out of here I think it doesn't matter because the
the national is not uh transferred it just serves as the the the amount used to calculate the the interest uh that will be the difference of interest that will be transferred to one party because when swap interest not the two parties are going to transfer the interest only the the difference will be transfer for example if by calculating uh the swap we see that like company a need to transfer like 10 usdc to come then this 10 USB will be transer but the
notional is not being transferred it just Ser because when you need to calculate rate you need an amount something like a principle right so you for this principle we just use theal so it will be 1 million 10 million and something like okay so you're going to have to walk me you're going have to explain that so I have no Financial background you're going to have to like dumb this down a lot for me so okay so what is this notional amount if I if I was using this contract why would I need to know this number you yeah yeah you use this number because you want to calculate the interest rate right or if you want to calculate rate you need an amount because the rate is like a principle M
multiply by a percentage right right so this percentage need to be multiplied by a number and yes this number in the case of uh interest rate swap is called National it is not transferred it's it just serves to calculate how much interest do we need to send to either the the receiver or the payer so it could be 100 what matters is the difference because as I I don't know if you can look at the the image as I said um let's go to the image yeah so as you can see here
for example the company a without iros need to pay 6K right and Company B need to pay or or maybe the second example for the second example company a need to pay 500k and Company B need to pay 600k but when swapping we can realize that company a now need to pay 600k and Company B need to pay 500K what happens when swapping company a is not sending um all let's say 400k to Company B it's just difference because now we see that with the IRS company a need to pay 6K and Company B
need to pay 5K so there is a difference of 100K right okay this 100K is what needs to be transferred from company a to Company B and to in order to get this 100K we need a national to calculate the interest rate difference right right so I guess my my question is like is the number represented as like let's say you're transferring like one usdc and usdc hypothetically has a decimal amount of 18 is the number returned by notional amount going to be one or is it going to be one followed by 18 zeros oh it could it could be one with 18 Z yeah it could be okay so like this
value here is it going to be umang yeah so you see you say here this notional amount may be equal to 100 or or 1 million usdc but the the normal way to represent 1 million usdc on chain is yeah yeah yeah yeah so I'm just wondering does this function return 1 million or does it return 1 million followed by a bunch of zer doesn't matter but yes if because I say usdc then we need 0 but it could be one million like 1 million or 10 million and so maybe just remove usdc at the end of yes I think I think that would make it
clear exactly yeah okay okay yeah so okay payment frequency um so what is this this is probably in in seconds I would assume
okay return payment dates that makes sense stting date of the swap contract yep returns to maturity date of the swap contract yep um okay uh starting dat okay return the
function Benchmark okay with the zero address okay good receiver interest differ pay the receiver for must be called by either the payer or the receiver okay so okay good okay that's fine reference
implementation is good good let cc0 cc0 also cc0 this all looks fine nice comment or Graphics so the only thing here okay good so I think all of my comments here are pretty minor so I'm going to go
ahead andove this as a draft good um just um try to try to fix them before um moving to review um but I don't think there's anything significant enough here to hold it up um but this won't merge on its own um so I will wait for this to yeah everything's passed so I'll just force merge this yeah so just um yeah like like I said just try to deal with those at some point but um it's not they're not pressing so awesome thanks I got a dip talk to you all in two weeks thank you Sam and just for people to know from next week onward we are going to change the meeting time and it is
going to be at 1400 UTC so that it would be 10 a.m. eastern standard time for people in the United States and yeah we hope Sam gets some more time to maybe review the proposals which are already added to the agenda and if those won't be reviewed before the next meeting I will be carrying them over thank you everyone