Cpmm_logic.Simulate_rawThis is a simulation of the CPMM contract, as implemented in mligo in src/proto_alpha/lib_protocol/contracts/cpmm.mligo. The interested reader should look for comments in this file to gain a better understanding of the contract logic.
val mumav_to_natural :
Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t ->
Z.tval natural_to_mumav :
Z.t ->
Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.tval addLiquidity :
tokenPool:Z.t ->
xtzPool:Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t ->
lqtTotal:Z.t ->
amount:Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t ->
Z.t * Z.tval removeLiquidity :
tokenPool:Z.t ->
xtzPool:Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t ->
lqtTotal:Z.t ->
lqtBurned:Z.t ->
Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t * Z.tval tokenToXtz :
tokenPool:Z.t ->
xtzPool:Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t ->
tokensSold:Z.t ->
Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t * Z.tval xtzToToken :
tokenPool:Z.t ->
xtzPool:Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t ->
amount:Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t ->
Z.t * Z.tval tokenToToken :
tokenPool:Z.t ->
xtzPool:Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t ->
tokensSold:Z.t ->
Mavryk_protocol_alpha.Protocol.Alpha_context.Tez.t * Z.t