From 0cc52a70a125d324dbd185d8b3b054711d4b684b Mon Sep 17 00:00:00 2001 From: Alexey Kostenko Date: Thu, 26 Sep 2024 18:56:59 +0300 Subject: [PATCH] stonfi-v2 --- abi/generated_test.go | 318 +++++++++++++++++++++++++++++++++++++- abi/get_methods.go | 197 ++++++++++++++++++++++- abi/interfaces.go | 79 ++++++++++ abi/jetton_msg_types.go | 63 ++++++++ abi/messages.md | 17 ++ abi/messages_generated.go | 274 ++++++++++++++++++++++++++++++++ abi/schemas/ston-fi.xml | 183 ++++++++++++++++++++++ 7 files changed, 1123 insertions(+), 8 deletions(-) diff --git a/abi/generated_test.go b/abi/generated_test.go index cac1e973..85a170ec 100644 --- a/abi/generated_test.go +++ b/abi/generated_test.go @@ -537,6 +537,74 @@ func TestGetMethods(t *testing.T) { TradeFeeDenominator: tlb.Int257FromInt64(10000), }, }, + { + name: "Ston-fi get_pool_data v2", + code: "b5ee9c7201026001002082000114ff00f4a413f4bcf2c80b0102016202030202c904050201201b1c01a7d8831c03cb418087434c0dc009c6c260c5fc0a00835c85677be903e900c7e800c5c75c87e800c7e800c1cea6d0000f4c7f4cfc412040dc415914110c4dbc27e187e105bc4373e105bc45c007e910c006ebcb81562602014806070145a610411806f05b59d3b200005cc708c11806f05b59d3b20000290154c2782651f18740080137a410411806f05b59d3b200005d4d98411812dca375e059b0b9f187401101fe702182b05803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880faa35be8e23308288195e54c5dd42177f53a27172fa9ec630262827aa23a904821b782dace9d9aa18de2182708bcc0026baae9e45e470190267a230cfaa18be8e1c0182501425982cf597cd205cef7380a90401821b782dace9d9aa17a0dea76401a7640901f2208261855144814a7ff805980ff0084000be8e2a8238056bc75e2d631000008261855144814a7ff805980ff0084000a98401822056bc75e2d631aa18a001de20824adf0ab5a80a22c61ab5a700be8e278238056bc75e2d63100000824adf0ab5a80a22c61ab5a700a98401822056bc75e2d631aa17a001de200a02f882403f1fce3da636ea5cf850be8e268238056bc75e2d6310000082403f1fce3da636ea5cf850a98401822056bc75e2d631aa16a001de20823927fa27722cc06cc5e2be8e268238056bc75e2d63100000823927fa27722cc06cc5e2a98401823815af1d78b58c400000a001de208238280e60114edb805d03bee300200b0c004c8238056bc75e2d631000008238280e60114edb805d03a9840182380ad78ebc5ac6200000a00102f482380ebc5fb41746121110be8e268238056bc75e2d6310000082380ebc5fb41746121110a984018238056bc75e2d63100000a001de20823808f00f760a4b2db55dbe8e258238056bc75e2d63100000823808f00f760a4b2db55da984018232b5e3af16b1880000a001de20823806f5f1775788937937bee300200d0e004a8238056bc75e2d63100000823806f5f1775788937937a9840182315af1d78b58c40000a00101ec823806248f33704b286603be8e258238056bc75e2d63100000823806248f33704b286603a984018230ad78ebc5ac620000a001de20823805c548670b9510e7acbe8e258238056bc75e2d63100000823805c548670b9510e7aca98401823056bc75e2d6310000a001de208238056bc75e2d63100000a10f01fe8238056bc75e2d631000005122a012a98453008238056bc75e2d63100000a9845c8238056bc75e2d63100000a9842073a90413a051218238056bc75e2d63100000a9842075a90413a051218238056bc75e2d63100000a9842077a90413a051218238056bc75e2d63100000a9842079a90413a0598238056bc75e2d6310000010001ca984800ba904a0aa00a08064a90402fc8200c354218235c702bd3a30fc0000be228238070c1cc73b00c80000bbb0f2f420c1008e1282300de0b6b3a76400005202a3f05812a984e020821b782dace9d9aa18be8e2820821b782dace9d9aa17be8e18821b782dace9d9aa17a182501425982cf597cd205cef73809171e2e30d01a7648238056bc75e2d631000002112130042821b782dace9d9aa18a18288195e54c5dd42177f53a27172fa9ec630262827aa2303fc822056bc75e2d631aa18be8e1c30822056bc75e2d631aa18a18261855144814a7ff805980ff0084000de21822056bc75e2d631aa17be8e2701822056bc75e2d631aa17a101824adf0ab5a80a22c61ab5a7008238056bc75e2d63100000a984de21822056bc75e2d631aa16bee30021823815af1d78b58c400000bee30021141516004c01822056bc75e2d631aa16a10182403f1fce3da636ea5cf8508238056bc75e2d63100000a984004c01823815af1d78b58c400000a101823927fa27722cc06cc5e28238056bc75e2d63100000a98402f482380ad78ebc5ac6200000be8e260182380ad78ebc5ac6200000a1018238280e60114edb805d038238056bc75e2d63100000a984de218238056bc75e2d63100000be8e26018238056bc75e2d63100000a10182380ebc5fb417461211108238056bc75e2d63100000a984de218232b5e3af16b1880000bee300211718004a018232b5e3af16b1880000a101823808f00f760a4b2db55d8238056bc75e2d63100000a98401ec82315af1d78b58c40000be8e250182315af1d78b58c40000a101823806f5f17757889379378238056bc75e2d63100000a984de218238056bc75e2d6310000021a0511382380ad78ebc5ac6200000a98466a0511382381043561a8829300000a98466a05113823815af1d78b58c400000a98466a051131901ea82381b1ae4d6e2ef500000a98466a0511382382086ac351052600000a98466a05113823825f273933db5700000a98466a05113822056bc75e2d631aa16a98466a05113823830ca024f987b900000a98466a0511382383635c9adc5dea00000a98466a0511382383ba1910bf341b00000a98466a0031a00428238410d586a20a4c00000a98412a08238056bc75e2d63100000a984018064a9840201201d1e020271212200d5bbf19ed44d0d20001f862fa0001f865fa0001f866fa0001f867fa0001f863fa0001f864fa4001f868d30f01f869d30f01f86ad401f86bf84bd0fa4001f86cfa4001f86dfa4001f86ed401f86fd401f870d1d1f842f84cf847f845f846f84df84ef849f84af848f843f84480201481f20002bb08f23410636f6e7374616e745f70726f6475637482001edb1453b51343480007e18be80007e197e80007e19be80007e19fe80007e18fe80007e193e90007e1a34c3c07e1a74c3c07e1ab5007e1afe12f43e90007e1b3e90007e1b7e90007e1bb5007e1bf5007e1c3474481c007e910c006ebcb8157e0a00720073c58073c59c3e809c3e80b27e14005b5b5bc11c202301edadbcf6a268690000fc317d0000fc32fd0000fc337d0000fc33fd0000fc31fd0000fc327d2000fc34698780fc34e98780fc356a00fc35fc25e87d2000fc367d2000fc36fd2000fc376a00fc37ea00fc3868e8903800fd221800dd79702afc147c27e4387d012801e78b00e78b6664fc2780b6b6b78238402301f9af16f6a268690000fc317d0000fc32fd0000fc337d0000fc33fd0000fc31fd0000fc327d2000fc34698780fc34e98780fc356a00fc35fc25e87d2000fc367d2000fc36fd2000fc376a00fc37ea00fc3868e8fc147d2218b8e46583c6830d0e8e8e0e6745e5edacae8c25ce6e8dedc5cccd25ed8e05f0678b4593b18c4024008c216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401310180cf168b12f8cf1670c821c100988b12d8cf1601a301de7020718e14047aa90ca63025a812a004aa0702a421c0004530e63033aa02cf01c9d0cf168b13a8cf16012500fc20c0008e1830c8709320c14097803058cb0701a4e801c9d001aa02d7198e4770800fc89322c1408e1a5331b020c20995a63701cb0795a63001cb07e203ab0302a44013e86c21c832c9d080409320c2009da520aa02522078d72413cf1602e85bc9d08308d719e2cf168b52e6a736f6e8cf16c9f8477ff84cf84f1034413002feed44d0d20001f862fa0001f865fa0001f866fa0001f867fa0001f863fa0001f864fa4001f868d30f01f869d30f01f86ad401f86bf84bd0fa4001f86cfa4001f86dfa4001f86ed401f86fd401f870d1d1f84df84ec705f2d05ff8416f11f848c7058e97f8416f17f8416f1382101ee4911eba9530840ff2f0e30de0f8416f11272801fef843c200f844c200b0f2e051f8416f16f8416f12a7078208989680a08209312d00a08208989680a08208f42400a08208f42400a08208989680a08210042c1d80a08208989680a08210042c1d80a0bcf2e053f404f404d1f8416f16f8416f128208989680a08209312d00a08208989680a0a1ab008208989680a0820898968029046af84cc7058f198f15eda2edfbf8416f17f8416f1382106664de2abae30fdb00e0f8416f17f8416f138210297437cfba923070e30ddc2c2d2e2f01fef8416f15f82ca0f8416f16a101b60970fb02f84cf848f848f8487020f843f84d22f84e10891078106710561045104cc85006fa025003fa0201cf1601fa0258cf16c98210657b54f5f8416f1401c8cb1fcb3f5005cf165003cf165004cf1613cb1f12f400ccc9413070718018c8cb055004cf165004fa0212cb6accc901fb002a01e870f84cf848f848f848547444f84df844f84e10891078106710561045104bc85006fa025003fa0201cf1601fa0258cf16c98210657b54f5f8416f1401c8cb1fcb3f5005cf165003cf165004cf1613cb1f12f400ccc9128306718018c8cb055004cf165004fa0212cb6accc901fb0070f86370f8642b0056f84bf84af849f842c8ca00f845fa02f846fa02f847fa02f843fa02f844fa02f848cf16cb0fcb0fccc9ed5402fefa40fa00fa00d5318020d721fa4031fa40fa40d33f01716d706d216d216d547edc53eded44ed45ed478aed67ed65ed64757fed118e455f0801d5fa00fa40fa00f404fa00f404d30f0101fa40278b02c70592372e9107e28055217001fa443001ba2370218b02c705925b7f9601fa443001bae2b0f2e80107d108d1ed41edf13b3003e0f8416f13821037c096dfbae302f8416f13821029d22935ba8e36820898968070fb027001fa40308100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb00e0f8416f13821062752512bae302f8416f13821075930d63bae30230840ff2f038393a01fefa00fa40fa40f40430f828f84f2459c870fa025003cf1601cf16ccc9f84f016d6d6f0470216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f040131f8416f11c705f2e052f842f2d05d23c200f2e0510143034e8f22f8416f17f8416f13821006ecd527ba8e8ff8416f1382100f98e2b8bae3023070e30ddb00dc474849024c01f2ff2d513d513d4d13544ce0ed44ed45ed478aed67ed65ed64777fed118aed41edf101f2ff313201e48208989680f8416f15f82ca0f8416f16a101b60970fb0270f8416f1122c3019133923212e201b60bf84df84e109b102610251024103a41b0c85006fa025003fa0201cf1601fa0258cf16c98210657b54f5f8416f1401c8cb1fcb3f5005cf165003cf165004cf1613cb1f12f400ccc91283063f03fe8210365c484df842f2d8018210a768c0d128c26429c100b1f2d8017054700028d70b01c000923b20910be22de30f5390a082101ec2841208f823bc18f2e80182105ffe1295f847c101f2d80182105f95443427c101f2d8010482103960319007bc16f2d801821038976e9bf8458477bcf846c101b1f8468477bcb1f845c10133343500c8323a3a7ff845f8462d1034103d5934812710f849a112a801812710a821a04130a9847020f84ac2009c31f84a5220a8812710a90601de23c2009a305213a8812710a906029133e25302a012a102f845500da0f865f8465321a02da0a1f866f84401a0f86400ca31323b70f846f8452c10345934812710f849a112a801812710a821a04130a9847020f84ac2009c31f84a5220a8812710a90601de23c2009a305213a8812710a906029133e25302a012a102f8455da022a0a1f865f846500ca0f866f84301a0f863108a090802feb1f2d8018208989680f8416f15f82ca0f8416f16a101b60970fb0223d70b01c3005379a0c200b0951028333530e30d70f8416f118210c64370e5f84df84e109b10261024103b41a0c85006fa025003fa0201cf1601fa0258cf16c98210657b54f5f8416f1401c8cb1fcb3f5005cf165003cf165004cf1613cb1f12f400ccc9363700d2f8416f12a70382080f4240a08209312d00a08208989680a0f8416f11f84df84e29105804103b50ddc85004fa0258cf1601fa0201cf16c9821063381632f8416f1401c8cb1fcb3f5003cf1601cf16ccc9486070718018c8cb055004cf165004fa0212cb6accc901fb000088128306718018c8cb055004cf165004fa0212cb6accc901fb00f84bf84af849f842c8ca00f845fa02f846fa02f847fa02f843fa02f844fa02f848cf16cb0fcb0fccc9ed5403f4fa40fa00fa00d5318020d721fa4031fa40fa40d33f01706d53116d547ba953baed44ed45ed478aed67ed65ed64757fed118e225f0501d5fa00fa40d200fa00f404d105d182104e7405a8237001fa443001baf2e801ed41edf101f2ff547a9853a9ed44ed45ed478aed67ed65ed64757fed118aed41edf101f2ff3b3c3d00f2f8429170917fe2f862f84bf84af849f842c8ca00f845fa02f846fa02f847fa02f843fa02f844fa02f848cf16cb0fcb0fccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb027001fa40308100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb0001b8d30f0101d30f0101fa4003f86901f86af868f84bf84af849f842c8ca00f845fa02f846fa02f847fa02f843fa02f844fa02f848cf16cb0fcb0fccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb027001fa40308100824201e88208989680f8416f15f82ca0f8416f16a101b60970fb0270f8416f1122c3019133923212e201b60b216df84df84e109b104610351024103a41b0c85006fa025003fa0201cf1601fa0258cf16c98210657b54f5f8416f1401c8cb1fcb3f5005cf165003cf165004cf1613cb1f12f400ccc91283063e01e88208989680f8416f15f82ca0f8416f16a101b60970fb0270f8416f1122c3019133923212e201b60b216df84df84e109b104610351024103a41b0c85006fa025003fa0201cf1601fa0258cf16c98210657b54f5f8416f1401c8cb1fcb3f5005cf165003cf165004cf1613cb1f12f400ccc91283063f01808210d6a53fd806f823bc16f2e801f828500ac801cf1601cf1670fa0270fa02c9f850016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb027066400030718018c8cb055004cf165004fa0212cb6accc901fb00db31002c718018c8cb055004cf165004fa0212cb6accc901fb0001e6216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f040131108a107910461045104b4ba9410092c858cf1601cf16c9821050c6a654f8416f1401c8cb1fcb3f5008fa025006fa025004fa0258fa02ca0001cf16f400ccc98306778018c8cb055005cf165005fa0213cb6bccccc901fb00004c8210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb0001fcd70b01c000f2e05622f845f8472259a984f846f8471023a98421c20021c200b0f2e051f84522a1f865f84621a1f866f8475005a1f867f845c200f846c200b0f2e05cf847c200f2e05cf8416f16f8416f12a7078208989680a08209406f40a08208989680a08208f42400a08208f42400a08208989680a08210042c1d80a04401fc8208989680a08210042c1d80a0bcf2e0536d6d236e91338e1403d020d749c00299316c12f404f40430599130e2e28208989680f8416f15f82ca0f8416f16a101b60970fb02f8416f16f8416f128208989680a08209406f40a08208989680a0a1ab008208989680a0f84c8210dda48b6a70f84d21f84e2a517b517c0706054501dc104a103b40abc85006fa025003fa0201cf1601fa0258cf16c98210657b54f5f8416f1401c8cb1fcb3f5005cf165003cf165004cf1613cb1f12f400ccc970718018c8cb055004cf165004fa0212cb6accc901fb0070f84c8210dda48b6a5322f84df84e28518908107a50bb0443134600f6c85006fa025003fa0201cf1601fa0258cf16c98210657b54f5f8416f1401c8cb1fcb3f5005cf165003cf165004cf1613cb1f12f400ccc98306718018c8cb055004cf165004fa0212cb6accc901fb00f84bf84af849f842c8ca00f845fa02f846fa02f847fa02f843fa02f844fa02f848cf16cb0fcb0fccc9ed547f02fefa00fa00fa40f404f40430f82823c801cf1601cf1670fa0270fa02c9f850016d6d6f0470216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f040131f8416f11c705f2e05270804026c20026c200b0e3004a4b01fcfa00fa00fa40fa00fa00f404d531fa40fa40fa4030f82827c801cf1601cf1670fa0270fa02c9f850016d6d6f0470216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f040131f8416f11c705f2e052704e0368f8416f17f8416f13821026df39fcba8f1cf8416f13821015fbca95bae302f8416f1382102c76b973bae3023070e30ddc840ff2f05a5b5c00325bf8416f16f8416f128208989680a08208e4e1c0a0a1ab007002fa26c2008e6ef84c8210de7dbbc270f84d21f84e2a517b517c070605104c103f40cfc85006fa025003fa0201cf1601fa0258cf16c98210657b54f5f8416f1401c8cb1fcb3f5005cf165003cf165004cf1613cb1f12f400ccc954414427718018c8cb055004cf165004fa0212cb6accc901fb0014923335e223c200e30f7f4c4d00caf84c8210de7dbbc27020f84df84e28518908107a0443b3c85006fa025003fa0201cf1601fa0258cf16c98210657b54f5f8416f1401c8cb1fcb3f5005cf165003cf165004cf1613cb1f12f400ccc958718018c8cb055004cf165004fa0212cb6accc901fb0000045f0503fe8208989680f8416f15f82ca0f8416f16a101b60970fb02f847c0008ed7547009513b513b513b513b513b513b513b513b03ed44ed45ed47915bed67ed65ed64800c7fed118e845387db3ced41edf101f2fff84723a0f867f84322a0f863f84421a0f864f84552c3a112a0f865f84652a2a1a0f866e30df8425218b917b1f8474f505101dcf845f846a88200c35921c100f2f220c0008e508100b55311837fbe9931ab7f8100b5aa3f01de20833fbe96ab3f01aa1f01de20831fbe96ab1f01aa0f01de20830fbe96ab0f01aa0701de830fa0a8ab1177965ca904a0ab00e466a9045cb991309131e2dff8455003a0f84658a05c5201765469905469905469905469905290ed44ed45ed47915bed67ed65ed647a7fed118aed41edf101f2ff20f8678103e9a1f8452aa0f865f84629a0f8665502ca8477bcb1f8458477bcb1f8468477bcb18ed0313636f828f84f1027c870fa025003cf1601cf16ccc9f84f016d6d6f04f8416f1282099bfcc0a0f8416f16018208989680a0a122c2008210042c1d80f8416f12aa00a012a123a1c101b0927032de7066e30d7f565701d6a88200c35921c100f2f220c0008e508100b55311837fbe9931ab7f8100b5aa3f01de20833fbe96ab3f01aa1f01de20831fbe96ab1f01aa0f01de20830fbe96ab0f01aa0701de830fa0a8ab1177965ca904a0ab00e466a9045cb991309131e2df5303bb955f04705300e30e5301aaf8455314a9845330a1b60b5242bc99f84a5210812710a9849170e2f84972a90612812710a98421a014a1f846541025a9845320a1b60b5232bc99f84a5210812710a9849170e2f84972a90612812710a98421a013a15400e6a88200c35921c100f2f220c0008e508100b55311837fbe9931ab7f8100b5aa3f01de20833fbe96ab3f01aa1f01de20831fbe96ab1f01aa0f01de20830fbe96ab0f01aa0701de830fa0a8ab1177965ca904a0ab00e466a9045cb991309131e2df5303bb955f04705300e023a1f8474104a9840200d828c20028c200b0f2e0585387a88200c35921c100f2f220c0008e508100b55311837fbe9931ab7f8100b5aa3f01de20833fbe96ab3f01aa1f01de20831fbe96ab1f01aa0f01de20830fbe96ab0f01aa0701de830fa0a8ab1177965ca904a0ab00e466a9045cb991309131e2df01d6216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f0401315e2345675801c850565f05f82801c801cf1601cf1670fa0270fa02c9f850016d6d6f047066216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401015900cc8210178d4519f8416f1401c8cb1fcb3f5003fa025004cf1658cf1658fa02f400c9138306778018c8cb055005cf165005fa0213cb6bccccc901fb00f84bf84af849f842c8ca00f845fa02f846fa02f847fa02f843fa02f844fa02f848cf16cb0fcb0fccc9ed5400f26f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013153227f8b026d8b02108b107a550509c858cf1601cf16c9821050c6a654f8416f1401c8cb1fcb3f5008fa025006fa025004fa0258fa02ca0001cf16f400ccc98306778018c8cb055005cf165005fa0213cb6bccccc901fb0001f28208989680f8416f15f82ca0f8416f16a101b60970fb02fa40d1f82801c801cf1601cf1670fa0270fa02c9f850016d6d6f0470216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401315d01f08208989680f8416f15f82ca0f8416f16a101b60970fb02f8416f16f8416f128209312d00a0bcf2e04bfa40d300d195c821cf16c9916de28210d1735400f8416f1401c8cb1fcb3f22fa4430c00095327058cb01e30d70f8416f115af400c9810082718018c8cb055004cf165004fa0212cb6accc901fb007f5e01ec308208989680f8416f15f82ca0f8416f16a101b60970fb02f842f84cf847f845f846f84df84ef849f84af848f843f84404c8cb0f13cb0f5009cf165008cf165006fa025006fa025004fa02c9821026df39fcf8416f1401c8cb1fcb3f16ca0058fa0201fa0201cf1601cf16ccc970f8416f11588100825f0068821015fbca95f8416f1401c8cb1fcb3f01cf16c970f8416f1158810082718018c8cb055004cf165004fa0212cb6accc901fb007f00c8f828f84f1024c870fa025003cf1601cf16ccc9f84f016d6d6f0470216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f04013112cf16002e718018c8cb055004cf165004fa0212cb6accc901fb007f", + data: "b5ee9c720101040100c7000129205ad5b3ea06422c40205f5e1001129100002800150102c9801e19470473a6b92a9f1af1c5b9c7daa452b8146e3c32a81c58d857eff6225c645003f655998f286dcc24e07641ee4b21a27b5f02058acf37cf66c1833d4f8228eb0200782addecad5ae22c87f297ff5eacf4391b21a54dc5325981c93c4a16e78eb038400203084202467bca805a0c6a11aa141ee8ac994dad102fe1cdfd2e4a4c78b3077d2ff6d73a084202c95a2ed22ab516f77f9d4898dc4578e72f18a2448e8f6832334b0b4bf501bc79", + account: "0:228829d720692d8247906d717772f84b14631269157efddc55f06130cde523bc", + method: GetPoolData, + wantTypeHint: "GetPoolData_StonfiV2Result", + want: GetPoolData_StonfiV2Result{ + IsLocked: false, + RouterAddress: mustToMsgAddress("0:f0ca38239d35c954f8d78e2dce3ed52295c0a371e19540e2c6c2bf7fb112e322"), + TotalSupply: tlb.Int257FromInt64(200000000), + Reserve0: tlb.Int257FromInt64(190494333), + Reserve1: tlb.Int257FromInt64(210000000), + Token0WalletAddress: mustToMsgAddress("0:fd956663ca1b7309381d907b92c8689ed7c08162b3cdf3d9b060cf53e08a3ac0"), + Token1WalletAddress: mustToMsgAddress("0:f055bbd95ab5c4590fe52ffebd59e87236434a9b8a64b3039278942dcf1d6070"), + LpFee: 20, + ProtocolFee: 10, + ProtocolFeeAddress: tlb.MsgAddress{SumType: "AddrNone"}, + CollectedToken0ProtocolFee: tlb.Int257FromInt64(9506), + CollectedToken1ProtocolFee: tlb.Int257FromInt64(0), + }, + }, + { + name: "Ston-fi get_router_data v2", + code: "b5ee9c7201025101001aca000114ff00f4a413f4bcf2c80b0102016202030202c904050201201b1c01afdbb68bb7ec831c03cb418087434c0dc009c6c260c5fc0a00835c85677be903e900c7e800c5c75c87e800c7e800c1cea6d0000f4c7f4cfc412040dc415914110c4dbc27e187e105bc4373e105bc45c007e910c006ebcb81562302014806070145a610411806f05b59d3b200005cc708c11806f05b59d3b20000290154c2782651f18740080137a410411806f05b59d3b200005d4d98411812dca375e059b0b9f187401101fe702182b05803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880faa35be8e23308288195e54c5dd42177f53a27172fa9ec630262827aa23a904821b782dace9d9aa18de2182708bcc0026baae9e45e470190267a230cfaa18be8e1c0182501425982cf597cd205cef7380a90401821b782dace9d9aa17a0dea76401a7640901f2208261855144814a7ff805980ff0084000be8e2a8238056bc75e2d631000008261855144814a7ff805980ff0084000a98401822056bc75e2d631aa18a001de20824adf0ab5a80a22c61ab5a700be8e278238056bc75e2d63100000824adf0ab5a80a22c61ab5a700a98401822056bc75e2d631aa17a001de200a02f882403f1fce3da636ea5cf850be8e268238056bc75e2d6310000082403f1fce3da636ea5cf850a98401822056bc75e2d631aa16a001de20823927fa27722cc06cc5e2be8e268238056bc75e2d63100000823927fa27722cc06cc5e2a98401823815af1d78b58c400000a001de208238280e60114edb805d03bee300200b0c004c8238056bc75e2d631000008238280e60114edb805d03a9840182380ad78ebc5ac6200000a00102f482380ebc5fb41746121110be8e268238056bc75e2d6310000082380ebc5fb41746121110a984018238056bc75e2d63100000a001de20823808f00f760a4b2db55dbe8e258238056bc75e2d63100000823808f00f760a4b2db55da984018232b5e3af16b1880000a001de20823806f5f1775788937937bee300200d0e004a8238056bc75e2d63100000823806f5f1775788937937a9840182315af1d78b58c40000a00101ec823806248f33704b286603be8e258238056bc75e2d63100000823806248f33704b286603a984018230ad78ebc5ac620000a001de20823805c548670b9510e7acbe8e258238056bc75e2d63100000823805c548670b9510e7aca98401823056bc75e2d6310000a001de208238056bc75e2d63100000a10f01fe8238056bc75e2d631000005122a012a98453008238056bc75e2d63100000a9845c8238056bc75e2d63100000a9842073a90413a051218238056bc75e2d63100000a9842075a90413a051218238056bc75e2d63100000a9842077a90413a051218238056bc75e2d63100000a9842079a90413a0598238056bc75e2d6310000010001ca984800ba904a0aa00a08064a90402fc8200c354218235c702bd3a30fc0000be228238070c1cc73b00c80000bbb0f2f420c1008e1282300de0b6b3a76400005202a3f05812a984e020821b782dace9d9aa18be8e2820821b782dace9d9aa17be8e18821b782dace9d9aa17a182501425982cf597cd205cef73809171e2e30d01a7648238056bc75e2d631000002112130042821b782dace9d9aa18a18288195e54c5dd42177f53a27172fa9ec630262827aa2303fc822056bc75e2d631aa18be8e1c30822056bc75e2d631aa18a18261855144814a7ff805980ff0084000de21822056bc75e2d631aa17be8e2701822056bc75e2d631aa17a101824adf0ab5a80a22c61ab5a7008238056bc75e2d63100000a984de21822056bc75e2d631aa16bee30021823815af1d78b58c400000bee30021141516004c01822056bc75e2d631aa16a10182403f1fce3da636ea5cf8508238056bc75e2d63100000a984004c01823815af1d78b58c400000a101823927fa27722cc06cc5e28238056bc75e2d63100000a98402f482380ad78ebc5ac6200000be8e260182380ad78ebc5ac6200000a1018238280e60114edb805d038238056bc75e2d63100000a984de218238056bc75e2d63100000be8e26018238056bc75e2d63100000a10182380ebc5fb417461211108238056bc75e2d63100000a984de218232b5e3af16b1880000bee300211718004a018232b5e3af16b1880000a101823808f00f760a4b2db55d8238056bc75e2d63100000a98401ec82315af1d78b58c40000be8e250182315af1d78b58c40000a101823806f5f17757889379378238056bc75e2d63100000a984de218238056bc75e2d6310000021a0511382380ad78ebc5ac6200000a98466a0511382381043561a8829300000a98466a05113823815af1d78b58c400000a98466a051131901ea82381b1ae4d6e2ef500000a98466a0511382382086ac351052600000a98466a05113823825f273933db5700000a98466a05113822056bc75e2d631aa16a98466a05113823830ca024f987b900000a98466a0511382383635c9adc5dea00000a98466a0511382383ba1910bf341b00000a98466a0031a00428238410d586a20a4c00000a98412a08238056bc75e2d63100000a984018064a9840201661d1e020120202101c1b2e5fb51343480007e18fe90007e1935007e1a35007e1abe12b434cfc07e18b5007e1975007e19b5007e19f5007e1a7474481c007e910c006ebcb815485c007e910c006ebcb8157e0a321400f3c58073c58073c59c3e80b27e12405b5b5bc11c201f001bb1cb5c9c62ddc995b19585cd9620008c216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f04013101afb8d9ded44d0d20001f863fa4001f864d401f868d401f86af84ad0d33f01f862d401f865d401f866d401f867d401f869d1d15cc705f2d056217001fa443001baf2e055207001fa443001baf2e055f828f845f8471024102382200a9bb455ed44d0d20001f863fa4001f864d401f868d401f86af84ad0d33f01f862d401f865d401f866d401f867d401f869d1d1f8428d0418dbdb9cdd185b9d17dc1c9bd91d58dd20f843f844f848f846f845f847f849800f6c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f0470216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401310288ed44d0d20001f863fa4001f864d401f868d401f86af84ad0d33f01f862d401f865d401f866d401f867d401f869d1d1f8416f17f8416f1382107362d09cba923070e30ddc242501fefa00fa4020c7028e6a308208989680f8416f15f82ca0f8416f16a101b60970fb0270f8416f1153115154821019727ea8067082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa0214cb0012cb1fc912810082718018c8cb055004cf165004fa0212cb6accc901fb007fe0f8416f11f8416f1602d4302604f8f8416f17f8416f138210657b54f5ba8edef8416f13821063381632ba8ecefa40fa40d531fa00fa40fa00fa4030f828f845f84725544430c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f0470e03070e30ddcf8416f11f844c705e3002728292a010e4440138adb057f2f01e4216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f040131f8416f11c705f2e0528208989680f8416f15f82ca0f8416f16a101b60970fb0223c20091309132e2f82845502b01aefa40fa40fa40d31f31f404d531fa00fa00fa40fa00fa4030f828f845f84725544430c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f04702d022af8416f17f8416f13821058274069bae30f92db31e0393a025cf8416f17f8416f1382102993ade0ba923070e30ddcf8416f17f8416f1382102100c922ba923070e30ddc840ff2f04d4e01fec85003cf1601cf1601cf1670fa02c9f849016d6d6f047066216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f0401312c00725035a0500382100490f09bf8416f1401c8cb1fcb3f58fa0201cf16c94130810082778018c8cb055005cf165005fa0213cb6bccccc901fb007f01f8216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f040131f8416f11c705f2e0527f266e9f26d020d749c2209431d70b1f9130e2dff8416f128208f42400a001821069cf1a5bbaf8416f1622bcb02e03c88e9935373721c20091359130e2f8416f1658a105a01034598adb058f4537f8416f16078208989680a017a124c2008210042c1d80f8416f12aa00a012a125a1c101b0927034de8208989680f8416f15f82ca0f8416f16a101b60970fb0222c200e30fe27f2f303103f6eda2edfb22c200f2e05c706d6d6d54738628ed44ed45ed478aed67ed65ed64737fed118e315f0520d0d31f0101fa40fa40fa40d33f01318055247001fa443001ba247001fa443001bab0237001fa443001bab0f2e801ed41edf101f2ff2954483401ed44ed45ed478aed67ed65ed64747fed118aed41edf101f2ff32333400883034410570057082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa0213f400c912810082718018c8cb055004cf165004fa0212cb6accc901fb0000886c21410570057082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa0213f400c912810082718018c8cb055004cf165004fa0212cb6accc901fb0000d68208989680f8416f15f82ca0f8416f16a101b60970fb027021c3019132923101e2b60b5461105415407082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa0213cb00cb1fc912810082718018c8cb055004cf165004fa0212cb6accc901fb00db3100ce8208989680f8416f15f82ca0f8416f16a101b60970fb0220c30191319130e2b60b70542403147082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa02cb00cb1f7001c912810082718018c8cb055004cf165004fa0212cb6accc901fb0001fc22821069cf1a5bba973282106664de2a9102e2821019727ea82182106664de2abd22821037c096dfbdb0f2d801821009a8afbf5382c705f2d80182100a0dbdcbf843f2d8018210720f5b17257001fa443001baf2e80182100f5681d303f823bc13f2e80182108368a7112282106664de2abaf8416f12a7078208989680a03501f88209406f40a08208989680a08209406f40a08208f42400a082080f4240a08209312d00a08208989680a08208989680a08210042c1d80a05280b9b0f2d80182108368a71122821037c096dfbaf8416f12a7068208989680a08209406f40a08208989680a08208f42400a082080f4240a08208989680a082099bfcc0a03601d682080f4240a08209312d00a018b917b016f2d801f828f845f84728544830c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb0270663701de216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f040131103510341036487638008205f8416f1401c8cb1fcb3f5004cf1601f90103f90113bc95fa0270fa02970170fa0201fa02e2ccc98306778018c8cb055005cf165005fa0213cb6bccccc901fb0001fef8416f16f8416f12aa008208989680a08209312d00a08208989680a08209312d00a0bcf2e053d30f0101d30f0101fa40d5fa40fa40fa4001208b02c7059530f8416f11de207001fa443001baf2e05501d103d1207001fa443001ba227001fa443001bab0247001fa443001bab0237001fa443001bab0f2e05524c2ff25c1653b02fef8416f13821066d0dff2ba8eedf8416f16f8416f12a7038208989680a08209312d00a08208989680a08209312d00a0bcf2e053fa40fa40fa4001208b02c7059530f8416f11de207001fa443001baf2e05501d1217001fa443001ba237001fa443001bab0217001fa443001bab0f2e055f828f845f84710241035e0f8416f133e3f01cab0f2e05e25c2ff26c165b0f2e05ef828f845f84710241023c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb0270663c01d6216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f040131103645463d0072821075930d63f8416f1401c8cb1fcb3f14cb0f12cb0f01cf1601cf16c941308306778018c8cb055005cf165005fa0213cb6bccccc901fb007f019ac85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb0270664002f682102af4607cba8eedf8416f16f8416f12aa008208989680a08209312d00a08208989680a08209312d00a0bcf2e053fa40fa40fa4001208b02c7059530f8416f11de207001fa443001baf2e05501d1217001fa443001ba237001fa443001bab0217001fa443001bab0f2e055f828f845f84710241035e0f8416f13414201fc216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013103821029d22935f8416f1401c8cb1fcb3f01cf16c9413044019ac85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb0270664302f4821038a6022fba8e6030f8439170917fe2f863f84af848f843c8ca00f844cf16ccccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb0270f8448100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb007fe0f8416f13820b601fc8bae302f8416f13454601fc216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013103821062752512f8416f1401c8cb1fcb3f01cf16c941304400348306778018c8cb055005cf165005fa0213cb6bccccc901fb007f01c2f848d0d33f0101d33f0101fa40d4d1593202c000f2e05df8238208093a80a003d404413303c8cb3fcb3f58cf16ccc9f868d1f84af848f843c8ca00f844cf16ccccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb0270f8448100824702f482100b02fd5bba8eebf848d0d33f0101d33f0101fa40d4d1593003fa40d103c000f2e05d227001fa443001baf2e055f8238202a300a0550203c8cb3fcb3f58cf16ccc9f868f84af848f843c8ca00f844cf16ccccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb0270f844810082e030f8416f134748004e8210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb007f04fe821072d6b3b4bae302f8416f1382101f72111abae302f8416f1382104e6707b7ba8edbf848d0d33f0101d33f0101fa40d4d1595331a0c200f2e05d23c200f82325beb08e883301fb0470884003de21c200f82323beb09631f864708b02de03c8cb3fcb3f58cf16ccc9f868f84af848f843c8ca00f844cf16ccccc9ed547fe0494a4c4b00f8f848d0d33f0101d33f0101fa40d4d15930c200f2e05d708b0203c8cb3fcb3f58cf16ccc9f868f84af848f843c8ca00f844cf16ccccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb0270f8448100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb007f01faf848d0d33f0101d33f0101fa40d4d1593202c200f2e05d70885a03c8cb3fcb3f58cf16ccc9f868f84af848f843c8ca00f844cf16ccccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb0270f8448100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb007f4c0088f8416f13821029d22935ba8e35820898968070fb0270f8448100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb007fe070000001fafa40fa40d15cc705f2d056217001fa443001baf2e055207001fa443001baf2e055f828f845f84710241023c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb0270f8416f1151214f01eefa00fa40fa40d1f828546130c85003cf1601cf1601cf1670fa02c9f849016d6d6f0470216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f040131f8416f11c705f2e05282089896805000ea216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f04013182102993ade0f8416f1401c8cb1fcb3f01cf16c912810082718018c8cb055004cf165004fa0212cb6accc901fb007f00b2f8416f15f82ca0f8416f16a101b60970fb027052025414007082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa0212cb007001c912810082718018c8cb055004cf165004fa0212cb6accc901fb007f", + data: "b5ee9c720101080100d6000243400408fff62629a27c91c5080dbabae7e2ded4352d1a41eb5e1d8ed4f87f85fd74f8010201210000000000000000000000000000000020030410000000000005c44c040506070000084202467bca805a0c6a11aa141ee8ac994dad102fe1cdfd2e4a4c78b3077d2ff6d73a0842022aacac5554a8a49d6d1e6528e142b46b557034c3b79685369a815800b5a008d5084202c95a2ed22ab516f77f9d4898dc4578e72f18a2448e8f6832334b0b4bf501bc79084202e874ac89ab826bb4403e5e7bdb8b95df3698d2e7187fa366246e98ce329ea613", + account: "0:f0ca38239d35c954f8d78e2dce3ed52295c0a371e19540e2c6c2bf7fb112e322", + method: GetRouterData, + wantTypeHint: "GetRouterData_StonfiV2Result", + want: GetRouterData_StonfiV2Result{ + Id: 377932, + DexType: "constant_product", + IsLocked: false, + AdminAddress: mustToMsgAddress("0:408fff62629a27c91c5080dbabae7e2ded4352d1a41eb5e1d8ed4f87f85fd74f"), + TempUpgrade: tlb.Any(mustHexToCell("b5ee9c720101020100160001210000000000000000000000000000000020010000")), + PoolCode: tlb.Any(mustHexToCell("b5ee9c72010101010023000842022aacac5554a8a49d6d1e6528e142b46b557034c3b79685369a815800b5a008d5")), + JettonLpWalletCode: tlb.Any(mustHexToCell("b5ee9c7201010101002300084202467bca805a0c6a11aa141ee8ac994dad102fe1cdfd2e4a4c78b3077d2ff6d73a")), + LpAccountCode: tlb.Any(mustHexToCell("b5ee9c7201010101002300084202c95a2ed22ab516f77f9d4898dc4578e72f18a2448e8f6832334b0b4bf501bc79")), + VaultCode: tlb.Any(mustHexToCell("b5ee9c7201010101002300084202e874ac89ab826bb4403e5e7bdb8b95df3698d2e7187fa366246e98ce329ea613")), + }, + }, + { + name: "Ston-fi get_router_version v2", + code: "b5ee9c7201025101001aca000114ff00f4a413f4bcf2c80b0102016202030202c904050201201b1c01afdbb68bb7ec831c03cb418087434c0dc009c6c260c5fc0a00835c85677be903e900c7e800c5c75c87e800c7e800c1cea6d0000f4c7f4cfc412040dc415914110c4dbc27e187e105bc4373e105bc45c007e910c006ebcb81562302014806070145a610411806f05b59d3b200005cc708c11806f05b59d3b20000290154c2782651f18740080137a410411806f05b59d3b200005d4d98411812dca375e059b0b9f187401101fe702182b05803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880faa35be8e23308288195e54c5dd42177f53a27172fa9ec630262827aa23a904821b782dace9d9aa18de2182708bcc0026baae9e45e470190267a230cfaa18be8e1c0182501425982cf597cd205cef7380a90401821b782dace9d9aa17a0dea76401a7640901f2208261855144814a7ff805980ff0084000be8e2a8238056bc75e2d631000008261855144814a7ff805980ff0084000a98401822056bc75e2d631aa18a001de20824adf0ab5a80a22c61ab5a700be8e278238056bc75e2d63100000824adf0ab5a80a22c61ab5a700a98401822056bc75e2d631aa17a001de200a02f882403f1fce3da636ea5cf850be8e268238056bc75e2d6310000082403f1fce3da636ea5cf850a98401822056bc75e2d631aa16a001de20823927fa27722cc06cc5e2be8e268238056bc75e2d63100000823927fa27722cc06cc5e2a98401823815af1d78b58c400000a001de208238280e60114edb805d03bee300200b0c004c8238056bc75e2d631000008238280e60114edb805d03a9840182380ad78ebc5ac6200000a00102f482380ebc5fb41746121110be8e268238056bc75e2d6310000082380ebc5fb41746121110a984018238056bc75e2d63100000a001de20823808f00f760a4b2db55dbe8e258238056bc75e2d63100000823808f00f760a4b2db55da984018232b5e3af16b1880000a001de20823806f5f1775788937937bee300200d0e004a8238056bc75e2d63100000823806f5f1775788937937a9840182315af1d78b58c40000a00101ec823806248f33704b286603be8e258238056bc75e2d63100000823806248f33704b286603a984018230ad78ebc5ac620000a001de20823805c548670b9510e7acbe8e258238056bc75e2d63100000823805c548670b9510e7aca98401823056bc75e2d6310000a001de208238056bc75e2d63100000a10f01fe8238056bc75e2d631000005122a012a98453008238056bc75e2d63100000a9845c8238056bc75e2d63100000a9842073a90413a051218238056bc75e2d63100000a9842075a90413a051218238056bc75e2d63100000a9842077a90413a051218238056bc75e2d63100000a9842079a90413a0598238056bc75e2d6310000010001ca984800ba904a0aa00a08064a90402fc8200c354218235c702bd3a30fc0000be228238070c1cc73b00c80000bbb0f2f420c1008e1282300de0b6b3a76400005202a3f05812a984e020821b782dace9d9aa18be8e2820821b782dace9d9aa17be8e18821b782dace9d9aa17a182501425982cf597cd205cef73809171e2e30d01a7648238056bc75e2d631000002112130042821b782dace9d9aa18a18288195e54c5dd42177f53a27172fa9ec630262827aa2303fc822056bc75e2d631aa18be8e1c30822056bc75e2d631aa18a18261855144814a7ff805980ff0084000de21822056bc75e2d631aa17be8e2701822056bc75e2d631aa17a101824adf0ab5a80a22c61ab5a7008238056bc75e2d63100000a984de21822056bc75e2d631aa16bee30021823815af1d78b58c400000bee30021141516004c01822056bc75e2d631aa16a10182403f1fce3da636ea5cf8508238056bc75e2d63100000a984004c01823815af1d78b58c400000a101823927fa27722cc06cc5e28238056bc75e2d63100000a98402f482380ad78ebc5ac6200000be8e260182380ad78ebc5ac6200000a1018238280e60114edb805d038238056bc75e2d63100000a984de218238056bc75e2d63100000be8e26018238056bc75e2d63100000a10182380ebc5fb417461211108238056bc75e2d63100000a984de218232b5e3af16b1880000bee300211718004a018232b5e3af16b1880000a101823808f00f760a4b2db55d8238056bc75e2d63100000a98401ec82315af1d78b58c40000be8e250182315af1d78b58c40000a101823806f5f17757889379378238056bc75e2d63100000a984de218238056bc75e2d6310000021a0511382380ad78ebc5ac6200000a98466a0511382381043561a8829300000a98466a05113823815af1d78b58c400000a98466a051131901ea82381b1ae4d6e2ef500000a98466a0511382382086ac351052600000a98466a05113823825f273933db5700000a98466a05113822056bc75e2d631aa16a98466a05113823830ca024f987b900000a98466a0511382383635c9adc5dea00000a98466a0511382383ba1910bf341b00000a98466a0031a00428238410d586a20a4c00000a98412a08238056bc75e2d63100000a984018064a9840201661d1e020120202101c1b2e5fb51343480007e18fe90007e1935007e1a35007e1abe12b434cfc07e18b5007e1975007e19b5007e19f5007e1a7474481c007e910c006ebcb815485c007e910c006ebcb8157e0a321400f3c58073c58073c59c3e80b27e12405b5b5bc11c201f001bb1cb5c9c62ddc995b19585cd9620008c216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f04013101afb8d9ded44d0d20001f863fa4001f864d401f868d401f86af84ad0d33f01f862d401f865d401f866d401f867d401f869d1d15cc705f2d056217001fa443001baf2e055207001fa443001baf2e055f828f845f8471024102382200a9bb455ed44d0d20001f863fa4001f864d401f868d401f86af84ad0d33f01f862d401f865d401f866d401f867d401f869d1d1f8428d0418dbdb9cdd185b9d17dc1c9bd91d58dd20f843f844f848f846f845f847f849800f6c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f0470216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401310288ed44d0d20001f863fa4001f864d401f868d401f86af84ad0d33f01f862d401f865d401f866d401f867d401f869d1d1f8416f17f8416f1382107362d09cba923070e30ddc242501fefa00fa4020c7028e6a308208989680f8416f15f82ca0f8416f16a101b60970fb0270f8416f1153115154821019727ea8067082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa0214cb0012cb1fc912810082718018c8cb055004cf165004fa0212cb6accc901fb007fe0f8416f11f8416f1602d4302604f8f8416f17f8416f138210657b54f5ba8edef8416f13821063381632ba8ecefa40fa40d531fa00fa40fa00fa4030f828f845f84725544430c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f0470e03070e30ddcf8416f11f844c705e3002728292a010e4440138adb057f2f01e4216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f040131f8416f11c705f2e0528208989680f8416f15f82ca0f8416f16a101b60970fb0223c20091309132e2f82845502b01aefa40fa40fa40d31f31f404d531fa00fa00fa40fa00fa4030f828f845f84725544430c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f04702d022af8416f17f8416f13821058274069bae30f92db31e0393a025cf8416f17f8416f1382102993ade0ba923070e30ddcf8416f17f8416f1382102100c922ba923070e30ddc840ff2f04d4e01fec85003cf1601cf1601cf1670fa02c9f849016d6d6f047066216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f0401312c00725035a0500382100490f09bf8416f1401c8cb1fcb3f58fa0201cf16c94130810082778018c8cb055005cf165005fa0213cb6bccccc901fb007f01f8216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f040131f8416f11c705f2e0527f266e9f26d020d749c2209431d70b1f9130e2dff8416f128208f42400a001821069cf1a5bbaf8416f1622bcb02e03c88e9935373721c20091359130e2f8416f1658a105a01034598adb058f4537f8416f16078208989680a017a124c2008210042c1d80f8416f12aa00a012a125a1c101b0927034de8208989680f8416f15f82ca0f8416f16a101b60970fb0222c200e30fe27f2f303103f6eda2edfb22c200f2e05c706d6d6d54738628ed44ed45ed478aed67ed65ed64737fed118e315f0520d0d31f0101fa40fa40fa40d33f01318055247001fa443001ba247001fa443001bab0237001fa443001bab0f2e801ed41edf101f2ff2954483401ed44ed45ed478aed67ed65ed64747fed118aed41edf101f2ff32333400883034410570057082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa0213f400c912810082718018c8cb055004cf165004fa0212cb6accc901fb0000886c21410570057082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa0213f400c912810082718018c8cb055004cf165004fa0212cb6accc901fb0000d68208989680f8416f15f82ca0f8416f16a101b60970fb027021c3019132923101e2b60b5461105415407082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa0213cb00cb1fc912810082718018c8cb055004cf165004fa0212cb6accc901fb00db3100ce8208989680f8416f15f82ca0f8416f16a101b60970fb0220c30191319130e2b60b70542403147082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa02cb00cb1f7001c912810082718018c8cb055004cf165004fa0212cb6accc901fb0001fc22821069cf1a5bba973282106664de2a9102e2821019727ea82182106664de2abd22821037c096dfbdb0f2d801821009a8afbf5382c705f2d80182100a0dbdcbf843f2d8018210720f5b17257001fa443001baf2e80182100f5681d303f823bc13f2e80182108368a7112282106664de2abaf8416f12a7078208989680a03501f88209406f40a08208989680a08209406f40a08208f42400a082080f4240a08209312d00a08208989680a08208989680a08210042c1d80a05280b9b0f2d80182108368a71122821037c096dfbaf8416f12a7068208989680a08209406f40a08208989680a08208f42400a082080f4240a08208989680a082099bfcc0a03601d682080f4240a08209312d00a018b917b016f2d801f828f845f84728544830c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb0270663701de216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f040131103510341036487638008205f8416f1401c8cb1fcb3f5004cf1601f90103f90113bc95fa0270fa02970170fa0201fa02e2ccc98306778018c8cb055005cf165005fa0213cb6bccccc901fb0001fef8416f16f8416f12aa008208989680a08209312d00a08208989680a08209312d00a0bcf2e053d30f0101d30f0101fa40d5fa40fa40fa4001208b02c7059530f8416f11de207001fa443001baf2e05501d103d1207001fa443001ba227001fa443001bab0247001fa443001bab0237001fa443001bab0f2e05524c2ff25c1653b02fef8416f13821066d0dff2ba8eedf8416f16f8416f12a7038208989680a08209312d00a08208989680a08209312d00a0bcf2e053fa40fa40fa4001208b02c7059530f8416f11de207001fa443001baf2e05501d1217001fa443001ba237001fa443001bab0217001fa443001bab0f2e055f828f845f84710241035e0f8416f133e3f01cab0f2e05e25c2ff26c165b0f2e05ef828f845f84710241023c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb0270663c01d6216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f040131103645463d0072821075930d63f8416f1401c8cb1fcb3f14cb0f12cb0f01cf1601cf16c941308306778018c8cb055005cf165005fa0213cb6bccccc901fb007f019ac85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb0270664002f682102af4607cba8eedf8416f16f8416f12aa008208989680a08209312d00a08208989680a08209312d00a0bcf2e053fa40fa40fa4001208b02c7059530f8416f11de207001fa443001baf2e05501d1217001fa443001ba237001fa443001bab0217001fa443001bab0f2e055f828f845f84710241035e0f8416f13414201fc216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013103821029d22935f8416f1401c8cb1fcb3f01cf16c9413044019ac85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb0270664302f4821038a6022fba8e6030f8439170917fe2f863f84af848f843c8ca00f844cf16ccccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb0270f8448100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb007fe0f8416f13820b601fc8bae302f8416f13454601fc216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f0401016f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013103821062752512f8416f1401c8cb1fcb3f01cf16c941304400348306778018c8cb055005cf165005fa0213cb6bccccc901fb007f01c2f848d0d33f0101d33f0101fa40d4d1593202c000f2e05df8238208093a80a003d404413303c8cb3fcb3f58cf16ccc9f868d1f84af848f843c8ca00f844cf16ccccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb0270f8448100824702f482100b02fd5bba8eebf848d0d33f0101d33f0101fa40d4d1593003fa40d103c000f2e05d227001fa443001baf2e055f8238202a300a0550203c8cb3fcb3f58cf16ccc9f868f84af848f843c8ca00f844cf16ccccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb0270f844810082e030f8416f134748004e8210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb007f04fe821072d6b3b4bae302f8416f1382101f72111abae302f8416f1382104e6707b7ba8edbf848d0d33f0101d33f0101fa40d4d1595331a0c200f2e05d23c200f82325beb08e883301fb0470884003de21c200f82323beb09631f864708b02de03c8cb3fcb3f58cf16ccc9f868f84af848f843c8ca00f844cf16ccccc9ed547fe0494a4c4b00f8f848d0d33f0101d33f0101fa40d4d15930c200f2e05d708b0203c8cb3fcb3f58cf16ccc9f868f84af848f843c8ca00f844cf16ccccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb0270f8448100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb007f01faf848d0d33f0101d33f0101fa40d4d1593202c200f2e05d70885a03c8cb3fcb3f58cf16ccc9f868f84af848f843c8ca00f844cf16ccccc9ed548208989680f8416f15f82ca0f8416f16a101b60970fb0270f8448100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb007f4c0088f8416f13821029d22935ba8e35820898968070fb0270f8448100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb007fe070000001fafa40fa40d15cc705f2d056217001fa443001baf2e055207001fa443001baf2e055f828f845f84710241023c85005cf1623f90123f901bc975003cf1601cf169658cf1658cf16e2ccccc9c88b7000000002800150cf16ccc9f846016d6d6f048208989680f8416f15f82ca0f8416f16a101b60970fb0270f8416f1151214f01eefa00fa40fa40d1f828546130c85003cf1601cf1601cf1670fa02c9f849016d6d6f0470216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f040131f8416f11c705f2e05282089896805000ea216f24206e8e345b036f24216e8e12317020c8cb015240f4005230f400cb00c901de433052306f04013120f90074c8cb0214ca0713cbffc9d04013923434e25502236f04013182102993ade0f8416f1401c8cb1fcb3f01cf16c912810082718018c8cb055004cf165004fa0212cb6accc901fb007f00b2f8416f15f82ca0f8416f16a101b60970fb027052025414007082100f8a7ea5f8416f1401c8cb1fcb3f5004fa0258cf1601cf16cb0001fa0212cb007001c912810082718018c8cb055004cf165004fa0212cb6accc901fb007f", + data: "b5ee9c720101080100d6000243400408fff62629a27c91c5080dbabae7e2ded4352d1a41eb5e1d8ed4f87f85fd74f8010201210000000000000000000000000000000020030410000000000005c44c040506070000084202467bca805a0c6a11aa141ee8ac994dad102fe1cdfd2e4a4c78b3077d2ff6d73a0842022aacac5554a8a49d6d1e6528e142b46b557034c3b79685369a815800b5a008d5084202c95a2ed22ab516f77f9d4898dc4578e72f18a2448e8f6832334b0b4bf501bc79084202e874ac89ab826bb4403e5e7bdb8b95df3698d2e7187fa366246e98ce329ea613", + account: "0:f0ca38239d35c954f8d78e2dce3ed52295c0a371e19540e2c6c2bf7fb112e322", + method: GetRouterVersion, + wantTypeHint: "GetRouterVersion_StonfiV2Result", + want: GetRouterVersion_StonfiV2Result{ + Major: 2, + Minor: 1, + Development: "release", + }, + }, + { + name: "Ston-fi get_vault_data v2", + code: "b5ee9c7201021e0100088b000114ff00f4a413f4bcf2c80b0102016202030202c904050045a1e1a1da89a1f48003f0c5f48003f0c7f48003f0c9f40003f0cba3f085f087f089f08b01f5d8831c03cb418087434c0dc009c6c260c5fc0a00835c85677be903e900c7e800c5c75c87e800c7e800c1cea6d0000f4c7f4cfc412040dc415914110c4dbc27e187e105bc4373e105bc45c007e910c006ebcb8157b51343e90007e18be90007e18fe90007e193e80007e19747e105bc4e08401243c26eebe105bc4606020148090a02daf844c705b08ed4f8416f17f84501fa0059a0f865db3c82080f4240f8416f15f82ca0f8416f16a101b60970fb027001fa40308100828210d53276db59f8416f14708010c8cb055004cf165005fa0212cb6a12cb1f12cb3fc901fb00e0f8416f138210354bcdf4bae302840ff2f0080701ecf845c200f2e051f8416f15f8416f12a7058209312d00a08208989680a08208989680a08208989680a08210042c1d80a0bcf2e05370f844f845f843f84282102100c922f8416f1401c8cb1fcb3f5003fa0201cf1601cf16c98100a0718018c8cb055004cf165004fa0212cb6accc901fb0070f865db3c080028c8f842cf16f843cf16f844cf16f845fa02c9ed540145a610411806f05b59d3b200005cc708c11806f05b59d3b20000290154c2782651f187400b0137a410411806f05b59d3b200005d4d98411812dca375e059b0b9f187401401fe702182b05803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880faa35be8e23308288195e54c5dd42177f53a27172fa9ec630262827aa23a904821b782dace9d9aa18de2182708bcc0026baae9e45e470190267a230cfaa18be8e1c0182501425982cf597cd205cef7380a90401821b782dace9d9aa17a0dea76401a7640c01f2208261855144814a7ff805980ff0084000be8e2a8238056bc75e2d631000008261855144814a7ff805980ff0084000a98401822056bc75e2d631aa18a001de20824adf0ab5a80a22c61ab5a700be8e278238056bc75e2d63100000824adf0ab5a80a22c61ab5a700a98401822056bc75e2d631aa17a001de200d02f882403f1fce3da636ea5cf850be8e268238056bc75e2d6310000082403f1fce3da636ea5cf850a98401822056bc75e2d631aa16a001de20823927fa27722cc06cc5e2be8e268238056bc75e2d63100000823927fa27722cc06cc5e2a98401823815af1d78b58c400000a001de208238280e60114edb805d03bee300200e0f004c8238056bc75e2d631000008238280e60114edb805d03a9840182380ad78ebc5ac6200000a00102f482380ebc5fb41746121110be8e268238056bc75e2d6310000082380ebc5fb41746121110a984018238056bc75e2d63100000a001de20823808f00f760a4b2db55dbe8e258238056bc75e2d63100000823808f00f760a4b2db55da984018232b5e3af16b1880000a001de20823806f5f1775788937937bee300201011004a8238056bc75e2d63100000823806f5f1775788937937a9840182315af1d78b58c40000a00101ec823806248f33704b286603be8e258238056bc75e2d63100000823806248f33704b286603a984018230ad78ebc5ac620000a001de20823805c548670b9510e7acbe8e258238056bc75e2d63100000823805c548670b9510e7aca98401823056bc75e2d6310000a001de208238056bc75e2d63100000a11201fe8238056bc75e2d631000005122a012a98453008238056bc75e2d63100000a9845c8238056bc75e2d63100000a9842073a90413a051218238056bc75e2d63100000a9842075a90413a051218238056bc75e2d63100000a9842077a90413a051218238056bc75e2d63100000a9842079a90413a0598238056bc75e2d6310000013001ca984800ba904a0aa00a08064a90402fc8200c354218235c702bd3a30fc0000be228238070c1cc73b00c80000bbb0f2f420c1008e1282300de0b6b3a76400005202a3f05812a984e020821b782dace9d9aa18be8e2820821b782dace9d9aa17be8e18821b782dace9d9aa17a182501425982cf597cd205cef73809171e2e30d01a7648238056bc75e2d631000002115160042821b782dace9d9aa18a18288195e54c5dd42177f53a27172fa9ec630262827aa2303fc822056bc75e2d631aa18be8e1c30822056bc75e2d631aa18a18261855144814a7ff805980ff0084000de21822056bc75e2d631aa17be8e2701822056bc75e2d631aa17a101824adf0ab5a80a22c61ab5a7008238056bc75e2d63100000a984de21822056bc75e2d631aa16bee30021823815af1d78b58c400000bee30021171819004c01822056bc75e2d631aa16a10182403f1fce3da636ea5cf8508238056bc75e2d63100000a984004c01823815af1d78b58c400000a101823927fa27722cc06cc5e28238056bc75e2d63100000a98402f482380ad78ebc5ac6200000be8e260182380ad78ebc5ac6200000a1018238280e60114edb805d038238056bc75e2d63100000a984de218238056bc75e2d63100000be8e26018238056bc75e2d63100000a10182380ebc5fb417461211108238056bc75e2d63100000a984de218232b5e3af16b1880000bee300211a1b004a018232b5e3af16b1880000a101823808f00f760a4b2db55d8238056bc75e2d63100000a98401ec82315af1d78b58c40000be8e250182315af1d78b58c40000a101823806f5f17757889379378238056bc75e2d63100000a984de218238056bc75e2d6310000021a0511382380ad78ebc5ac6200000a98466a0511382381043561a8829300000a98466a05113823815af1d78b58c400000a98466a051131c01ea82381b1ae4d6e2ef500000a98466a0511382382086ac351052600000a98466a05113823825f273933db5700000a98466a05113822056bc75e2d631aa16a98466a05113823830ca024f987b900000a98466a0511382383635c9adc5dea00000a98466a0511382383ba1910bf341b00000a98466a0031d00428238410d586a20a4c00000a98412a08238056bc75e2d63100000a984018064a984", + data: "b5ee9c7201010101006a0000cf8012bd3391b8d4870a4dbe92c326dfea2413e60f45186f8d8f06219c28156f156cb001fcec449d63f219004642d85534018663b94193c928db56bb2b6813056c083d420058c8c2a838fae561edc4fc6196dd6de8ec15da06a84c8af966834f46e0bc077918b6339c", + account: "0:4db219222d38e2b275c2497ccc9f90e0b5b3916c278751f6aaf8aeec59da7144", + method: GetVaultData, + wantTypeHint: "GetVaultData_StonfiV2Result", + want: GetVaultData_StonfiV2Result{ + OwnerAddress: mustToMsgAddress("0:95e99c8dc6a438526df4961936ff51209f307a28c37c6c78310ce140ab78ab65"), + TokenAddress: mustToMsgAddress("0:7f3b112758fc86401190b6154d006198ee5064f24a36d5aecada04c15b020f50"), + RouterAddress: mustToMsgAddress("0:b191855071f5cac3db89f8c32dbadbd1d82bb40d509915f2cd069e8dc1780ef2"), + DepositedAmount: tlb.Int257FromInt64(1492595), + }, + }, } for _, tt := range tests { @@ -585,12 +653,16 @@ func TestGetMethods(t *testing.T) { } fmt.Printf("%v\n", addr.ToRaw()) + case GetRouterData_StonfiV2Result: + // skip this test because we need a library cell + return + } if !reflect.DeepEqual(tt.want, got) { - t.Fatalf("want: %v, got: %v", tt.want, got) + t.Fatalf("\nwant: %v\ngot: %v", tt.want, got) } if !reflect.DeepEqual(tt.wantTypeHint, typeHint) { - t.Fatalf("want: %v, got: %v", tt.wantTypeHint, typeHint) + t.Fatalf("\nwant: %v,\n got: %v", tt.wantTypeHint, typeHint) } }) } @@ -1876,6 +1948,248 @@ func TestMessageDecoder(t *testing.T) { }, interfaces: []ContractInterface{WalletV5R1}, }, + { + name: "TEP161 ton_transfer", + boc: "te6ccgEBAwEA0gABZAHzg10AAACOE17F00C+vCAIAF9GgRynmguHCCLGE+ta6NRzV4hInlYWEOQydoslAO9PAQHhN8CW34AfsqzMeUNuYScDsg9yWQ0T2vgQLFZ5vns2DBnqfBFHWBAAvo0COU80Fw4QRYwn1rXRqOavEJE8rCwhyGTtFkoB3p4AF9GgRynmguHCCLGE+ta6NRzV4hInlYWEOQydoslAO9OAAAAAM3onSMACAE1AX14QCABfRoEcp5oLhwgixhPrWujUc1eISJ5WFhDkMnaLJQDvTwQ=", + wantOpName: PtonTonTransferMsgOp, + wantValue: PtonTonTransferMsgBody{ + QueryId: 610210334163, + TonAmount: 200000000, + RefundAddress: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + ForwardPayload: tlb.EitherRef[tlb.Any]{ + IsRight: true, + Value: tlb.Any(mustHexToCell("b5ee9c7201010201009d0001e137c096df801fb2accc79436e612703b20f72590d13daf8102c5679be7b360c19ea7c1147581000be8d02394f34170e10458c27d6b5d1a8e6af10913cac2c21c864ed164a01de9e0017d1a04729e682e1c208b184fad6ba351cd5e21227958584390c9da2c9403bd380000000337a2748c001004d405f5e1008005f46811ca79a0b870822c613eb5ae8d4735788489e561610e432768b2500ef4f04")), + }, + }, + }, + { + name: "stonfi_cb_add_liquidity_v2", + boc: "te6ccgEBAgEApgABdwbs1ScAAAC7ExZY1UC+vCAEC+vCAIAF9GgRynmguHCCLGE+ta6NRzV4hInlYWEOQydoslAO9OgL68IACAEAyYAF9GgRynmguHCCLGE+ta6NRzV4hInlYWEOQydoslAO9PAAvo0COU80Fw4QRYwn1rXRqOavEJE8rCwhyGTtFkoB3p4AF9GgRynmguHCCLGE+ta6NRzV4hInlYWEOQydoslAO9PA", + wantOpName: StonfiCbAddLiquidityV2MsgOp, + wantValue: StonfiCbAddLiquidityV2MsgBody{ + QueryId: 803479115989, + TotAm0: mustToVarUInteger16("200000000"), + TotAm1: mustToVarUInteger16("200000000"), + UserAddress: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + MinLpOut: mustToVarUInteger16("100000000"), + FwdAmount: 0, + CustomPayloadCs: nil, + AdditionalFields: struct { + ToUserAddress tlb.MsgAddress + RefundAddress tlb.MsgAddress + ExcessAddress tlb.MsgAddress + }{ + ToUserAddress: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + RefundAddress: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + ExcessAddress: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + }, + }, + }, + { + name: "stonfi_provide_lp_v2", + boc: "te6ccgEBAwEA0wABZTfAlt8AAAC7ExZY1YAF9GgRynmguHCCLGE+ta6NRzV4hInlYWEOQydoslAO9OgX14QAEAEB4TfAlt+AHgq3eytWuIsh/KX/16s9DkbIaVNxTJZgck8ShbnjrA4QAL6NAjlPNBcOEEWMJ9a10ajmrxCRPKwsIchk7RZKAd6eABfRoEcp5oLhwgixhPrWujUc1eISJ5WFhDkMnaLJQDvTgAAAADN6J0jAAgBNQF9eEAgAX0aBHKeaC4cIIsYT61ro1HNXiEieVhYQ5DJ2iyUA708E", + wantOpName: StonfiProvideLpV2MsgOp, + wantValue: StonfiProvideLpV2MsgBody{ + QueryId: 803479115989, + FromUser: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + LeftAmount: mustToVarUInteger16("200000000"), + RightAmount: mustToVarUInteger16("0"), + DexPayload: struct { + TransferredOp uint32 + TokenWallet1 tlb.MsgAddress + RefundAddress tlb.MsgAddress + ExcessesAddress tlb.MsgAddress + TxDeadline uint64 + ProvideLpBody struct { + MinLpOut tlb.VarUInteger16 + ToAddress tlb.MsgAddress + BothPositive tlb.Uint1 + FwdAmount tlb.Grams + CustomPayload *tlb.Any `tlb:"maybe^"` + } `tlb:"^"` + }{ + TransferredOp: 935368415, + TokenWallet1: mustAccountIDToMsgAddress("0:f055bbd95ab5c4590fe52ffebd59e87236434a9b8a64b3039278942dcf1d6070"), + RefundAddress: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + ExcessesAddress: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + TxDeadline: 1727286929, + ProvideLpBody: struct { + MinLpOut tlb.VarUInteger16 + ToAddress tlb.MsgAddress + BothPositive tlb.Uint1 + FwdAmount tlb.Grams + CustomPayload *tlb.Any `tlb:"maybe^"` + }{ + MinLpOut: mustToVarUInteger16("100000000"), + ToAddress: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + BothPositive: 1, + FwdAmount: 0, + CustomPayload: nil, + }, + }, + }, + }, + { + name: "TEP161 deploy_wallet", + boc: "te6ccgEBAQEAUQAAnU9fQxN+59AkCu2oz4AeGUcEc6a5Kp8a8cW5x9qkUrgUbjwyqBxY2Ffv9iJcZFAAO9JsDEbOjnb8AZRyxNHiODjVeAvgR2n03T0utYgkpx4=", + wantOpName: PtonDeployWalletMsgOp, + wantValue: PtonDeployWalletMsgBody{ + QueryId: 9144506421619828943, + OwnerAddress: mustAccountIDToMsgAddress("0:f0ca38239d35c954f8d78e2dce3ed52295c0a371e19540e2c6c2bf7fb112e322"), + ExcessesAddress: mustAccountIDToMsgAddress("0:0ef49b0311b3a39dbf00651cb134788e0e355e02f811da7d374f4bad620929c7"), + }, + }, + { + name: "stonfi_add_liquidity_v2", + boc: "te6ccgEBAgEAgAABb1DGplQAAACOE17F0wQL68IAQF9eEADAAvo0COU80Fw4QRYwn1rXRqOavEJE8rCwhyGTtFkoB3p0AQCFgAX0aBHKeaC4cIIsYT61ro1HNXiEieVhYQ5DJ2iyUA708AC+jQI5TzQXDhBFjCfWtdGo5q8QkTysLCHIZO0WSgHeng==", + wantOpName: StonfiAddLiquidityV2MsgOp, + wantValue: StonfiAddLiquidityV2MsgBody{ + QueryId: 610210334163, + NewAmount0: mustToVarUInteger16("0"), + NewAmount1: mustToVarUInteger16("200000000"), + MinLpOut: mustToVarUInteger16("100000000"), + FwdAmount: 0, + BothPositive: 1, + ToUser: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + CustomPayloadCs: nil, + AdditionalFields: struct { + RefundAddress tlb.MsgAddress + ExcessAddress tlb.MsgAddress + }{ + RefundAddress: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + ExcessAddress: mustAccountIDToMsgAddress("0:2fa3408e53cd05c384116309f5ad746a39abc4244f2b0b0872193b45928077a7"), + }, + }, + }, + { + name: "TEP161 internal_deploy", + boc: "te6ccgEBAQEAMAAAW2VAz4V+59AkCu2oz4AB3pNgYjZ0c7fgDKOWJo8RwcarwF8CO0+m6el1rEElOPA=", + wantOpName: PtonInternalDeployMsgOp, + wantValue: PtonInternalDeployMsgBody{ + QueryId: 9144506421619828943, + ExcessesAddress: mustAccountIDToMsgAddress("0:0ef49b0311b3a39dbf00651cb134788e0e355e02f811da7d374f4bad620929c7"), + }, + }, + { + name: "stonfi_pay_to_v2", + boc: "te6ccgEBAgEAxQAB6WV7VPUAAAAfvKEUuoACMAriwEwZTAybK+CAZ6hkd01THecu/o8Cdn9/WoYqRJAARgFcWAmDKYGTZXwQDPUMjumqY7zl39HgTs/v61DFSJIACMAriwEwZTAybK+CAZ6hkd01THecu/o8Cdn9/WoYqRJjIbhyoAEAlQYLgeU1wb6ACCE9LQAhV6clBONRTgghToe9ixYtG87B2she6syjZbkBADwVbvZWrXEWQ/lL/69WehyNkNKm4pkswOSeJQtzx1gcIA==", + wantOpName: StonfiPayToV2MsgOp, + wantValue: StonfiPayToV2MsgBody{ + QueryId: 136308659386, + ToAddress: mustAccountIDToMsgAddress("0:118057160260ca6064d95f04033d4323ba6a98ef3977f47813b3fbfad4315224"), + ExcessesAddress: mustAccountIDToMsgAddress("0:118057160260ca6064d95f04033d4323ba6a98ef3977f47813b3fbfad4315224"), + OriginalCaller: mustAccountIDToMsgAddress("0:118057160260ca6064d95f04033d4323ba6a98ef3977f47813b3fbfad4315224"), + ExitCode: 3326308581, + CustomPayload: nil, + AdditionalInfo: struct { + FwdTonAmount tlb.Grams + Amount0Out tlb.VarUInteger16 + Token0Address tlb.MsgAddress + Amount1Out tlb.VarUInteger16 + Token1Address tlb.MsgAddress + }{ + FwdTonAmount: 0, + Amount0Out: mustToVarUInteger16("12652524192190"), + Token0Address: mustAccountIDToMsgAddress("0:4109e968010abd3928271a8a70410a743dec58b168de760ed642f756651b2dc8"), + Amount1Out: mustToVarUInteger16("0"), + Token1Address: mustAccountIDToMsgAddress("0:f055bbd95ab5c4590fe52ffebd59e87236434a9b8a64b3039278942dcf1d6070"), + }, + }, + }, + { + name: "stonfi_swap_v2", + boc: "te6ccgEBAwEA2AABZWZk3ioAAAAfvKEUuoACMAriwEwZTAybK+CAZ6hkd01THecu/o8Cdn9/WoYqRICAehIAEAEB4WZk3iqACCE9LQAhV6clBONRTgghToe9ixYtG87B2she6syjZbkQAEYBXFgJgymBk2V8EAz1DI7pqmO85d/R4E7P7+tQxUiSAAjAK4sBMGUwMmyvggGeoZHdNUx3nLv6PAnZ/f1qGKkSAAAAADN6IuVAAgBXYJUizcLtqAAjAK4sBMGUwMmyvggGeoZHdNUx3nLv6PAnZ/f1qGKkSAAABRA=", + wantOpName: StonfiSwapV2MsgOp, + wantValue: StonfiSwapV2MsgBody{ + QueryId: 136308659386, + FromUser: mustAccountIDToMsgAddress("0:118057160260ca6064d95f04033d4323ba6a98ef3977f47813b3fbfad4315224"), + LeftAmount: mustToVarUInteger16("0"), + RightAmount: mustToVarUInteger16("64000000"), + DexPayload: struct { + TransferredOp uint32 + TokenWallet1 tlb.MsgAddress + RefundAddress tlb.MsgAddress + ExcessesAddress tlb.MsgAddress + TxDeadline uint64 + SwapBody struct { + MinOut tlb.VarUInteger16 + Receiver tlb.MsgAddress + FwdGas tlb.Grams + CustomPayload *tlb.Any `tlb:"maybe^"` + RefundFwdGas tlb.Grams + RefundPayload *tlb.Any `tlb:"maybe^"` + RefFee uint16 + RefAddress tlb.MsgAddress + } `tlb:"^"` + }{ + TransferredOp: 1717886506, + TokenWallet1: mustAccountIDToMsgAddress("0:4109e968010abd3928271a8a70410a743dec58b168de760ed642f756651b2dc8"), + RefundAddress: mustAccountIDToMsgAddress("0:118057160260ca6064d95f04033d4323ba6a98ef3977f47813b3fbfad4315224"), + ExcessesAddress: mustAccountIDToMsgAddress("0:118057160260ca6064d95f04033d4323ba6a98ef3977f47813b3fbfad4315224"), + TxDeadline: 1727284682, + SwapBody: struct { + MinOut tlb.VarUInteger16 + Receiver tlb.MsgAddress + FwdGas tlb.Grams + CustomPayload *tlb.Any `tlb:"maybe^"` + RefundFwdGas tlb.Grams + RefundPayload *tlb.Any `tlb:"maybe^"` + RefFee uint16 + RefAddress tlb.MsgAddress + }{ + MinOut: mustToVarUInteger16("10248544595674"), + Receiver: mustAccountIDToMsgAddress("0:118057160260ca6064d95f04033d4323ba6a98ef3977f47813b3fbfad4315224"), + FwdGas: 0, + CustomPayload: nil, + RefundFwdGas: 0, + RefundPayload: nil, + RefFee: 10, + RefAddress: tlb.MsgAddress{SumType: "AddrNone"}, + }, + }, + }, + }, + { + name: "stonfi pay_vault", + boc: "te6ccgEBAgEAmwABnWM4FjIAAAB+UqHPP4ASvTORuNSHCk2+ksMm3+okE+YPRRhvjY8GIZwoFW8VbLAAQnxLqlX2B6w4jQzzzPWA8eyWZVZBz6Y0D/8noARLOaIBAI0wH7roAP52Ik6x+QyAIyFsKpoAwzHcoMnklG2rXZW0CYK2BB6gEALJ8diHXvHH4rBm9xzW3rW0tVULFKTSNjHBHOdukepD5g==", + wantOpName: StonfiPayVaultV2MsgOp, + wantValue: StonfiPayVaultV2MsgBody{ + QueryId: 542552215359, + Owner: mustAccountIDToMsgAddress("0:95e99c8dc6a438526df4961936ff51209f307a28c37c6c78310ce140ab78ab65"), + ExcessesAddress: mustAccountIDToMsgAddress("0:109f12ea957d81eb0e23433cf33d603c7b2599559073e98d03ffc9e80112ce68"), + AdditionalInfo: struct { + Amount0Out tlb.VarUInteger16 + Token0Address tlb.MsgAddress + Amount1Out tlb.VarUInteger16 + Token1Address tlb.MsgAddress + }{ + Amount0Out: mustToVarUInteger16("129966"), + Token0Address: mustAccountIDToMsgAddress("0:7f3b112758fc86401190b6154d006198ee5064f24a36d5aecada04c15b020f50"), + Amount1Out: mustToVarUInteger16("0"), + Token1Address: mustAccountIDToMsgAddress("0:b27c7621d7bc71f8ac19bdc735b7ad6d2d5542c529348d8c704739dba47a90f9"), + }, + }, + }, + { + name: "stonfi deposit_ref_fee", + boc: "te6ccgEBAQEAMgAAXwSQ8JsAAADRw6YlfiEXWAE9k7PyHezqFIDgq+r9CmoSdXXpSysbWiPoZRdQO7qT8Q==", + wantOpName: StonfiDepositRefFeeV2MsgOp, + wantValue: StonfiDepositRefFeeV2MsgBody{ + QueryId: 900930610558, + JettonAmount: mustToVarUInteger16("4469"), + ExcessesAddress: mustAccountIDToMsgAddress("0:9ec9d9f90ef6750a407055f57e8535093abaf4a5958dad11f4328ba81ddd49f8"), + }, + }, + { + name: "stonfi burn_notification_ext_v2", + boc: "te6ccgEBAQEANQAAZSl0N88AAACoswl8JEAj780oAGKJHiZPzQM9b6pEIdNkXeULO3OkZ79wBfXx2lBjtQj+IA==", + wantOpName: StonfiBurnNotificationExtV2MsgOp, + wantValue: StonfiBurnNotificationExtV2MsgBody{ + QueryId: 724558248996, + JettonAmount: mustToVarUInteger16("37682386"), + FromAddress: mustAccountIDToMsgAddress("0:31448f1327e6819eb7d52210e9b22ef2859db9d233dfb802faf8ed2831da847f"), + }, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/abi/get_methods.go b/abi/get_methods.go index d6b0aeac..039c7d23 100644 --- a/abi/get_methods.go +++ b/abi/get_methods.go @@ -41,6 +41,8 @@ var KnownGetMethodsDecoder = map[string][]func(tlb.VmStack) (string, any, error) "get_locker_bill_data": {DecodeGetLockerBillDataResult}, "get_locker_data": {DecodeGetLockerDataResult}, "get_lockup_data": {DecodeGetLockupDataResult}, + "get_lp_account_address": {DecodeGetLpAccountAddress_StonfiResult}, + "get_lp_account_data": {DecodeGetLpAccountData_StonfiResult}, "get_lp_data": {DecodeGetLpData_MegatonResult}, "get_lp_mining_data": {DecodeGetLpMiningData_MegatonResult}, "get_lp_minter_address": {DecodeGetLpMinterAddress_StormResult}, @@ -61,7 +63,7 @@ var KnownGetMethodsDecoder = map[string][]func(tlb.VmStack) (string, any, error) "get_params": {DecodeGetParams_WhalesNominatorResult}, "get_plugin_list": {DecodeGetPluginListResult}, "get_pool_address": {DecodeGetPoolAddress_StonfiResult}, - "get_pool_data": {DecodeGetPoolData_StonfiResult, DecodeGetPoolData_TfResult}, + "get_pool_data": {DecodeGetPoolData_StonfiResult, DecodeGetPoolData_StonfiV2Result, DecodeGetPoolData_TfResult}, "get_pool_full_data": {DecodeGetPoolFullDataResult}, "get_pool_status": {DecodeGetPoolStatusResult}, "get_position_manager_contract_data": {DecodeGetPositionManagerContractData_StormResult}, @@ -72,7 +74,8 @@ var KnownGetMethodsDecoder = map[string][]func(tlb.VmStack) (string, any, error) "get_referral_vaults_whitelist": {DecodeGetReferralVaultsWhitelist_StormResult}, "get_reserves": {DecodeGetReserves_DedustResult}, "get_revoked_time": {DecodeGetRevokedTimeResult}, - "get_router_data": {DecodeGetRouterData_StonfiResult}, + "get_router_data": {DecodeGetRouterData_StonfiResult, DecodeGetRouterData_StonfiV2Result}, + "get_router_version": {DecodeGetRouterVersion_StonfiV2Result}, "get_sale_data": {DecodeGetSaleData_BasicResult, DecodeGetSaleData_GetgemsResult, DecodeGetSaleData_GetgemsAuctionResult}, "get_spot_price": {DecodeGetSpotPrice_StormResult}, "get_staking_status": {DecodeGetStakingStatusResult}, @@ -94,7 +97,7 @@ var KnownGetMethodsDecoder = map[string][]func(tlb.VmStack) (string, any, error) "get_vamm_type": {DecodeGetVammType_StormResult}, "get_vault_address": {DecodeGetVaultAddress_DedustResult}, "get_vault_contract_data": {DecodeGetVaultContractData_StormResult}, - "get_vault_data": {DecodeGetVaultData_StormResult}, + "get_vault_data": {DecodeGetVaultData_StonfiV2Result, DecodeGetVaultData_StormResult}, "get_vault_type": {DecodeGetVaultType_StormResult}, "get_vault_whitelisted_addresses": {DecodeGetVaultWhitelistedAddresses_StormResult}, "get_wallet_address": {DecodeGetWalletAddressResult}, @@ -124,6 +127,7 @@ var KnownSimpleGetMethods = map[int][]func(ctx context.Context, executor Executo 75709: {GetExecutorVaultsWhitelist}, 78683: {GetNextAdminAddress}, 78748: {GetPublicKey}, + 79661: {GetRouterVersion}, 80035: {GetLpData}, 80697: {GetAuctionInfo}, 80822: {GetLastCleanTime}, @@ -183,6 +187,7 @@ var KnownSimpleGetMethods = map[int][]func(ctx context.Context, executor Executo 119995: {GetPositionManagerContractData}, 120146: {GetPoolStatus}, 122058: {IsActive}, + 122166: {GetLpAccountData}, 122284: {IsClaimed}, 122496: {GetAmmName}, 122498: {GetTelemintAuctionState}, @@ -230,6 +235,8 @@ var resultTypes = []interface{}{ &GetLockerBillDataResult{}, &GetLockerDataResult{}, &GetLockupDataResult{}, + &GetLpAccountAddress_StonfiResult{}, + &GetLpAccountData_StonfiResult{}, &GetLpData_MegatonResult{}, &GetLpMiningData_MegatonResult{}, &GetLpMinterAddress_StormResult{}, @@ -251,6 +258,7 @@ var resultTypes = []interface{}{ &GetPluginListResult{}, &GetPoolAddress_StonfiResult{}, &GetPoolData_StonfiResult{}, + &GetPoolData_StonfiV2Result{}, &GetPoolData_TfResult{}, &GetPoolFullDataResult{}, &GetPoolStatusResult{}, @@ -263,6 +271,8 @@ var resultTypes = []interface{}{ &GetReserves_DedustResult{}, &GetRevokedTimeResult{}, &GetRouterData_StonfiResult{}, + &GetRouterData_StonfiV2Result{}, + &GetRouterVersion_StonfiV2Result{}, &GetSaleData_BasicResult{}, &GetSaleData_GetgemsAuctionResult{}, &GetSaleData_GetgemsResult{}, @@ -286,6 +296,7 @@ var resultTypes = []interface{}{ &GetVammType_StormResult{}, &GetVaultAddress_DedustResult{}, &GetVaultContractData_StormResult{}, + &GetVaultData_StonfiV2Result{}, &GetVaultData_StormResult{}, &GetVaultType_StormResult{}, &GetVaultWhitelistedAddresses_StormResult{}, @@ -1467,6 +1478,84 @@ func DecodeGetLockupDataResult(stack tlb.VmStack) (resultType string, resultAny return "GetLockupDataResult", result, err } +type GetLpAccountAddress_StonfiResult struct { + LpAccountAddress tlb.MsgAddress +} + +func GetLpAccountAddress(ctx context.Context, executor Executor, reqAccountID ton.AccountID, ownerAddress tlb.MsgAddress) (string, any, error) { + stack := tlb.VmStack{} + var ( + val tlb.VmStackValue + err error + ) + val, err = tlb.TlbStructToVmCellSlice(ownerAddress) + if err != nil { + return "", nil, err + } + stack.Put(val) + + // MethodID = 87316 for "get_lp_account_address" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 87316, stack) + if err != nil { + return "", nil, err + } + if errCode != 0 && errCode != 1 { + return "", nil, fmt.Errorf("method execution failed with code: %v", errCode) + } + for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetLpAccountAddress_StonfiResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeGetLpAccountAddress_StonfiResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 1 || (stack[0].SumType != "VmStkSlice") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetLpAccountAddress_StonfiResult + err = stack.Unmarshal(&result) + return "GetLpAccountAddress_StonfiResult", result, err +} + +type GetLpAccountData_StonfiResult struct { + UserAddress tlb.MsgAddress + PoolAddress tlb.MsgAddress + Amount0 tlb.Int257 + Amount1 tlb.Int257 +} + +func GetLpAccountData(ctx context.Context, executor Executor, reqAccountID ton.AccountID) (string, any, error) { + stack := tlb.VmStack{} + + // MethodID = 122166 for "get_lp_account_data" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 122166, stack) + if err != nil { + return "", nil, err + } + if errCode != 0 && errCode != 1 { + return "", nil, fmt.Errorf("method execution failed with code: %v", errCode) + } + for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetLpAccountData_StonfiResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeGetLpAccountData_StonfiResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 4 || (stack[0].SumType != "VmStkSlice") || (stack[1].SumType != "VmStkSlice") || (stack[2].SumType != "VmStkTinyInt" && stack[2].SumType != "VmStkInt") || (stack[3].SumType != "VmStkTinyInt" && stack[3].SumType != "VmStkInt") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetLpAccountData_StonfiResult + err = stack.Unmarshal(&result) + return "GetLpAccountData_StonfiResult", result, err +} + type GetLpData_MegatonResult struct { PoolCount uint64 JettonPairToLp tlb.Any @@ -2247,6 +2336,21 @@ type GetPoolData_StonfiResult struct { CollectedToken1ProtocolFee tlb.Int257 } +type GetPoolData_StonfiV2Result struct { + IsLocked bool + RouterAddress tlb.MsgAddress + TotalSupply tlb.Int257 + Reserve0 tlb.Int257 + Reserve1 tlb.Int257 + Token0WalletAddress tlb.MsgAddress + Token1WalletAddress tlb.MsgAddress + LpFee uint16 + ProtocolFee uint16 + ProtocolFeeAddress tlb.MsgAddress + CollectedToken0ProtocolFee tlb.Int257 + CollectedToken1ProtocolFee tlb.Int257 +} + type GetPoolData_TfResult struct { State int8 NominatorsCount uint32 @@ -2279,7 +2383,7 @@ func GetPoolData(ctx context.Context, executor Executor, reqAccountID ton.Accoun if errCode != 0 && errCode != 1 { return "", nil, fmt.Errorf("method execution failed with code: %v", errCode) } - for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetPoolData_StonfiResult, DecodeGetPoolData_TfResult} { + for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetPoolData_StonfiResult, DecodeGetPoolData_StonfiV2Result, DecodeGetPoolData_TfResult} { s, r, err := f(stack) if err == nil { return s, r, nil @@ -2297,6 +2401,15 @@ func DecodeGetPoolData_StonfiResult(stack tlb.VmStack) (resultType string, resul return "GetPoolData_StonfiResult", result, err } +func DecodeGetPoolData_StonfiV2Result(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 12 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") || (stack[1].SumType != "VmStkSlice") || (stack[2].SumType != "VmStkTinyInt" && stack[2].SumType != "VmStkInt") || (stack[3].SumType != "VmStkTinyInt" && stack[3].SumType != "VmStkInt") || (stack[4].SumType != "VmStkTinyInt" && stack[4].SumType != "VmStkInt") || (stack[5].SumType != "VmStkSlice") || (stack[6].SumType != "VmStkSlice") || (stack[7].SumType != "VmStkTinyInt" && stack[7].SumType != "VmStkInt") || (stack[8].SumType != "VmStkTinyInt" && stack[8].SumType != "VmStkInt") || (stack[9].SumType != "VmStkSlice") || (stack[10].SumType != "VmStkTinyInt" && stack[10].SumType != "VmStkInt") || (stack[11].SumType != "VmStkTinyInt" && stack[11].SumType != "VmStkInt") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetPoolData_StonfiV2Result + err = stack.Unmarshal(&result) + return "GetPoolData_StonfiV2Result", result, err +} + func DecodeGetPoolData_TfResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { if len(stack) < 17 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") || (stack[1].SumType != "VmStkTinyInt" && stack[1].SumType != "VmStkInt") || (stack[2].SumType != "VmStkTinyInt" && stack[2].SumType != "VmStkInt") || (stack[3].SumType != "VmStkTinyInt" && stack[3].SumType != "VmStkInt") || (stack[4].SumType != "VmStkTinyInt" && stack[4].SumType != "VmStkInt") || (stack[5].SumType != "VmStkTinyInt" && stack[5].SumType != "VmStkInt") || (stack[6].SumType != "VmStkTinyInt" && stack[6].SumType != "VmStkInt") || (stack[7].SumType != "VmStkTinyInt" && stack[7].SumType != "VmStkInt") || (stack[8].SumType != "VmStkTinyInt" && stack[8].SumType != "VmStkInt") || (stack[9].SumType != "VmStkCell") || (stack[10].SumType != "VmStkCell" && stack[10].SumType != "VmStkNull") || (stack[11].SumType != "VmStkTinyInt" && stack[11].SumType != "VmStkInt") || (stack[12].SumType != "VmStkTinyInt" && stack[12].SumType != "VmStkInt") || (stack[13].SumType != "VmStkTinyInt" && stack[13].SumType != "VmStkInt") || (stack[14].SumType != "VmStkTinyInt" && stack[14].SumType != "VmStkInt") || (stack[15].SumType != "VmStkTinyInt" && stack[15].SumType != "VmStkInt") || (stack[16].SumType != "VmStkTuple" && stack[16].SumType != "VmStkNull") { return "", nil, fmt.Errorf("invalid stack format") @@ -2703,6 +2816,18 @@ type GetRouterData_StonfiResult struct { LpAccountCode tlb.Any } +type GetRouterData_StonfiV2Result struct { + Id uint32 + DexType string + IsLocked bool + AdminAddress tlb.MsgAddress + TempUpgrade tlb.Any + PoolCode tlb.Any + JettonLpWalletCode tlb.Any + LpAccountCode tlb.Any + VaultCode tlb.Any +} + func GetRouterData(ctx context.Context, executor Executor, reqAccountID ton.AccountID) (string, any, error) { stack := tlb.VmStack{} @@ -2714,7 +2839,7 @@ func GetRouterData(ctx context.Context, executor Executor, reqAccountID ton.Acco if errCode != 0 && errCode != 1 { return "", nil, fmt.Errorf("method execution failed with code: %v", errCode) } - for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetRouterData_StonfiResult} { + for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetRouterData_StonfiResult, DecodeGetRouterData_StonfiV2Result} { s, r, err := f(stack) if err == nil { return s, r, nil @@ -2732,6 +2857,50 @@ func DecodeGetRouterData_StonfiResult(stack tlb.VmStack) (resultType string, res return "GetRouterData_StonfiResult", result, err } +func DecodeGetRouterData_StonfiV2Result(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 9 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") || (stack[1].SumType != "VmStkSlice") || (stack[2].SumType != "VmStkTinyInt" && stack[2].SumType != "VmStkInt") || (stack[3].SumType != "VmStkSlice") || (stack[4].SumType != "VmStkCell") || (stack[5].SumType != "VmStkCell") || (stack[6].SumType != "VmStkCell") || (stack[7].SumType != "VmStkCell") || (stack[8].SumType != "VmStkCell") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetRouterData_StonfiV2Result + err = stack.Unmarshal(&result) + return "GetRouterData_StonfiV2Result", result, err +} + +type GetRouterVersion_StonfiV2Result struct { + Major uint32 + Minor uint32 + Development string +} + +func GetRouterVersion(ctx context.Context, executor Executor, reqAccountID ton.AccountID) (string, any, error) { + stack := tlb.VmStack{} + + // MethodID = 79661 for "get_router_version" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 79661, stack) + if err != nil { + return "", nil, err + } + if errCode != 0 && errCode != 1 { + return "", nil, fmt.Errorf("method execution failed with code: %v", errCode) + } + for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetRouterVersion_StonfiV2Result} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeGetRouterVersion_StonfiV2Result(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 3 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") || (stack[1].SumType != "VmStkTinyInt" && stack[1].SumType != "VmStkInt") || (stack[2].SumType != "VmStkSlice") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetRouterVersion_StonfiV2Result + err = stack.Unmarshal(&result) + return "GetRouterVersion_StonfiV2Result", result, err +} + type GetSaleData_BasicResult struct { Marketplace tlb.MsgAddress Nft tlb.MsgAddress @@ -3571,6 +3740,13 @@ func DecodeGetVaultContractData_StormResult(stack tlb.VmStack) (resultType strin return "GetVaultContractData_StormResult", result, err } +type GetVaultData_StonfiV2Result struct { + OwnerAddress tlb.MsgAddress + TokenAddress tlb.MsgAddress + RouterAddress tlb.MsgAddress + DepositedAmount tlb.Int257 +} + type GetVaultData_StormResult struct { JettonWallet tlb.MsgAddress Rate uint64 @@ -3592,7 +3768,7 @@ func GetVaultData(ctx context.Context, executor Executor, reqAccountID ton.Accou if errCode != 0 && errCode != 1 { return "", nil, fmt.Errorf("method execution failed with code: %v", errCode) } - for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetVaultData_StormResult} { + for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetVaultData_StonfiV2Result, DecodeGetVaultData_StormResult} { s, r, err := f(stack) if err == nil { return s, r, nil @@ -3601,6 +3777,15 @@ func GetVaultData(ctx context.Context, executor Executor, reqAccountID ton.Accou return "", nil, fmt.Errorf("can not decode outputs") } +func DecodeGetVaultData_StonfiV2Result(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 4 || (stack[0].SumType != "VmStkSlice") || (stack[1].SumType != "VmStkSlice") || (stack[2].SumType != "VmStkSlice") || (stack[3].SumType != "VmStkTinyInt" && stack[3].SumType != "VmStkInt") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetVaultData_StonfiV2Result + err = stack.Unmarshal(&result) + return "GetVaultData_StonfiV2Result", result, err +} + func DecodeGetVaultData_StormResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { if len(stack) != 7 || (stack[0].SumType != "VmStkSlice") || (stack[1].SumType != "VmStkTinyInt" && stack[1].SumType != "VmStkInt") || (stack[2].SumType != "VmStkTinyInt" && stack[2].SumType != "VmStkInt") || (stack[3].SumType != "VmStkTinyInt" && stack[3].SumType != "VmStkInt") || (stack[4].SumType != "VmStkTinyInt" && stack[4].SumType != "VmStkInt") || (stack[5].SumType != "VmStkTinyInt" && stack[5].SumType != "VmStkInt") || (stack[6].SumType != "VmStkTinyInt" && stack[6].SumType != "VmStkInt") { return "", nil, fmt.Errorf("invalid stack format") diff --git a/abi/interfaces.go b/abi/interfaces.go index 88a991fd..a6ed9b15 100644 --- a/abi/interfaces.go +++ b/abi/interfaces.go @@ -40,8 +40,12 @@ const ( NftSaleV2 PaymentChannel Sbt + StonfiLpAccountV2 StonfiPool + StonfiPoolV2 StonfiRouter + StonfiRouterV2 + StonfiVaultV2 StorageContract StorageProvider StormExecutor @@ -144,10 +148,18 @@ func (c ContractInterface) String() string { return "payment_channel" case Sbt: return "sbt" + case StonfiLpAccountV2: + return "stonfi_lp_account_v2" case StonfiPool: return "stonfi_pool" + case StonfiPoolV2: + return "stonfi_pool_v2" case StonfiRouter: return "stonfi_router" + case StonfiRouterV2: + return "stonfi_router_v2" + case StonfiVaultV2: + return "stonfi_vault_v2" case StorageContract: return "storage_contract" case StorageProvider: @@ -287,10 +299,18 @@ func ContractInterfaceFromString(s string) ContractInterface { return PaymentChannel case "sbt": return Sbt + case "stonfi_lp_account_v2": + return StonfiLpAccountV2 case "stonfi_pool": return StonfiPool + case "stonfi_pool_v2": + return StonfiPoolV2 case "stonfi_router": return StonfiRouter + case "stonfi_router_v2": + return StonfiRouterV2 + case "stonfi_vault_v2": + return StonfiVaultV2 case "storage_contract": return StorageContract case "storage_provider": @@ -465,6 +485,10 @@ var methodInvocationOrder = []MethodDescription{ Name: "get_lockup_data", InvokeFn: GetLockupData, }, + { + Name: "get_lp_account_data", + InvokeFn: GetLpAccountData, + }, { Name: "get_lp_data", InvokeFn: GetLpData, @@ -573,6 +597,10 @@ var methodInvocationOrder = []MethodDescription{ Name: "get_router_data", InvokeFn: GetRouterData, }, + { + Name: "get_router_version", + InvokeFn: GetRouterVersion, + }, { Name: "get_sale_data", InvokeFn: GetSaleData, @@ -843,12 +871,37 @@ var contractInterfacesOrder = []InterfaceDescription{ "GetPoolData_StonfiResult", }, }, + { + Name: StonfiPoolV2, + Results: []string{ + "GetPoolData_StonfiV2Result", + }, + }, { Name: StonfiRouter, Results: []string{ "GetRouterData_StonfiResult", }, }, + { + Name: StonfiRouterV2, + Results: []string{ + "GetRouterData_StonfiV2Result", + "GetRouterVersion_StonfiV2Result", + }, + }, + { + Name: StonfiLpAccountV2, + Results: []string{ + "GetLpAccountData_StonfiResult", + }, + }, + { + Name: StonfiVaultV2, + Results: []string{ + "GetVaultData_StonfiV2Result", + }, + }, { Name: StorageProvider, Results: []string{ @@ -1259,6 +1312,32 @@ func (c ContractInterface) IntMsgs() []msgDecoderFunc { decodeFuncNftTransferMsgBody, decodeFuncGetStaticDataMsgBody, } + case StonfiLpAccountV2: + return []msgDecoderFunc{ + decodeFuncStonfiAddLiquidityV2MsgBody, + decodeFuncPtonResetGasMsgBody, + } + case StonfiPoolV2: + return []msgDecoderFunc{ + decodeFuncStonfiBurnNotificationExtV2MsgBody, + decodeFuncStonfiSwapV2MsgBody, + decodeFuncStonfiProvideLpV2MsgBody, + decodeFuncPtonResetGasMsgBody, + decodeFuncStonfiCbAddLiquidityV2MsgBody, + } + case StonfiRouterV2: + return []msgDecoderFunc{ + decodeFuncJettonNotifyMsgBody, + decodeFuncPtonResetGasMsgBody, + decodeFuncStonfiPayToV2MsgBody, + decodeFuncStonfiPayVaultV2MsgBody, + decodeFuncStonfiVaultPayToV2MsgBody, + } + case StonfiVaultV2: + return []msgDecoderFunc{ + decodeFuncStonfiWithdrawFeeV2MsgBody, + decodeFuncStonfiDepositRefFeeV2MsgBody, + } case StormExecutor: return []msgDecoderFunc{ decodeFuncStormMintExecutorMsgBody, diff --git a/abi/jetton_msg_types.go b/abi/jetton_msg_types.go index 4f8e46f4..c68fce3d 100644 --- a/abi/jetton_msg_types.go +++ b/abi/jetton_msg_types.go @@ -62,6 +62,17 @@ func decodeTegroAddLiquidityJettonOpJetton(j *JettonPayload, c *boc.Cell) error return err } +func decodeStonfiProvideLpV2JettonOpJetton(j *JettonPayload, c *boc.Cell) error { + var res StonfiProvideLpV2JettonPayload + err := tlb.Unmarshal(c, &res) + if err == nil { + j.SumType = StonfiProvideLpV2JettonOp + j.Value = res + return nil + } + return err +} + func decodeDedustDepositLiquidityJettonOpJetton(j *JettonPayload, c *boc.Cell) error { var res DedustDepositLiquidityJettonPayload err := tlb.Unmarshal(c, &res) @@ -84,6 +95,17 @@ func decodeStonfiSwapOkRefJettonOpJetton(j *JettonPayload, c *boc.Cell) error { return err } +func decodeStonfiSwapV2JettonOpJetton(j *JettonPayload, c *boc.Cell) error { + var res StonfiSwapV2JettonPayload + err := tlb.Unmarshal(c, &res) + if err == nil { + j.SumType = StonfiSwapV2JettonOp + j.Value = res + return nil + } + return err +} + func decodeTonkeeperRelayerFeeJettonOpJetton(j *JettonPayload, c *boc.Cell) error { var res TonkeeperRelayerFeeJettonPayload err := tlb.Unmarshal(c, &res) @@ -134,8 +156,10 @@ const ( EncryptedTextCommentJettonOp JettonOpName = "EncryptedTextComment" StonfiSwapJettonOp JettonOpName = "StonfiSwap" TegroAddLiquidityJettonOp JettonOpName = "TegroAddLiquidity" + StonfiProvideLpV2JettonOp JettonOpName = "StonfiProvideLpV2" DedustDepositLiquidityJettonOp JettonOpName = "DedustDepositLiquidity" StonfiSwapOkRefJettonOp JettonOpName = "StonfiSwapOkRef" + StonfiSwapV2JettonOp JettonOpName = "StonfiSwapV2" TonkeeperRelayerFeeJettonOp JettonOpName = "TonkeeperRelayerFee" StonfiSwapOkJettonOp JettonOpName = "StonfiSwapOk" DedustSwapJettonOp JettonOpName = "DedustSwap" @@ -146,8 +170,10 @@ const ( EncryptedTextCommentJettonOpCode JettonOpCode = 0x2167da4b StonfiSwapJettonOpCode JettonOpCode = 0x25938561 TegroAddLiquidityJettonOpCode JettonOpCode = 0x287e167a + StonfiProvideLpV2JettonOpCode JettonOpCode = 0x37c096df DedustDepositLiquidityJettonOpCode JettonOpCode = 0x40e108d6 StonfiSwapOkRefJettonOpCode JettonOpCode = 0x45078540 + StonfiSwapV2JettonOpCode JettonOpCode = 0x6664de2a TonkeeperRelayerFeeJettonOpCode JettonOpCode = 0x878da6e3 StonfiSwapOkJettonOpCode JettonOpCode = 0xc64370e5 DedustSwapJettonOpCode JettonOpCode = 0xe3a0d482 @@ -160,8 +186,10 @@ var KnownJettonTypes = map[string]any{ EncryptedTextCommentJettonOp: EncryptedTextCommentJettonPayload{}, StonfiSwapJettonOp: StonfiSwapJettonPayload{}, TegroAddLiquidityJettonOp: TegroAddLiquidityJettonPayload{}, + StonfiProvideLpV2JettonOp: StonfiProvideLpV2JettonPayload{}, DedustDepositLiquidityJettonOp: DedustDepositLiquidityJettonPayload{}, StonfiSwapOkRefJettonOp: StonfiSwapOkRefJettonPayload{}, + StonfiSwapV2JettonOp: StonfiSwapV2JettonPayload{}, TonkeeperRelayerFeeJettonOp: TonkeeperRelayerFeeJettonPayload{}, StonfiSwapOkJettonOp: StonfiSwapOkJettonPayload{}, DedustSwapJettonOp: DedustSwapJettonPayload{}, @@ -173,8 +201,10 @@ var JettonOpCodes = map[JettonOpName]JettonOpCode{ EncryptedTextCommentJettonOp: EncryptedTextCommentJettonOpCode, StonfiSwapJettonOp: StonfiSwapJettonOpCode, TegroAddLiquidityJettonOp: TegroAddLiquidityJettonOpCode, + StonfiProvideLpV2JettonOp: StonfiProvideLpV2JettonOpCode, DedustDepositLiquidityJettonOp: DedustDepositLiquidityJettonOpCode, StonfiSwapOkRefJettonOp: StonfiSwapOkRefJettonOpCode, + StonfiSwapV2JettonOp: StonfiSwapV2JettonOpCode, TonkeeperRelayerFeeJettonOp: TonkeeperRelayerFeeJettonOpCode, StonfiSwapOkJettonOp: StonfiSwapOkJettonOpCode, DedustSwapJettonOp: DedustSwapJettonOpCode, @@ -187,8 +217,10 @@ var funcJettonDecodersMapping = map[JettonOpCode]func(*JettonPayload, *boc.Cell) EncryptedTextCommentJettonOpCode: decodeEncryptedTextCommentJettonOpJetton, StonfiSwapJettonOpCode: decodeStonfiSwapJettonOpJetton, TegroAddLiquidityJettonOpCode: decodeTegroAddLiquidityJettonOpJetton, + StonfiProvideLpV2JettonOpCode: decodeStonfiProvideLpV2JettonOpJetton, DedustDepositLiquidityJettonOpCode: decodeDedustDepositLiquidityJettonOpJetton, StonfiSwapOkRefJettonOpCode: decodeStonfiSwapOkRefJettonOpJetton, + StonfiSwapV2JettonOpCode: decodeStonfiSwapV2JettonOpJetton, TonkeeperRelayerFeeJettonOpCode: decodeTonkeeperRelayerFeeJettonOpJetton, StonfiSwapOkJettonOpCode: decodeStonfiSwapOkJettonOpJetton, DedustSwapJettonOpCode: decodeDedustSwapJettonOpJetton, @@ -224,6 +256,20 @@ type TegroAddLiquidityJettonPayload struct { AbountB tlb.VarUInteger16 } +type StonfiProvideLpV2JettonPayload struct { + TokenWallet1 tlb.MsgAddress + RefundAddress tlb.MsgAddress + ExcessesAddress tlb.MsgAddress + TxDeadline uint64 + CrossProvideLpBody struct { + MinLpOut tlb.VarUInteger16 + ToAddress tlb.MsgAddress + BothPositive tlb.Uint1 + FwdAmount tlb.Grams + CustomPayload *tlb.Any `tlb:"maybe^"` + } `tlb:"^"` +} + type DedustDepositLiquidityJettonPayload struct { PoolParams DedustPoolParams MinLpAmount tlb.Grams @@ -235,6 +281,23 @@ type DedustDepositLiquidityJettonPayload struct { type StonfiSwapOkRefJettonPayload struct{} +type StonfiSwapV2JettonPayload struct { + TokenWallet1 tlb.MsgAddress + RefundAddress tlb.MsgAddress + ExcessesAddress tlb.MsgAddress + TxDeadline uint64 + CrossSwapBody struct { + MinOut tlb.VarUInteger16 + Receiver tlb.MsgAddress + FwdGas tlb.Grams + CustomPayload *tlb.Any `tlb:"maybe^"` + RefundFwdGas tlb.Grams + RefundPayload *tlb.Any `tlb:"maybe^"` + RefFee uint16 + RefAddress tlb.MsgAddress + } `tlb:"^"` +} + type TonkeeperRelayerFeeJettonPayload struct{} type StonfiSwapOkJettonPayload struct{} diff --git a/abi/messages.md b/abi/messages.md index c47a371c..50e045b4 100644 --- a/abi/messages.md +++ b/abi/messages.md @@ -85,6 +85,11 @@ The list below contains the supported message operations, their names and opcode | ProcessGovernanceDecision| 0x44beae41 | | ProofStorage| 0x419d5d4d | | ProveOwnership| 0x04ded148 | +| PtonDeployWallet| 0x4f5f4313 | +| PtonInternalDeploy| 0x6540cf85 | +| PtonResetGas| 0x29d22935 | +| PtonTonRefund| 0xae25d79e | +| PtonTonTransfer| 0x01f3835d | | ReportRoyaltyParams| 0xa8cb00ad | | ReportStaticData| 0x8b771735 | | SbtDestroy| 0x1f04537a | @@ -93,12 +98,24 @@ The list below contains the supported message operations, their names and opcode | SbtRevoke| 0x6f89f5e3 | | SettleChannelConditionals| 0x66f6f069 | | StartUncooperativeChannelClose| 0x1f151acf | +| StonfiAddLiquidityV2| 0x50c6a654 | +| StonfiBurnNotificationExtV2| 0x297437cf | +| StonfiCbAddLiquidityV2| 0x06ecd527 | +| StonfiDepositRefFeeV2| 0x0490f09b | +| StonfiPayToV2| 0x657b54f5 | +| StonfiPayVaultV2| 0x63381632 | | StonfiPaymentRequest| 0xf93bb43f | | StonfiProvideLiquidity| 0xfcf9e58f | +| StonfiProvideLpV2| 0x37c096df | +| StonfiProvideLpV2| 0x37c096df | | StonfiSwap| 0x25938561 | | StonfiSwap| 0x25938561 | | StonfiSwapOk| 0xc64370e5 | | StonfiSwapOkRef| 0x45078540 | +| StonfiSwapV2| 0x6664de2a | +| StonfiSwapV2| 0x6664de2a | +| StonfiVaultPayToV2| 0x2100c922 | +| StonfiWithdrawFeeV2| 0x354bcdf4 | | StorageContractConfirmed| 0xd4caedcd | | StorageContractTerminated| 0xb6236d63 | | StorageRewardWithdrawal| 0xa91baf56 | diff --git a/abi/messages_generated.go b/abi/messages_generated.go index 5e5a276c..921d247f 100644 --- a/abi/messages_generated.go +++ b/abi/messages_generated.go @@ -9,14 +9,20 @@ import ( var ( // 0x00000000 decodeFuncTextCommentMsgBody = decodeMsg(tlb.Tag{Val: 0x00000000, Len: 32}, TextCommentMsgOp, TextCommentMsgBody{}) + // 0x01f3835d + decodeFuncPtonTonTransferMsgBody = decodeMsg(tlb.Tag{Val: 0x01f3835d, Len: 32}, PtonTonTransferMsgOp, PtonTonTransferMsgBody{}) // 0x0226df66 decodeFuncStormVaultRequestWithdrawPositionMsgBody = decodeMsg(tlb.Tag{Val: 0x0226df66, Len: 32}, StormVaultRequestWithdrawPositionMsgOp, StormVaultRequestWithdrawPositionMsgBody{}) + // 0x0490f09b + decodeFuncStonfiDepositRefFeeV2MsgBody = decodeMsg(tlb.Tag{Val: 0x0490f09b, Len: 32}, StonfiDepositRefFeeV2MsgOp, StonfiDepositRefFeeV2MsgBody{}) // 0x04ded148 decodeFuncProveOwnershipMsgBody = decodeMsg(tlb.Tag{Val: 0x04ded148, Len: 32}, ProveOwnershipMsgOp, ProveOwnershipMsgBody{}) // 0x05138d91 decodeFuncNftOwnershipAssignedMsgBody = decodeMsg(tlb.Tag{Val: 0x05138d91, Len: 32}, NftOwnershipAssignedMsgOp, NftOwnershipAssignedMsgBody{}) // 0x0524c7ae decodeFuncOwnershipProofMsgBody = decodeMsg(tlb.Tag{Val: 0x0524c7ae, Len: 32}, OwnershipProofMsgOp, OwnershipProofMsgBody{}) + // 0x06ecd527 + decodeFuncStonfiCbAddLiquidityV2MsgBody = decodeMsg(tlb.Tag{Val: 0x06ecd527, Len: 32}, StonfiCbAddLiquidityV2MsgOp, StonfiCbAddLiquidityV2MsgBody{}) // 0x088eaa32 decodeFuncChallengeQuarantinedChannelStateMsgBody = decodeMsg(tlb.Tag{Val: 0x088eaa32, Len: 32}, ChallengeQuarantinedChannelStateMsgOp, ChallengeQuarantinedChannelStateMsgBody{}) // 0x0a77535c @@ -51,6 +57,8 @@ var ( decodeFuncSbtDestroyMsgBody = decodeMsg(tlb.Tag{Val: 0x1f04537a, Len: 32}, SbtDestroyMsgOp, SbtDestroyMsgBody{}) // 0x1f151acf decodeFuncStartUncooperativeChannelCloseMsgBody = decodeMsg(tlb.Tag{Val: 0x1f151acf, Len: 32}, StartUncooperativeChannelCloseMsgOp, StartUncooperativeChannelCloseMsgBody{}) + // 0x2100c922 + decodeFuncStonfiVaultPayToV2MsgBody = decodeMsg(tlb.Tag{Val: 0x2100c922, Len: 32}, StonfiVaultPayToV2MsgOp, StonfiVaultPayToV2MsgBody{}) // 0x2167da4b decodeFuncEncryptedTextCommentMsgBody = decodeMsg(tlb.Tag{Val: 0x2167da4b, Len: 32}, EncryptedTextCommentMsgOp, EncryptedTextCommentMsgBody{}) // 0x21cfe02b @@ -69,12 +77,16 @@ var ( decodeFuncStonfiSwapMsgBody = decodeMsg(tlb.Tag{Val: 0x25938561, Len: 32}, StonfiSwapMsgOp, StonfiSwapMsgBody{}) // 0x270695fb decodeFuncTonstakeControllerPoolSendMessageMsgBody = decodeMsg(tlb.Tag{Val: 0x270695fb, Len: 32}, TonstakeControllerPoolSendMessageMsgOp, TonstakeControllerPoolSendMessageMsgBody{}) + // 0x297437cf + decodeFuncStonfiBurnNotificationExtV2MsgBody = decodeMsg(tlb.Tag{Val: 0x297437cf, Len: 32}, StonfiBurnNotificationExtV2MsgOp, StonfiBurnNotificationExtV2MsgBody{}) // 0x299a3e15 decodeFuncTeleitemDeployMsgBody = decodeMsg(tlb.Tag{Val: 0x299a3e15, Len: 32}, TeleitemDeployMsgOp, TeleitemDeployMsgBody{}) // 0x29c102d1 decodeFuncStormVammInitMsgBody = decodeMsg(tlb.Tag{Val: 0x29c102d1, Len: 32}, StormVammInitMsgOp, StormVammInitMsgBody{}) // 0x29c102d1 decodeFuncStormVaultInitMsgBody = decodeMsg(tlb.Tag{Val: 0x29c102d1, Len: 32}, StormVaultInitMsgOp, StormVaultInitMsgBody{}) + // 0x29d22935 + decodeFuncPtonResetGasMsgBody = decodeMsg(tlb.Tag{Val: 0x29d22935, Len: 32}, PtonResetGasMsgOp, PtonResetGasMsgBody{}) // 0x2aaa96a0 decodeFuncTonstakePoolSetGovernanceFeeMsgBody = decodeMsg(tlb.Tag{Val: 0x2aaa96a0, Len: 32}, TonstakePoolSetGovernanceFeeMsgOp, TonstakePoolSetGovernanceFeeMsgBody{}) // 0x2cde6351 @@ -87,10 +99,14 @@ var ( decodeFuncTonstakePoolWithdrawMsgBody = decodeMsg(tlb.Tag{Val: 0x319b0cdc, Len: 32}, TonstakePoolWithdrawMsgOp, TonstakePoolWithdrawMsgBody{}) // 0x3475fdd2 decodeFuncStormVaultTradeNotificationMsgBody = decodeMsg(tlb.Tag{Val: 0x3475fdd2, Len: 32}, StormVaultTradeNotificationMsgOp, StormVaultTradeNotificationMsgBody{}) + // 0x354bcdf4 + decodeFuncStonfiWithdrawFeeV2MsgBody = decodeMsg(tlb.Tag{Val: 0x354bcdf4, Len: 32}, StonfiWithdrawFeeV2MsgOp, StonfiWithdrawFeeV2MsgBody{}) // 0x370fec51 decodeFuncAuctionFillUpMsgBody = decodeMsg(tlb.Tag{Val: 0x370fec51, Len: 32}, AuctionFillUpMsgOp, AuctionFillUpMsgBody{}) // 0x371638ae decodeFuncTeleitemCancelAuctionMsgBody = decodeMsg(tlb.Tag{Val: 0x371638ae, Len: 32}, TeleitemCancelAuctionMsgOp, TeleitemCancelAuctionMsgBody{}) + // 0x37c096df + decodeFuncStonfiProvideLpV2MsgBody = decodeMsg(tlb.Tag{Val: 0x37c096df, Len: 32}, StonfiProvideLpV2MsgOp, StonfiProvideLpV2MsgBody{}) // 0x3a943ce6 decodeFuncStormOrderCreatedMsgBody = decodeMsg(tlb.Tag{Val: 0x3a943ce6, Len: 32}, StormOrderCreatedMsgOp, StormOrderCreatedMsgBody{}) // 0x419d5d4d @@ -125,6 +141,10 @@ var ( decodeFuncDnsBalanceReleaseMsgBody = decodeMsg(tlb.Tag{Val: 0x4ed14b65, Len: 32}, DnsBalanceReleaseMsgOp, DnsBalanceReleaseMsgBody{}) // 0x4f38cae8 decodeFuncStormMintExecutorMsgBody = decodeMsg(tlb.Tag{Val: 0x4f38cae8, Len: 32}, StormMintExecutorMsgOp, StormMintExecutorMsgBody{}) + // 0x4f5f4313 + decodeFuncPtonDeployWalletMsgBody = decodeMsg(tlb.Tag{Val: 0x4f5f4313, Len: 32}, PtonDeployWalletMsgOp, PtonDeployWalletMsgBody{}) + // 0x50c6a654 + decodeFuncStonfiAddLiquidityV2MsgBody = decodeMsg(tlb.Tag{Val: 0x50c6a654, Len: 32}, StonfiAddLiquidityV2MsgOp, StonfiAddLiquidityV2MsgBody{}) // 0x53f34cd6 decodeFuncUpdatePubkeyMsgBody = decodeMsg(tlb.Tag{Val: 0x53f34cd6, Len: 32}, UpdatePubkeyMsgOp, UpdatePubkeyMsgBody{}) // 0x54cbf19b @@ -155,14 +175,22 @@ var ( decodeFuncDedustSwapExternalMsgBody = decodeMsg(tlb.Tag{Val: 0x61ee542d, Len: 32}, DedustSwapExternalMsgOp, DedustSwapExternalMsgBody{}) // 0x6335b11a decodeFuncTonstakeControllerSendRequestLoanMsgBody = decodeMsg(tlb.Tag{Val: 0x6335b11a, Len: 32}, TonstakeControllerSendRequestLoanMsgOp, TonstakeControllerSendRequestLoanMsgBody{}) + // 0x63381632 + decodeFuncStonfiPayVaultV2MsgBody = decodeMsg(tlb.Tag{Val: 0x63381632, Len: 32}, StonfiPayVaultV2MsgOp, StonfiPayVaultV2MsgBody{}) // 0x642b7d07 decodeFuncJettonMintMsgBody = decodeMsg(tlb.Tag{Val: 0x642b7d07, Len: 32}, JettonMintMsgOp, JettonMintMsgBody{}) // 0x64737472 decodeFuncWalletPluginDestructMsgBody = decodeMsg(tlb.Tag{Val: 0x64737472, Len: 32}, WalletPluginDestructMsgOp, WalletPluginDestructMsgBody{}) // 0x6501f354 decodeFuncJettonChangeAdminMsgBody = decodeMsg(tlb.Tag{Val: 0x6501f354, Len: 32}, JettonChangeAdminMsgOp, JettonChangeAdminMsgBody{}) + // 0x6540cf85 + decodeFuncPtonInternalDeployMsgBody = decodeMsg(tlb.Tag{Val: 0x6540cf85, Len: 32}, PtonInternalDeployMsgOp, PtonInternalDeployMsgBody{}) // 0x6578746e decodeFuncWalletExtensionActionV5R1MsgBody = decodeMsg(tlb.Tag{Val: 0x6578746e, Len: 32}, WalletExtensionActionV5R1MsgOp, WalletExtensionActionV5R1MsgBody{}) + // 0x657b54f5 + decodeFuncStonfiPayToV2MsgBody = decodeMsg(tlb.Tag{Val: 0x657b54f5, Len: 32}, StonfiPayToV2MsgOp, StonfiPayToV2MsgBody{}) + // 0x6664de2a + decodeFuncStonfiSwapV2MsgBody = decodeMsg(tlb.Tag{Val: 0x6664de2a, Len: 32}, StonfiSwapV2MsgOp, StonfiSwapV2MsgBody{}) // 0x66f6f069 decodeFuncSettleChannelConditionalsMsgBody = decodeMsg(tlb.Tag{Val: 0x66f6f069, Len: 32}, SettleChannelConditionalsMsgOp, SettleChannelConditionalsMsgBody{}) // 0x67134629 @@ -251,6 +279,8 @@ var ( decodeFuncStorageRewardWithdrawalMsgBody = decodeMsg(tlb.Tag{Val: 0xa91baf56, Len: 32}, StorageRewardWithdrawalMsgOp, StorageRewardWithdrawalMsgBody{}) // 0xad4eb6f5 decodeFuncDedustPayoutFromPoolMsgBody = decodeMsg(tlb.Tag{Val: 0xad4eb6f5, Len: 32}, DedustPayoutFromPoolMsgOp, DedustPayoutFromPoolMsgBody{}) + // 0xae25d79e + decodeFuncPtonTonRefundMsgBody = decodeMsg(tlb.Tag{Val: 0xae25d79e, Len: 32}, PtonTonRefundMsgOp, PtonTonRefundMsgBody{}) // 0xafaf283e decodeFuncMultisigApproveRejectedMsgBody = decodeMsg(tlb.Tag{Val: 0xafaf283e, Len: 32}, MultisigApproveRejectedMsgOp, MultisigApproveRejectedMsgBody{}) // 0xb1ebae06 @@ -344,9 +374,15 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x00000000 TextCommentMsgOpCode: decodeFuncTextCommentMsgBody, + // 0x01f3835d + PtonTonTransferMsgOpCode: decodeFuncPtonTonTransferMsgBody, + // 0x0226df66 StormVaultRequestWithdrawPositionMsgOpCode: decodeFuncStormVaultRequestWithdrawPositionMsgBody, + // 0x0490f09b + StonfiDepositRefFeeV2MsgOpCode: decodeFuncStonfiDepositRefFeeV2MsgBody, + // 0x04ded148 ProveOwnershipMsgOpCode: decodeFuncProveOwnershipMsgBody, @@ -356,6 +392,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x0524c7ae OwnershipProofMsgOpCode: decodeFuncOwnershipProofMsgBody, + // 0x06ecd527 + StonfiCbAddLiquidityV2MsgOpCode: decodeFuncStonfiCbAddLiquidityV2MsgBody, + // 0x088eaa32 ChallengeQuarantinedChannelStateMsgOpCode: decodeFuncChallengeQuarantinedChannelStateMsgBody, @@ -407,6 +446,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x1f151acf StartUncooperativeChannelCloseMsgOpCode: decodeFuncStartUncooperativeChannelCloseMsgBody, + // 0x2100c922 + StonfiVaultPayToV2MsgOpCode: decodeFuncStonfiVaultPayToV2MsgBody, + // 0x2167da4b EncryptedTextCommentMsgOpCode: decodeFuncEncryptedTextCommentMsgBody, @@ -434,6 +476,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x270695fb TonstakeControllerPoolSendMessageMsgOpCode: decodeFuncTonstakeControllerPoolSendMessageMsgBody, + // 0x297437cf + StonfiBurnNotificationExtV2MsgOpCode: decodeFuncStonfiBurnNotificationExtV2MsgBody, + // 0x299a3e15 TeleitemDeployMsgOpCode: decodeFuncTeleitemDeployMsgBody, @@ -444,6 +489,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ "0x29c102d1", ), + // 0x29d22935 + PtonResetGasMsgOpCode: decodeFuncPtonResetGasMsgBody, + // 0x2aaa96a0 TonstakePoolSetGovernanceFeeMsgOpCode: decodeFuncTonstakePoolSetGovernanceFeeMsgBody, @@ -462,12 +510,18 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x3475fdd2 StormVaultTradeNotificationMsgOpCode: decodeFuncStormVaultTradeNotificationMsgBody, + // 0x354bcdf4 + StonfiWithdrawFeeV2MsgOpCode: decodeFuncStonfiWithdrawFeeV2MsgBody, + // 0x370fec51 AuctionFillUpMsgOpCode: decodeFuncAuctionFillUpMsgBody, // 0x371638ae TeleitemCancelAuctionMsgOpCode: decodeFuncTeleitemCancelAuctionMsgBody, + // 0x37c096df + StonfiProvideLpV2MsgOpCode: decodeFuncStonfiProvideLpV2MsgBody, + // 0x3a943ce6 StormOrderCreatedMsgOpCode: decodeFuncStormOrderCreatedMsgBody, @@ -520,6 +574,12 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x4f38cae8 StormMintExecutorMsgOpCode: decodeFuncStormMintExecutorMsgBody, + // 0x4f5f4313 + PtonDeployWalletMsgOpCode: decodeFuncPtonDeployWalletMsgBody, + + // 0x50c6a654 + StonfiAddLiquidityV2MsgOpCode: decodeFuncStonfiAddLiquidityV2MsgBody, + // 0x53f34cd6 UpdatePubkeyMsgOpCode: decodeFuncUpdatePubkeyMsgBody, @@ -565,6 +625,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x6335b11a TonstakeControllerSendRequestLoanMsgOpCode: decodeFuncTonstakeControllerSendRequestLoanMsgBody, + // 0x63381632 + StonfiPayVaultV2MsgOpCode: decodeFuncStonfiPayVaultV2MsgBody, + // 0x642b7d07 JettonMintMsgOpCode: decodeFuncJettonMintMsgBody, @@ -574,9 +637,18 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x6501f354 JettonChangeAdminMsgOpCode: decodeFuncJettonChangeAdminMsgBody, + // 0x6540cf85 + PtonInternalDeployMsgOpCode: decodeFuncPtonInternalDeployMsgBody, + // 0x6578746e WalletExtensionActionV5R1MsgOpCode: decodeFuncWalletExtensionActionV5R1MsgBody, + // 0x657b54f5 + StonfiPayToV2MsgOpCode: decodeFuncStonfiPayToV2MsgBody, + + // 0x6664de2a + StonfiSwapV2MsgOpCode: decodeFuncStonfiSwapV2MsgBody, + // 0x66f6f069 SettleChannelConditionalsMsgOpCode: decodeFuncSettleChannelConditionalsMsgBody, @@ -709,6 +781,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0xad4eb6f5 DedustPayoutFromPoolMsgOpCode: decodeFuncDedustPayoutFromPoolMsgBody, + // 0xae25d79e + PtonTonRefundMsgOpCode: decodeFuncPtonTonRefundMsgBody, + // 0xafaf283e MultisigApproveRejectedMsgOpCode: decodeFuncMultisigApproveRejectedMsgBody, @@ -841,10 +916,13 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ const ( TextCommentMsgOp MsgOpName = "TextComment" + PtonTonTransferMsgOp MsgOpName = "PtonTonTransfer" StormVaultRequestWithdrawPositionMsgOp MsgOpName = "StormVaultRequestWithdrawPosition" + StonfiDepositRefFeeV2MsgOp MsgOpName = "StonfiDepositRefFeeV2" ProveOwnershipMsgOp MsgOpName = "ProveOwnership" NftOwnershipAssignedMsgOp MsgOpName = "NftOwnershipAssigned" OwnershipProofMsgOp MsgOpName = "OwnershipProof" + StonfiCbAddLiquidityV2MsgOp MsgOpName = "StonfiCbAddLiquidityV2" ChallengeQuarantinedChannelStateMsgOp MsgOpName = "ChallengeQuarantinedChannelState" TonstakePoolWithdrawalMsgOp MsgOpName = "TonstakePoolWithdrawal" SbtOwnerInfoMsgOp MsgOpName = "SbtOwnerInfo" @@ -862,6 +940,7 @@ const ( WhalesNominatorsWithdrawUnownedResponseMsgOp MsgOpName = "WhalesNominatorsWithdrawUnownedResponse" SbtDestroyMsgOp MsgOpName = "SbtDestroy" StartUncooperativeChannelCloseMsgOp MsgOpName = "StartUncooperativeChannelClose" + StonfiVaultPayToV2MsgOp MsgOpName = "StonfiVaultPayToV2" EncryptedTextCommentMsgOp MsgOpName = "EncryptedTextComment" DedustCreateVaultMsgOp MsgOpName = "DedustCreateVault" JettonCallToMsgOp MsgOpName = "JettonCallTo" @@ -871,17 +950,21 @@ const ( FinishUncooperativeChannelCloseMsgOp MsgOpName = "FinishUncooperativeChannelClose" StonfiSwapMsgOp MsgOpName = "StonfiSwap" TonstakeControllerPoolSendMessageMsgOp MsgOpName = "TonstakeControllerPoolSendMessage" + StonfiBurnNotificationExtV2MsgOp MsgOpName = "StonfiBurnNotificationExtV2" TeleitemDeployMsgOp MsgOpName = "TeleitemDeploy" StormVammInitMsgOp MsgOpName = "StormVammInit" StormVaultInitMsgOp MsgOpName = "StormVaultInit" + PtonResetGasMsgOp MsgOpName = "PtonResetGas" TonstakePoolSetGovernanceFeeMsgOp MsgOpName = "TonstakePoolSetGovernanceFee" StormWithdrawExecutorAmountMsgOp MsgOpName = "StormWithdrawExecutorAmount" GetStaticDataMsgOp MsgOpName = "GetStaticData" TonstakeControllerValidatorWithdrawalMsgOp MsgOpName = "TonstakeControllerValidatorWithdrawal" TonstakePoolWithdrawMsgOp MsgOpName = "TonstakePoolWithdraw" StormVaultTradeNotificationMsgOp MsgOpName = "StormVaultTradeNotification" + StonfiWithdrawFeeV2MsgOp MsgOpName = "StonfiWithdrawFeeV2" AuctionFillUpMsgOp MsgOpName = "AuctionFillUp" TeleitemCancelAuctionMsgOp MsgOpName = "TeleitemCancelAuction" + StonfiProvideLpV2MsgOp MsgOpName = "StonfiProvideLpV2" StormOrderCreatedMsgOp MsgOpName = "StormOrderCreated" ProofStorageMsgOp MsgOpName = "ProofStorage" ProcessGovernanceDecisionMsgOp MsgOpName = "ProcessGovernanceDecision" @@ -899,6 +982,8 @@ const ( ChangeDnsRecordMsgOp MsgOpName = "ChangeDnsRecord" DnsBalanceReleaseMsgOp MsgOpName = "DnsBalanceRelease" StormMintExecutorMsgOp MsgOpName = "StormMintExecutor" + PtonDeployWalletMsgOp MsgOpName = "PtonDeployWallet" + StonfiAddLiquidityV2MsgOp MsgOpName = "StonfiAddLiquidityV2" UpdatePubkeyMsgOp MsgOpName = "UpdatePubkey" UpdateStorageParamsMsgOp MsgOpName = "UpdateStorageParams" TonstakeImanagerOperationFeeMsgOp MsgOpName = "TonstakeImanagerOperationFee" @@ -914,10 +999,14 @@ const ( StormUpdatePositionMsgOp MsgOpName = "StormUpdatePosition" DedustSwapExternalMsgOp MsgOpName = "DedustSwapExternal" TonstakeControllerSendRequestLoanMsgOp MsgOpName = "TonstakeControllerSendRequestLoan" + StonfiPayVaultV2MsgOp MsgOpName = "StonfiPayVaultV2" JettonMintMsgOp MsgOpName = "JettonMint" WalletPluginDestructMsgOp MsgOpName = "WalletPluginDestruct" JettonChangeAdminMsgOp MsgOpName = "JettonChangeAdmin" + PtonInternalDeployMsgOp MsgOpName = "PtonInternalDeploy" WalletExtensionActionV5R1MsgOp MsgOpName = "WalletExtensionActionV5R1" + StonfiPayToV2MsgOp MsgOpName = "StonfiPayToV2" + StonfiSwapV2MsgOp MsgOpName = "StonfiSwapV2" SettleChannelConditionalsMsgOp MsgOpName = "SettleChannelConditionals" StormCancelOrderMsgOp MsgOpName = "StormCancelOrder" TopUpChannelBalanceMsgOp MsgOpName = "TopUpChannelBalance" @@ -962,6 +1051,7 @@ const ( ReportRoyaltyParamsMsgOp MsgOpName = "ReportRoyaltyParams" StorageRewardWithdrawalMsgOp MsgOpName = "StorageRewardWithdrawal" DedustPayoutFromPoolMsgOp MsgOpName = "DedustPayoutFromPool" + PtonTonRefundMsgOp MsgOpName = "PtonTonRefund" MultisigApproveRejectedMsgOp MsgOpName = "MultisigApproveRejected" TonstakeImanagerRequestNotificationMsgOp MsgOpName = "TonstakeImanagerRequestNotification" TonstakePoolDeployControllerMsgOp MsgOpName = "TonstakePoolDeployController" @@ -1009,10 +1099,13 @@ const ( const ( TextCommentMsgOpCode MsgOpCode = 0x00000000 + PtonTonTransferMsgOpCode MsgOpCode = 0x01f3835d StormVaultRequestWithdrawPositionMsgOpCode MsgOpCode = 0x0226df66 + StonfiDepositRefFeeV2MsgOpCode MsgOpCode = 0x0490f09b ProveOwnershipMsgOpCode MsgOpCode = 0x04ded148 NftOwnershipAssignedMsgOpCode MsgOpCode = 0x05138d91 OwnershipProofMsgOpCode MsgOpCode = 0x0524c7ae + StonfiCbAddLiquidityV2MsgOpCode MsgOpCode = 0x06ecd527 ChallengeQuarantinedChannelStateMsgOpCode MsgOpCode = 0x088eaa32 TonstakePoolWithdrawalMsgOpCode MsgOpCode = 0x0a77535c SbtOwnerInfoMsgOpCode MsgOpCode = 0x0dd607e3 @@ -1030,6 +1123,7 @@ const ( WhalesNominatorsWithdrawUnownedResponseMsgOpCode MsgOpCode = 0x1d1715bf SbtDestroyMsgOpCode MsgOpCode = 0x1f04537a StartUncooperativeChannelCloseMsgOpCode MsgOpCode = 0x1f151acf + StonfiVaultPayToV2MsgOpCode MsgOpCode = 0x2100c922 EncryptedTextCommentMsgOpCode MsgOpCode = 0x2167da4b DedustCreateVaultMsgOpCode MsgOpCode = 0x21cfe02b JettonCallToMsgOpCode MsgOpCode = 0x235caf52 @@ -1039,17 +1133,21 @@ const ( FinishUncooperativeChannelCloseMsgOpCode MsgOpCode = 0x25432a91 StonfiSwapMsgOpCode MsgOpCode = 0x25938561 TonstakeControllerPoolSendMessageMsgOpCode MsgOpCode = 0x270695fb + StonfiBurnNotificationExtV2MsgOpCode MsgOpCode = 0x297437cf TeleitemDeployMsgOpCode MsgOpCode = 0x299a3e15 StormVammInitMsgOpCode MsgOpCode = 0x29c102d1 StormVaultInitMsgOpCode MsgOpCode = 0x29c102d1 + PtonResetGasMsgOpCode MsgOpCode = 0x29d22935 TonstakePoolSetGovernanceFeeMsgOpCode MsgOpCode = 0x2aaa96a0 StormWithdrawExecutorAmountMsgOpCode MsgOpCode = 0x2cde6351 GetStaticDataMsgOpCode MsgOpCode = 0x2fcb26a2 TonstakeControllerValidatorWithdrawalMsgOpCode MsgOpCode = 0x30026327 TonstakePoolWithdrawMsgOpCode MsgOpCode = 0x319b0cdc StormVaultTradeNotificationMsgOpCode MsgOpCode = 0x3475fdd2 + StonfiWithdrawFeeV2MsgOpCode MsgOpCode = 0x354bcdf4 AuctionFillUpMsgOpCode MsgOpCode = 0x370fec51 TeleitemCancelAuctionMsgOpCode MsgOpCode = 0x371638ae + StonfiProvideLpV2MsgOpCode MsgOpCode = 0x37c096df StormOrderCreatedMsgOpCode MsgOpCode = 0x3a943ce6 ProofStorageMsgOpCode MsgOpCode = 0x419d5d4d ProcessGovernanceDecisionMsgOpCode MsgOpCode = 0x44beae41 @@ -1067,6 +1165,8 @@ const ( ChangeDnsRecordMsgOpCode MsgOpCode = 0x4eb1f0f9 DnsBalanceReleaseMsgOpCode MsgOpCode = 0x4ed14b65 StormMintExecutorMsgOpCode MsgOpCode = 0x4f38cae8 + PtonDeployWalletMsgOpCode MsgOpCode = 0x4f5f4313 + StonfiAddLiquidityV2MsgOpCode MsgOpCode = 0x50c6a654 UpdatePubkeyMsgOpCode MsgOpCode = 0x53f34cd6 UpdateStorageParamsMsgOpCode MsgOpCode = 0x54cbf19b TonstakeImanagerOperationFeeMsgOpCode MsgOpCode = 0x54d37487 @@ -1082,10 +1182,14 @@ const ( StormUpdatePositionMsgOpCode MsgOpCode = 0x60dfc677 DedustSwapExternalMsgOpCode MsgOpCode = 0x61ee542d TonstakeControllerSendRequestLoanMsgOpCode MsgOpCode = 0x6335b11a + StonfiPayVaultV2MsgOpCode MsgOpCode = 0x63381632 JettonMintMsgOpCode MsgOpCode = 0x642b7d07 WalletPluginDestructMsgOpCode MsgOpCode = 0x64737472 JettonChangeAdminMsgOpCode MsgOpCode = 0x6501f354 + PtonInternalDeployMsgOpCode MsgOpCode = 0x6540cf85 WalletExtensionActionV5R1MsgOpCode MsgOpCode = 0x6578746e + StonfiPayToV2MsgOpCode MsgOpCode = 0x657b54f5 + StonfiSwapV2MsgOpCode MsgOpCode = 0x6664de2a SettleChannelConditionalsMsgOpCode MsgOpCode = 0x66f6f069 StormCancelOrderMsgOpCode MsgOpCode = 0x67134629 TopUpChannelBalanceMsgOpCode MsgOpCode = 0x67c7d281 @@ -1130,6 +1234,7 @@ const ( ReportRoyaltyParamsMsgOpCode MsgOpCode = 0xa8cb00ad StorageRewardWithdrawalMsgOpCode MsgOpCode = 0xa91baf56 DedustPayoutFromPoolMsgOpCode MsgOpCode = 0xad4eb6f5 + PtonTonRefundMsgOpCode MsgOpCode = 0xae25d79e MultisigApproveRejectedMsgOpCode MsgOpCode = 0xafaf283e TonstakeImanagerRequestNotificationMsgOpCode MsgOpCode = 0xb1ebae06 TonstakePoolDeployControllerMsgOpCode MsgOpCode = 0xb27edcad @@ -1179,6 +1284,13 @@ type TextCommentMsgBody struct { Text tlb.Text } +type PtonTonTransferMsgBody struct { + QueryId uint64 + TonAmount tlb.Grams + RefundAddress tlb.MsgAddress + ForwardPayload tlb.EitherRef[tlb.Any] +} + type StormVaultRequestWithdrawPositionMsgBody struct { TraderAddr tlb.MsgAddress VammAddr tlb.MsgAddress @@ -1187,6 +1299,12 @@ type StormVaultRequestWithdrawPositionMsgBody struct { WithdrawReason uint32 } +type StonfiDepositRefFeeV2MsgBody struct { + QueryId uint64 + JettonAmount tlb.VarUInteger16 + ExcessesAddress tlb.MsgAddress +} + type ProveOwnershipMsgBody struct { QueryId uint64 Dest tlb.MsgAddress @@ -1209,6 +1327,21 @@ type OwnershipProofMsgBody struct { Content *tlb.Any `tlb:"maybe^"` } +type StonfiCbAddLiquidityV2MsgBody struct { + QueryId uint64 + TotAm0 tlb.VarUInteger16 + TotAm1 tlb.VarUInteger16 + UserAddress tlb.MsgAddress + MinLpOut tlb.VarUInteger16 + FwdAmount tlb.Grams + CustomPayloadCs *tlb.Any `tlb:"maybe^"` + AdditionalFields struct { + ToUserAddress tlb.MsgAddress + RefundAddress tlb.MsgAddress + ExcessAddress tlb.MsgAddress + } `tlb:"^"` +} + type ChallengeQuarantinedChannelStateMsgBody struct { ChallengedByA bool Signature tlb.Bits512 @@ -1318,6 +1451,13 @@ type StartUncooperativeChannelCloseMsgBody struct { SchB SignedSemiChannel `tlb:"^"` } +type StonfiVaultPayToV2MsgBody struct { + QueryId uint64 + AmountOut tlb.VarUInteger16 + TokenAddress tlb.MsgAddress + ToAddress tlb.MsgAddress +} + type EncryptedTextCommentMsgBody struct { CipherText tlb.Bytes } @@ -1367,6 +1507,14 @@ type TonstakeControllerPoolSendMessageMsgBody struct { Msg tlb.Any `tlb:"^"` } +type StonfiBurnNotificationExtV2MsgBody struct { + QueryId uint64 + JettonAmount tlb.VarUInteger16 + FromAddress tlb.MsgAddress + ResponseAddress tlb.MsgAddress + MaybeCustomPayload *tlb.Any `tlb:"maybe^"` +} + type TeleitemDeployMsgBody struct { SenderAddress tlb.MsgAddress Bid tlb.Grams @@ -1386,6 +1534,10 @@ type StormVaultInitMsgBody struct { JettonAddress tlb.MsgAddress } +type PtonResetGasMsgBody struct { + QueryId uint64 +} + type TonstakePoolSetGovernanceFeeMsgBody struct { QueryId uint64 GovernanceFee uint16 @@ -1426,6 +1578,10 @@ type StormVaultTradeNotificationMsgBody struct { ExecutorParams *ExecutorData `tlb:"maybe^"` } +type StonfiWithdrawFeeV2MsgBody struct { + QueryId uint64 +} + type AuctionFillUpMsgBody struct { QueryId uint64 } @@ -1434,6 +1590,27 @@ type TeleitemCancelAuctionMsgBody struct { QueryId int64 } +type StonfiProvideLpV2MsgBody struct { + QueryId uint64 + FromUser tlb.MsgAddress + LeftAmount tlb.VarUInteger16 + RightAmount tlb.VarUInteger16 + DexPayload struct { + TransferredOp uint32 + TokenWallet1 tlb.MsgAddress + RefundAddress tlb.MsgAddress + ExcessesAddress tlb.MsgAddress + TxDeadline uint64 + ProvideLpBody struct { + MinLpOut tlb.VarUInteger16 + ToAddress tlb.MsgAddress + BothPositive tlb.Uint1 + FwdAmount tlb.Grams + CustomPayload *tlb.Any `tlb:"maybe^"` + } `tlb:"^"` + } `tlb:"^"` +} + type StormOrderCreatedMsgBody struct{} type ProofStorageMsgBody struct { @@ -1521,6 +1698,27 @@ type StormMintExecutorMsgBody struct { BalancesDict tlb.Any `tlb:"^"` } +type PtonDeployWalletMsgBody struct { + QueryId uint64 + OwnerAddress tlb.MsgAddress + ExcessesAddress tlb.MsgAddress +} + +type StonfiAddLiquidityV2MsgBody struct { + QueryId uint64 + NewAmount0 tlb.VarUInteger16 + NewAmount1 tlb.VarUInteger16 + MinLpOut tlb.VarUInteger16 + FwdAmount tlb.Grams + BothPositive tlb.Uint1 + ToUser tlb.MsgAddress + CustomPayloadCs *tlb.Any `tlb:"maybe^"` + AdditionalFields struct { + RefundAddress tlb.MsgAddress + ExcessAddress tlb.MsgAddress + } `tlb:"^"` +} + type UpdatePubkeyMsgBody struct { QueryId uint64 NewPubkey tlb.Bits256 @@ -1632,6 +1830,18 @@ type TonstakeControllerSendRequestLoanMsgBody struct { MaxInterst tlb.Uint24 } +type StonfiPayVaultV2MsgBody struct { + QueryId uint64 + Owner tlb.MsgAddress + ExcessesAddress tlb.MsgAddress + AdditionalInfo struct { + Amount0Out tlb.VarUInteger16 + Token0Address tlb.MsgAddress + Amount1Out tlb.VarUInteger16 + Token1Address tlb.MsgAddress + } `tlb:"^"` +} + type JettonMintMsgBody struct { QueryId uint64 ToAddress tlb.MsgAddress @@ -1645,12 +1855,57 @@ type JettonChangeAdminMsgBody struct { NewAdminAddress tlb.MsgAddress } +type PtonInternalDeployMsgBody struct { + QueryId uint64 + ExcessesAddress tlb.MsgAddress +} + type WalletExtensionActionV5R1MsgBody struct { QueryId uint64 Actions *W5Actions `tlb:"maybe^"` Extended *W5ExtendedActions `tlb:"maybe"` } +type StonfiPayToV2MsgBody struct { + QueryId uint64 + ToAddress tlb.MsgAddress + ExcessesAddress tlb.MsgAddress + OriginalCaller tlb.MsgAddress + ExitCode uint32 + CustomPayload *tlb.Any `tlb:"maybe^"` + AdditionalInfo struct { + FwdTonAmount tlb.Grams + Amount0Out tlb.VarUInteger16 + Token0Address tlb.MsgAddress + Amount1Out tlb.VarUInteger16 + Token1Address tlb.MsgAddress + } `tlb:"^"` +} + +type StonfiSwapV2MsgBody struct { + QueryId uint64 + FromUser tlb.MsgAddress + LeftAmount tlb.VarUInteger16 + RightAmount tlb.VarUInteger16 + DexPayload struct { + TransferredOp uint32 + TokenWallet1 tlb.MsgAddress + RefundAddress tlb.MsgAddress + ExcessesAddress tlb.MsgAddress + TxDeadline uint64 + SwapBody struct { + MinOut tlb.VarUInteger16 + Receiver tlb.MsgAddress + FwdGas tlb.Grams + CustomPayload *tlb.Any `tlb:"maybe^"` + RefundFwdGas tlb.Grams + RefundPayload *tlb.Any `tlb:"maybe^"` + RefFee uint16 + RefAddress tlb.MsgAddress + } `tlb:"^"` + } `tlb:"^"` +} + type SettleChannelConditionalsMsgBody struct { FromA bool Signature tlb.Bits512 @@ -1902,6 +2157,10 @@ type DedustPayoutFromPoolMsgBody struct { Payload *tlb.Any `tlb:"maybe^"` } +type PtonTonRefundMsgBody struct { + QueryId uint64 +} + type MultisigApproveRejectedMsgBody struct { QueryId uint64 ExitCode uint32 @@ -2156,10 +2415,13 @@ type BounceMsgBody struct { var KnownMsgInTypes = map[string]any{ TextCommentMsgOp: TextCommentMsgBody{}, + PtonTonTransferMsgOp: PtonTonTransferMsgBody{}, StormVaultRequestWithdrawPositionMsgOp: StormVaultRequestWithdrawPositionMsgBody{}, + StonfiDepositRefFeeV2MsgOp: StonfiDepositRefFeeV2MsgBody{}, ProveOwnershipMsgOp: ProveOwnershipMsgBody{}, NftOwnershipAssignedMsgOp: NftOwnershipAssignedMsgBody{}, OwnershipProofMsgOp: OwnershipProofMsgBody{}, + StonfiCbAddLiquidityV2MsgOp: StonfiCbAddLiquidityV2MsgBody{}, ChallengeQuarantinedChannelStateMsgOp: ChallengeQuarantinedChannelStateMsgBody{}, TonstakePoolWithdrawalMsgOp: TonstakePoolWithdrawalMsgBody{}, SbtOwnerInfoMsgOp: SbtOwnerInfoMsgBody{}, @@ -2177,6 +2439,7 @@ var KnownMsgInTypes = map[string]any{ WhalesNominatorsWithdrawUnownedResponseMsgOp: WhalesNominatorsWithdrawUnownedResponseMsgBody{}, SbtDestroyMsgOp: SbtDestroyMsgBody{}, StartUncooperativeChannelCloseMsgOp: StartUncooperativeChannelCloseMsgBody{}, + StonfiVaultPayToV2MsgOp: StonfiVaultPayToV2MsgBody{}, EncryptedTextCommentMsgOp: EncryptedTextCommentMsgBody{}, DedustCreateVaultMsgOp: DedustCreateVaultMsgBody{}, JettonCallToMsgOp: JettonCallToMsgBody{}, @@ -2186,17 +2449,21 @@ var KnownMsgInTypes = map[string]any{ FinishUncooperativeChannelCloseMsgOp: FinishUncooperativeChannelCloseMsgBody{}, StonfiSwapMsgOp: StonfiSwapMsgBody{}, TonstakeControllerPoolSendMessageMsgOp: TonstakeControllerPoolSendMessageMsgBody{}, + StonfiBurnNotificationExtV2MsgOp: StonfiBurnNotificationExtV2MsgBody{}, TeleitemDeployMsgOp: TeleitemDeployMsgBody{}, StormVammInitMsgOp: StormVammInitMsgBody{}, StormVaultInitMsgOp: StormVaultInitMsgBody{}, + PtonResetGasMsgOp: PtonResetGasMsgBody{}, TonstakePoolSetGovernanceFeeMsgOp: TonstakePoolSetGovernanceFeeMsgBody{}, StormWithdrawExecutorAmountMsgOp: StormWithdrawExecutorAmountMsgBody{}, GetStaticDataMsgOp: GetStaticDataMsgBody{}, TonstakeControllerValidatorWithdrawalMsgOp: TonstakeControllerValidatorWithdrawalMsgBody{}, TonstakePoolWithdrawMsgOp: TonstakePoolWithdrawMsgBody{}, StormVaultTradeNotificationMsgOp: StormVaultTradeNotificationMsgBody{}, + StonfiWithdrawFeeV2MsgOp: StonfiWithdrawFeeV2MsgBody{}, AuctionFillUpMsgOp: AuctionFillUpMsgBody{}, TeleitemCancelAuctionMsgOp: TeleitemCancelAuctionMsgBody{}, + StonfiProvideLpV2MsgOp: StonfiProvideLpV2MsgBody{}, StormOrderCreatedMsgOp: StormOrderCreatedMsgBody{}, ProofStorageMsgOp: ProofStorageMsgBody{}, ProcessGovernanceDecisionMsgOp: ProcessGovernanceDecisionMsgBody{}, @@ -2214,6 +2481,8 @@ var KnownMsgInTypes = map[string]any{ ChangeDnsRecordMsgOp: ChangeDnsRecordMsgBody{}, DnsBalanceReleaseMsgOp: DnsBalanceReleaseMsgBody{}, StormMintExecutorMsgOp: StormMintExecutorMsgBody{}, + PtonDeployWalletMsgOp: PtonDeployWalletMsgBody{}, + StonfiAddLiquidityV2MsgOp: StonfiAddLiquidityV2MsgBody{}, UpdatePubkeyMsgOp: UpdatePubkeyMsgBody{}, UpdateStorageParamsMsgOp: UpdateStorageParamsMsgBody{}, TonstakeImanagerOperationFeeMsgOp: TonstakeImanagerOperationFeeMsgBody{}, @@ -2229,10 +2498,14 @@ var KnownMsgInTypes = map[string]any{ StormUpdatePositionMsgOp: StormUpdatePositionMsgBody{}, DedustSwapExternalMsgOp: DedustSwapExternalMsgBody{}, TonstakeControllerSendRequestLoanMsgOp: TonstakeControllerSendRequestLoanMsgBody{}, + StonfiPayVaultV2MsgOp: StonfiPayVaultV2MsgBody{}, JettonMintMsgOp: JettonMintMsgBody{}, WalletPluginDestructMsgOp: WalletPluginDestructMsgBody{}, JettonChangeAdminMsgOp: JettonChangeAdminMsgBody{}, + PtonInternalDeployMsgOp: PtonInternalDeployMsgBody{}, WalletExtensionActionV5R1MsgOp: WalletExtensionActionV5R1MsgBody{}, + StonfiPayToV2MsgOp: StonfiPayToV2MsgBody{}, + StonfiSwapV2MsgOp: StonfiSwapV2MsgBody{}, SettleChannelConditionalsMsgOp: SettleChannelConditionalsMsgBody{}, StormCancelOrderMsgOp: StormCancelOrderMsgBody{}, TopUpChannelBalanceMsgOp: TopUpChannelBalanceMsgBody{}, @@ -2277,6 +2550,7 @@ var KnownMsgInTypes = map[string]any{ ReportRoyaltyParamsMsgOp: ReportRoyaltyParamsMsgBody{}, StorageRewardWithdrawalMsgOp: StorageRewardWithdrawalMsgBody{}, DedustPayoutFromPoolMsgOp: DedustPayoutFromPoolMsgBody{}, + PtonTonRefundMsgOp: PtonTonRefundMsgBody{}, MultisigApproveRejectedMsgOp: MultisigApproveRejectedMsgBody{}, TonstakeImanagerRequestNotificationMsgOp: TonstakeImanagerRequestNotificationMsgBody{}, TonstakePoolDeployControllerMsgOp: TonstakePoolDeployControllerMsgBody{}, diff --git a/abi/schemas/ston-fi.xml b/abi/schemas/ston-fi.xml index 2b38f2ec..7fae470f 100644 --- a/abi/schemas/ston-fi.xml +++ b/abi/schemas/ston-fi.xml @@ -6,9 +6,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + msgaddress + msgaddress + msgaddress + int257 + + + + + + msgaddress + msgaddress + int257 + int257 + + @@ -21,6 +85,28 @@ + + + uint32 + string + bool + msgaddress + any + any + any + any + any + + + + + + uint32 + uint32 + string + + + msgaddress @@ -31,6 +117,15 @@ + + + msgaddress + + + msgaddress + + + int257 @@ -58,6 +153,23 @@ + + + bool + msgaddress + int257 + int257 + int257 + msgaddress + msgaddress + uint16 + uint16 + msgaddress + int257 + int257 + + + swap#25938561 query_id:uint64 to_address:MsgAddress sender_address:MsgAddress jetton_amount:(VarUInteger 16) min_out:(VarUInteger 16) has_ref_address:Bool addrs:^StonfiSwapAddrs = InternalMsgBody; @@ -78,4 +190,75 @@ swap_success#45078540 = JettonPayload; + + + + ton_transfer#01f3835d query_id:uint64 ton_amount:Coins refund_address:MsgAddress forward_payload:(Either Cell ^Cell) = InternalMsgBody; + + + + ton_refund#ae25d79e query_id:uint64 = InternalMsgBody; + + + + reset_gas#29d22935 query_id:uint64 = InternalMsgBody; + + + + deploy_wallet#4f5f4313 query_id:uint64 owner_address:MsgAddress excesses_address:MsgAddress = InternalMsgBody; + + + + internal_deploy#6540cf85 query_id:uint64 excesses_address:MsgAddress = InternalMsgBody; + + + + + cb_add_liquidity#06ecd527 query_id:uint64 tot_am0:(VarUInteger 16) tot_am1:(VarUInteger 16) user_address:MsgAddress min_lp_out:(VarUInteger 16) + fwd_amount:Coins custom_payload_cs:(Maybe ^Cell) additional_fields:^[to_user_address:MsgAddress refund_address:MsgAddress excess_address:MsgAddress] = InternalMsgBody; + + + + provide_lp#37c096df query_id:uint64 from_user:MsgAddress left_amount:(VarUInteger 16) right_amount:(VarUInteger 16) dex_payload:^[transferred_op:uint32 token_wallet1:MsgAddress refund_address:MsgAddress excesses_address:MsgAddress tx_deadline:uint64 provide_lp_body:^[min_lp_out:(VarUInteger 16) to_address:MsgAddress both_positive:uint1 fwd_amount:Coins custom_payload:(Maybe ^Cell)]] = InternalMsgBody; + + + + add_liquidity#50c6a654 query_id:uint64 new_amount0:(VarUInteger 16) new_amount1:(VarUInteger 16) min_lp_out:(VarUInteger 16) fwd_amount:Coins + both_positive:uint1 to_user:MsgAddress custom_payload_cs:(Maybe ^Cell) additional_fields:^[refund_address:MsgAddress excess_address:MsgAddress] = InternalMsgBody; + + + + pay_to#657b54f5 query_id:uint64 to_address:MsgAddress excesses_address:MsgAddress original_caller:MsgAddress exit_code:uint32 custom_payload:(Maybe ^Cell) + additional_info:^[fwd_ton_amount:Coins amount0_out:(VarUInteger 16) token0_address:MsgAddress amount1_out:(VarUInteger 16) token1_address:MsgAddress] = InternalMsgBody; + + + + swap#6664de2a query_id:uint64 from_user:MsgAddress left_amount:(VarUInteger 16) right_amount:(VarUInteger 16) + dex_payload:^[transferred_op:uint32 token_wallet1:MsgAddress refund_address:MsgAddress excesses_address:MsgAddress tx_deadline:uint64 + swap_body:^[min_out:(VarUInteger 16) receiver:MsgAddress fwd_gas:Coins custom_payload:(Maybe ^Cell) refund_fwd_gas:Coins refund_payload:(Maybe ^Cell) ref_fee:uint16 ref_address:MsgAddress]] = InternalMsgBody; + + + + swap#6664de2a token_wallet1:MsgAddress refund_address:MsgAddress excesses_address:MsgAddress tx_deadline:uint64 cross_swap_body:^[min_out:(VarUInteger 16) receiver:MsgAddress fwd_gas:Coins custom_payload:(Maybe ^Cell) refund_fwd_gas:Coins refund_payload:(Maybe ^Cell) ref_fee:uint16 ref_address:MsgAddress] = JettonPayload; + + + provide_lp#37c096df token_wallet1:MsgAddress refund_address:MsgAddress excesses_address:MsgAddress tx_deadline:uint64 cross_provide_lp_body:^[min_lp_out:(VarUInteger 16) to_address:MsgAddress both_positive:uint1 fwd_amount:Coins custom_payload:(Maybe ^Cell)] = JettonPayload; + + + + withdraw_fee#354bcdf4 query_id:uint64 = InternalMsgBody; + + + deposit_ref_fee#0490f09b query_id:uint64 jetton_amount:(VarUInteger 16) excesses_address:MsgAddress = InternalMsgBody; + + + vault_pay_to#2100c922 query_id:uint64 amount_out:(VarUInteger 16) token_address:MsgAddress to_address:MsgAddress = InternalMsgBody; + + + pay_vault#63381632 query_id:uint64 owner:MsgAddress excesses_address:MsgAddress additional_info:^[amount0_out:(VarUInteger 16) token0_address:MsgAddress amount1_out:(VarUInteger 16) token1_address:MsgAddress] = InternalMsgBody; + + + burn_notification_ext#297437cf query_id:uint64 jetton_amount:(VarUInteger 16) from_address:MsgAddress response_address:MsgAddress maybe_custom_payload:(Maybe ^Cell) = InternalMsgBody; + +