Skip to content

Commit 15fcb9f

Browse files
feat: add parallel-parallelizer (#1119)
--------- Co-authored-by: FabienC <[email protected]>
1 parent d03a831 commit 15fcb9f

15 files changed

+954
-432
lines changed

pkg/liquidity-source/angle-transmuter/abis/transmuter.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1396,5 +1396,18 @@
13961396
],
13971397
"stateMutability": "view",
13981398
"type": "function"
1399+
},
1400+
{
1401+
"type": "function",
1402+
"name": "tokenP",
1403+
"inputs": [],
1404+
"outputs": [
1405+
{
1406+
"name": "",
1407+
"type": "address",
1408+
"internalType": "contract ITokenP"
1409+
}
1410+
],
1411+
"stateMutability": "view"
13991412
}
14001413
]
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package angletransmuter
22

3+
import (
4+
"github.com/KyberNetwork/kyberswap-dex-lib/pkg/valueobject"
5+
)
6+
37
type Config struct {
4-
DexID string `json:"dexID"`
5-
StableToken string `json:"st"`
6-
StableDecimals uint8 `json:"sd"`
7-
Transmuter string `json:"transmuter"`
8-
Pyth string `json:"pyth"`
9-
ChainID int `json:"chainID"`
8+
DexID string `json:"dexID"`
9+
ChainID valueobject.ChainID `json:"chainID"`
10+
Transmuter string `json:"transmuter"`
11+
StableTokenMethod string `json:"stableTokenMethod"`
1012
}

pkg/liquidity-source/angle-transmuter/constant.go

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,63 @@ import (
44
"errors"
55

66
"github.com/ethereum/go-ethereum/accounts/abi"
7+
8+
"github.com/KyberNetwork/kyberswap-dex-lib/pkg/valueobject"
79
)
810

911
const (
1012
DexType = "angle-transmuter"
1113
defaultReserve = "100000000000000000000000000"
14+
15+
defaultMintGas int64 = 400000
16+
defaultBurnGas int64 = 450000
1217
)
1318

19+
var oracleTypeMapping = map[valueobject.Exchange]map[uint8]OracleReadType{
20+
valueobject.ExchangeParallelParallelizer: {
21+
0: CHAINLINK_FEEDS,
22+
1: EXTERNAL,
23+
2: NO_ORACLE,
24+
3: STABLE,
25+
4: WSTETH,
26+
5: CBETH,
27+
6: RETH,
28+
7: SFRXETH,
29+
8: MAX,
30+
9: MORPHO_ORACLE,
31+
},
32+
}
33+
34+
func convertOracleType(exchange valueobject.Exchange, e uint8) OracleReadType {
35+
if mapping, ok := oracleTypeMapping[exchange]; ok {
36+
if oracleType, exists := mapping[e]; exists {
37+
return oracleType
38+
}
39+
}
40+
41+
return OracleReadType(e)
42+
}
43+
44+
func shouldCheckHardCaps(exchange string) bool {
45+
switch exchange {
46+
case valueobject.ExchangeParallelParallelizer:
47+
return true
48+
default:
49+
return false
50+
}
51+
}
52+
1453
var (
1554
ErrInvalidToken = errors.New("invalid token")
1655
ErrInvalidAmountIn = errors.New("invalid amount in")
17-
ErrInsufficientInputAmount = errors.New("INSUFFICIENT_INPUT_AMOUNT")
18-
ErrUnsupportedSwap = errors.New("unsupported swap")
56+
ErrInsufficientBalance = errors.New("insufficient balance")
1957
ErrInvalidOracle = errors.New("invalid oracle compared to oracle type")
2058
ErrUnimplemented = errors.New("unimplemented")
21-
ErrInvalidChainlinkRate = errors.New("InvalidChainlinkRate")
22-
ErrERC4626DepositMoreThanMax = errors.New("ERC4626: deposit more than max")
23-
ErrERC4626RedeemMoreThanMax = errors.New("ERC4626: redeem more than max")
2459
ErrInvalidSwap = errors.New("invalid swap")
2560
ErrMulOverflow = errors.New("MUL_OVERFLOW")
61+
ErrMintPaused = errors.New("mint paused")
62+
ErrBurnPaused = errors.New("burn paused")
63+
ErrUnsupportedBurnCollateral = errors.New("unsupported burn collateral")
2664
)
2765

2866
var PythArgument = abi.Arguments{

0 commit comments

Comments
 (0)