스왑시스템 구현 관련 #1

in #sct6 years ago (edited)

필요한 것

트랜잭션을 순차적으로 처리를 해야한다. 어떻게 구현할까.

사전정보

  • 스왑할 토큰의 종류는 a와 b가 있다.
  • c는 유동성 토큰이다. c를 소각하면 a,b토큰을 얻는다.

스왑시스템이 처리해야할 트랜잭션은 3가지다.
토큰 스왑, 공급성 토큰 소각, 공급성 토큰 생성

첫번째 : 토큰 스왑
a토큰을 보내고 b토큰을 받는 것이다.

두번째 : 공급성 토큰 소각
c를 소각하면 a와b를 받는다.

세번째 : 공급성 토큰 생성
a와b를 넣으면 c를 받는다.


예시

세가지 트랜잭션은 순차적으로 처리해야한다.
이런식으로 처리해야하는데.
스왑 -> 스왑처리 -> 소각 -> 소각처리 -> 스왑 -> 스왑처리 -> 스왑 -> 스왑처리

만약에 스왑 -> 스왑 -> 스왑 -> 스왑처리 -> 스왑처리 -> 스왑처리
이렇게되면 스왑계산에 문제가 생긴다.

순차적으로 처리해야되는 이유에는 잔고 체크에 있다.

  • 스왑 -> 스왑 -> 스왑 -> 스왑처리 -> 스왑처리 -> 스왑처리
  • 스왑 -> 스왑처리 -> 스왑 -> 스왑처리 -> 스왑 -> 스왑처리

2개의 전송 결과는 아주 다르다.

원하는 동작

Sort:  

Congratulations @jacobyu! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published a post every day of the week

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

You can upvote this notification to help all Steem users. Learn how here!

Coin Marketplace

STEEM 0.05
TRX 0.33
JST 0.080
BTC 62600.41
ETH 1629.61
USDT 1.00
SBD 0.40