@tonappchain/sdk 0.7.2-alpha-5 → 0.7.2-alpha-7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/artifacts/dev/ton/internal/build/Executor.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/CrossChainLayer.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/Executor.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/JettonMinter.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/JettonProxy.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/JettonWallet.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/NFTItem.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/NFTProxy.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/wrappers/CrossChainLayer.d.ts +1 -13
- package/dist/artifacts/testnet/ton/internal/wrappers/CrossChainLayer.js +7 -45
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonMinter.d.ts +2 -2
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonMinter.js +2 -2
- package/dist/src/adapters/contractOpener.js +5 -11
- package/dist/src/adapters/retryableContractOpener.d.ts +2 -2
- package/dist/src/interfaces/ContractOpener.d.ts +2 -2
- package/dist/src/sdk/Configuration.js +11 -48
- package/dist/src/sdk/Simulator.js +3 -3
- package/dist/src/sdk/TxFinalizer.js +29 -11
- package/dist/src/structs/InternalStruct.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "d89ddb427867379eb889455543e58c75e9318f04e40f29bff05c5cc432a02688", "hashBase64": "2J3bQnhnN564iUVVQ+WMdekxjwTkDym/8FxcxDKgJog=", "hex": "b5ee9c7241020e010002b7000114ff00f4a413f4bcf2c80b0102016202080290d03221c700925f03e0d0d30301ed44d0fa4001f861fa4001f862d20001f863d430f86471b08e843031db3ce0fa403001d31f0101d33f01120182103b6616c6bae3025f04840ff2f0030501ae8020d721d31f0101d33f01123282100e50d313baf2e096f84270f8638b02f862f844c8f841cf16f842cf16f84301ca00ccc9ed54f844c88210cf6a5da4580402cb1fcb3f12cc01cf16c97076fb02f8417058801081008204004c226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0002aef843f2d0c822f844d0f404f404fa40fa003010235f0301f901018307f40e6fa131f2e0cc01d4fa40fa403022db3cf807f844830cf9413025830cf94130f8075005a15323a60681049658a0820812750070f8370b54155b0d0601fe7181012070f838506570f838a70314a05970f83ca08200fe5858a070f836a08208278d0080648200a9fa5870f837a001a0bcb38e362576fb0224706d8010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00f80ff230def844c882100e50d313580602cb1fcb3f58cf160700ac12cc12cc01cf16c9028010fb02f8417058038018810090226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb007ff863f862f844c8f841cf16f842cf16f84301ca00ccc9ed54020148090a0067ba30bed44d0fa4001f861fa4001f862d20001f863d430f864f844d0f404f404fa40fa003010235f0301f901018307f40e6fa13180201200b0c0041b444bda89a1f48003f0c3f48003f0c5a40003f0c7a861f0c9f083f085f087f08900137b40adda89a1f48003f0c3f48003f0c5a40003f0c7a861f0c9b678ff00d003cd739f2e0c9d30701c003f2e0cad430f844f900018307f40e6fa131f2e0cbef2c6a8a" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "2f7a13d127de8b3a847392fe6d2e2a7008ea740706d0b3e8865c0c0865ef36fd", "hashBase64": "L3oT0SfeizqEc5L+bS4qcAjqdAcG0LPohlwMCGXvNv0=", "hex": "b5ee9c7241022e01000e14000114ff00f4a413f4bcf2c80b0102016202240168d0eda2edfb20c700925f04e001d0d3030171b0925f04e0fa40fa4031fa0031f401fa0031fa00013170f83a02d31f0101d33f01120301fced44d0fa4001f861fa4001f862fa4001f863d401d0fa0001f86cfa0001f86bfa0030f86dd401f86ed430d0d32f01f86ad32f01f866d32f01f867d32f01f868d32f01f869d30301f864f40430f8655365a1f845f80701830cf94130f8075003a101a655820086e65003a0128209e1338070f8370170f836a066b608a1a6640403fe5166a122821048e660b5ba8e5a6c7181193c70f8365cbcf2e064f84d59a1a0f86df845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed54e02282106c582059bae3002282100e50d313bae302303435050a1302fe03d31ffa00f404fa4055302170547000246ec0008e156c3101d0d300fa00fa0023963403fa0030039130e29134e255027f266ec000f84cf84b5007a816a05240b915b0927034de5320a022a027a02e81354470f836a0a052c0be5240b0e30210365f06288014fb02c88210ae7df95b2502cb1fcb3f12cb1f22cf16c9702702060901fe3339393a3b5266a05008a05008a026a08014fb02f84d5004a0f86df845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed54216ec0009d01c8f400f84cfa02f84bfa02c992316de205c8cb1f2101cb3f0701925003cf165003fa0213f40001cf16c982106c582059017f830771800cc8cb03cb01cb0813cbff02957158cb61cc987058cb6101d0cf16e2c98010fb0021d70b01c000b3915be30ddb31080076c88210d53276db5802cb1fcb3fc970018010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0000748010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00f80fc000938100cc928064e2f2f00303ee323501fa40d4d4f828f84e52300270705003c85003cf168b02cf16ca00ccc921c8cb0113f40012f400cb00c97001f90074c8cb0212ca07cbffc9d05006c705f2e04701d7393078d721d3ff0131f8458307f40e6fa131f2e0c920d0f404f401fa40fa003020c300935b3234e30ddb3c5222a1c200f2e0640b0e1102f8280441381523d70b01c0008e64aa00814cfb70f836a0738103b582100966018070f837a0801c8127e08209e1338070f837a0a47020c88210d7b9c06e580802cb1fcb3f23cf165004fa0258cf1671fa0214cb00cb00c970c87001ca0012cccb00c9c87001cbff58cf1658fa02ccc9c8ccc9e30d218307f48e6fa56c120c0d003e306c2270c8c9c87f01ca00cccb00c9c87001cbff58cf1658fa02ccc9c8ccc9001a91a4923070e201d0028307f41602f670207f8ef6238307f47c6fa5208ee702d430d0d3ff0130fa40fa00d430d0d2000101d4f40430206e8e2e3054232080108011226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb008e90c802d012cf162310355980108011db3ce2019213a09414a04313e2029132e201b30f1000a28e4dc85801cb055005cf165003fa0254712323ed41ed43ed44ed45ed479f5bc85003cf17c913775003cb6bcccced67ed65ed64ed63ed61747fed11987601cb6bcc01cf17ed41edf101f2ffc901fb00db060008e6306c1201faf845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed5482100e50d31350047f830771800cc8cb03cb01cb0813cbff02957158cb61cc987058cb6101d0cf16e2c98010fb0014a101a1f84d5210be1200a6f2e0658010fb0201fa403020d70b01c000b38e3cc88210d53276db580302cb1fcb3fc970018010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00915be204ec248210cf6a5da4bae30224821023b05641bae302332382101f95f86cba8ecd135f03f84dc300f2e0c8c88210f358b6d05802cb1fcb3ff84dfa02c9f841f84d58801072226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0070f86de031228210063199b7ba1417221a03fa3403d4f828f84e52300270705003c85003cf168b02cf16ca00ccc921c8cb0113f40012f400cb00c97001f90074c8cb0212ca07cbffc9d05005c705f2e047028014fb0202fa40308210cf6a5da4587f830771800cc8cb03cb01cb0813cbff02957158cb61cc987058cb6101d0cf16e2c98010fb0020d70b01c000b3e30f1516220078c88210ae7df95b580302cb1fcb3fc970018010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0000025b01fe34f8435210c705f2e048f823f849bef2e0ca03d3ff01f84802d32f0131f868f848f849bef2e0cb038014fb02f847f866f823f867f847f84aa0f869f823f844f84aa8a1f8458307f4866fa5908e1c01d32f013122bb9bf84552108307f45b30f865def8458307f47c6fa5e85f03c8f84901cb2fc9d0f84552408307f416f8651801c2c8500301cbff5801cb2ff84801cb2ff84601cb2ff84701cb2ff84901cb2fc9821023b05641017f830771800cc8cb03cb01cb0813cbff02957158cb61cc987058cb6101d0cf16e2c98010fb00c88210d53276db5802cb1fcb3fc9700180108100821900d8226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00f845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed5404fa8e5432f84112c705f2e046fa0030f86bf845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed54e02282103531465cbae3022282105cec6be0bae302228210581879bcbae30222821060094a1bba1b1c1d1e00a832f84112c705f2e046fa0030f86cf845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed5400a832f84112c705f2e046fa4030f863f845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed5400ba32f84112c705f2e046fa4030f862f8428b02c705f2d050f845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed5404f88e536c21f841c705f2e0468b02f862f845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed54e02282106a4fbe34bae30222821020faec53bae3022282107ee5a6d0bae302228210e97250b7ba1f20212300ae6c21f842c705f2e049f842f8618b02f862f845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed54002e32f84112c705f2e046d421fb0401d0ed1eed53d430ed54017c32f84112c705f2e046d430f86e6df86582107ee5a6d0c8c970830771800cc8cb03cb01cb0813cbff02957158cb61cc987058cb6101d0cf16e2c98010fb0022008cf845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed5400ca8e5532f84112c705f2e046d32f0131f86af845f844c8f84a01cb2ff84601cb2ff84701cb2ff84801cb2ff84901cb2fcb03f400c9f84ec8f84cfa02f84bfa02f84dfa02c9c8f841cf16f842cf16f843cf16ccccccc9ed54e05b8210d53276dbbadc840ff2f00201202529020158262700d9b444bda89a1f48003f0c3f48003f0c5f48003f0c7a803a1f40003f0d9f40003f0d7f40061f0dba803f0dda861a1a65e03f0d5a65e03f0cda65e03f0cfa65e03f0d1a65e03f0d3a60603f0c9e80861f0cbf083f085f087f089f08bf08df08ff091f095f093f099f097f09bf09d001f9b4817da89a1f48003f0c3f48003f0c5f48003f0c7a803a1f40003f0d9f40003f0d7f40061f0dba803f0dda861a1a65e03f0d5a65e03f0cda65e03f0cfa65e03f0d1a65e03f0d3a60603f0c9e80861f0cae041f08b060fe90cdf4b211c3003a65e0262a6077928d844a2212261c5f08b060fe8f8df4bd02046be07f08d0280014f847f848f849f84af8440201202a2c01ebb9685ed44d0fa4001f861fa4001f862fa4001f863d401d0fa0001f86cfa0001f86bfa0030f86dd401f86ed430d0d32f01f86ad32f01f866d32f01f867d32f01f868d32f01f869d30301f864f40430f865f828f84e120270705003c85003cf168b02cf16ca00ccc921c8cb0113f40012f400cb00c92082b00207001f90074c8cb0212ca07cbffc9d00101e9bb316ed44d0fa4001f861fa4001f862fa4001f863d401d0fa0001f86cfa0001f86bfa0030f86dd401f86ed430d0d32f01f86ad32f01f866d32f01f867d32f01f868d32f01f869d30301f864f40430f865f828f84e120270705003c85003cf168b02cf16ca00ccc921c8cb0113f40012f400cb00c982d001e7001f90074c8cb0212ca07cbffc9d0ace38ebd" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "60872ba7dacc34e6ea7bda82a1a54feb78b26a196c516e5246b760c20a821a0d", "hashBase64": "YIcrp9rMNObqe9qCoaVP63iyahlsUW5SRrdgwgqCGg0=", "hex": "b5ee9c7241020e010002c5000114ff00f4a413f4bcf2c80b01020162020802ecd020c700925f04e001d0d30301ed44d0fa4001f861fa4001f862d20001f863d430f8645343a1f844f80701830cf94130f8075003a170f83601a6068104965003a012820812750070f837a066b6085210a15155a10271b08e855f0332db3ce03401fa40fa4031fa0031f401fa0031fa00013170f83a03030501dc018020d721ed44d0fa4001f861fa4001f862d20001f863d430f864d31f0101d33f01123282100e50d313baf2e096f84270f8638b02f862f844c8f841cf16f842cf16f84301ca00ccc9ed54f844c88210cf6a5da4580402cb1fcb3f12cc01cf16c90176fb02f8417058801081008204004c226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb000130d31f0101d33f01120182103b6616c6bae3025f07840ff2f00602fef843f2d0c8522430f844d0f404f404fa40fa003010235f0301f901018307f40e6fa131f2e0ccd4fa40fa403022db3cf844486001aa01820102d470f836a08055820086e68209e1338070f837a001f80701830cf94130f8075003a170f83601a6068104965003a012820812750070f837a0a0bcf2b0f844c882100e50d313580d0700bc0502cb1fcb3f5006cf1615cccc01cf16c9018010fb02f84170588018810090226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb007ff863f862f844c8f841cf16f842cf16f84301ca00ccc9ed54020148090a0067ba30bed44d0fa4001f861fa4001f862d20001f863d430f864f844d0f404f404fa40fa003010235f0301f901018307f40e6fa13180201200b0c0041b444bda89a1f48003f0c3f48003f0c5a40003f0c7a861f0c9f083f085f087f08900137b40adda89a1f48003f0c3f48003f0c5a40003f0c7a861f0c9b678ff00d003cd739f2e0c9d30701c003f2e0cad430f844f900018307f40e6fa131f2e0cb63df7e32" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "c74c2ca7311c8c6edcacacc06c319b8c5b4a7be7cc00e7b4ffb7bf78514ce6bf", "hashBase64": "x0wspzEcjG7crKzAbDGbjFtKe+fMAOe0/7e/eFFM5r8=", "hex": "b5ee9c72410218010004f1000114ff00f4a413f4bcf2c80b0102016202110202ca030f04f7d4831c02497c138007434c0c05c6c2497c1383e900c0074c7c04074cfc0449455284d20072049f82082784ce01c3e0dd4512d82052860053ec0bb51343e80007e187e90007e18be90007e18f5007e1935007e197e1988a0842b9f7e56eeb8c088a08435ee701baeb8c088a0841ef765f7aeb8c08cc8608416061e6f20405060b007432f842c705f2e0498020d721fa40fa00307054130224026df032f84101a0f861f845f844c8f841fa02f842cf16f843cf16ccccf846cf16c9ed54008c32f842c705f2e049fa40fa00fa40fa00f4045e2325473307f032f84101a0f861f40430206eb392f8649130e2f845f844c8f841fa02f842cf16f843cf16ccccf846cf16c9ed5403f86c12fa00fa40f828f84523595970037054201314c85003fa0201cf1601cf16c922c8cb0112f400f400cb00c9f90074c8cb0212ca07cbffc9d05004c705f2e04af84122a1f861f845f844c8f841fa02f842cf16f843cf16ccccf846cf16c9ed5402fa40f40401d0fa00f404f40430103434f8425230c70520e30f7023070809005cc848138210b0afa74d52830a1582106c582059500502cb1fcb3f12cb1f01fa02f40001cf165004cf1658fa02f4000028355b33c88210d53276db580502cb1fcb3f13f400012a928018928010e2049381009093810082e21314db3c0a00988e48c85801cb055004cf1658fa02547120ed41ed43ed44ed45ed479d5bc85003cf17c9127158cb6acced67ed65ed64ed63ed61737fed11977001cb6a01cf17ed41edf101f2ffc901fb00db0503f6ba8e3031f842c705f2e049fa4030f863f8438b02c705f2d050f845f844c8f841fa02f842cf16f843cf16ccccf846cf16c9ed54e021821060094a1bba8e276c21f842c705f2e0498b02f863f845f844c8f841fa02f842cf16f843cf16ccccf846cf16c9ed54e02182106a4fbe34bae30221821023f78ab7bae302320c0d0e00566c21f843c705f2e04bf843f8628b02f863f845f844c8f841fa02f842cf16f843cf16ccccf846cf16c9ed54004c31f842c705f2e049d430f864f845f844c8f841fa02f842cf16f843cf16ccccf846cf16c9ed54008882101754ab63ba8e35f8425210c705f2e049706d80188306226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00e030840ff2f001b7acb2208405e35146560180b2c7f2cfd400fe80be0a33c58073c5807e80bd003e0a3e114408dc150804c5321400fe808073c58073c5b248b232c044bd003d0032c0325c087e401d3232c084b281f2fff2741c1000e00620402436cf201000a28e4dc85801cb055005cf165003fa0254712323ed41ed43ed44ed45ed479f5bc85003cf17c913775003cb6bcccced67ed65ed64ed63ed61747fed11987601cb6bcc01cf17ed41edf101f2ffc901fb00db06020120121502037a2013140054aa25ed44d0fa0001f861fa4001f862fa4001f863d401f864d401f865f866f841f842f843f844f845f8460040a9f7ed44d0fa0001f861fa4001f862fa4001f863d401f864d401f865f866f8460202711617009fadbcf6a2687d0000fc30fd2000fc317d2000fc31ea00fc326a00fc32fc337c147c22acb801b82a10098a642801fd0100e78b00e78b6491646580897a007a00658064fc803a646581096503e5ffe4e840004faf16f6a2687d0000fc30fd2000fc317d2000fc31ea00fc326a00fc32fc337c20bffc217c227c22c085402ce1" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "a8765019021b1c7b4c71aeb532907b9db11b3ed72ed7abc98e4730f9f2858949", "hashBase64": "qHZQGQIbHHtMca61MpB7nbEbPtcu16vJjkcw+fKFiUk=", "hex": "b5ee9c7241020e010003a5000114ff00f4a413f4bcf2c80b01020162020d04f8d020c700925f04e001d0d3030171b0925f04e0fa40fa4031fa0031f401fa0031fa00013170f83a02d31f0101d33f0112ed44d0fa4001f861fa4001f862fa4030f8635165a18010811e508209e1338070f83766b608a15155a12182107362d09cbae302303333218210ae7df95bbae3022182107817b330bae30233200307080a018e3101fa0021c2008ebafa40f40401d0fa00f404f404301034342070547000246ec0008e156c3101d0d300fa00fa0023963403fa0030039130e29134e255023324104b03925f07e20402be04aa015003a001a001a001a081214370f836a081354470f836a08115b470f836a08019812af870f83ca0812af870f836a0812ee070f836a08019812af882100966018070f837a08055820086e68209e1338070f837a015be226eb321b0e30f050600d630c85005cf1624cf1658fa02c9c804103782102906ab024813061582106c582059500502cb1fcb3f12cb1f01fa02f40001cf1613cc12ccc90176fb02f84170588010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0000fc32333434443066706d7022c3009430206eb3de20c00091709171e270c882100f8a7ea5580a02cb1fcb3f5006fa025006cf165003cf1615cb005004fa02cb000191cc9131e27001c980108050226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00f80f938100c8928064e2f2f0013631f841c705f2e0468020d721d430d0fa40fa40fa0030211034706d09012e31f841c705f2e046fa40fa40fa00fa40fa00f4043010560900d27022c3009430206eb3de20c00091709171e270c882100f8a7ea5580a02cb1fcb3f5006fa025006cf165003cf1615cb005004fa02cb000191cc9131e27001c980108050226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0002e08210581879bcba8e2730f84212c705f2e047fa4030f863f8438b02c705f2d050c8f841cf16f842cf16f843cf16c9ed54e020821060094a1bba8e1c5bf842c705f2e0478b02f863c8f841cf16f842cf16f843cf16c9ed54e02082106a4fbe34bae302821020faec53bae3025b840ff2f00b0c00525bf843c705f2e048f8438b02c705f2d050f843f8628b02f863c8f841cf16f842cf16f843cf16c9ed54002cf84212c705f2e047d421fb0401d0ed1eed53d430ed540035a0844bda89a1f48003f0c3f48003f0c5f48061f0c7f083f085f0878996251e" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "ddf25f87852a9931e257878679dd317dd725e3c4ddbf3a50a2f038e9aff38ea3", "hashBase64": "3fJfh4UqmTHiV4eGed0xfdcl48TdvzpQovA46a/zjqM=", "hex": "b5ee9c7241021501000525000114ff00f4a413f4bcf2c80b0102016202140202ca0313020120041204cdd0831c02497c138007434c0c05c6c2544d7c0fc0db83e903e900c7e800c7d007e800c7e80004c5c3e0e80b4c7c048208403e29fa96ea3a14c0d1676cf3808208405e351466ea3a14c0c96b6cf380d4920841657c1ef2ea3a10d1676cf3817c120840153e8d96ea05090e1101da03d33f0101fa00fa4021f0155bed44d0fa0001f861fa4001f862fa4030f863f84123a1f861f8425006c705f2e2c1f841c2fff2e2c2f843f82a7054201314c85003fa0201cf1601cf16c922c8cb0112f400f400cb00c97021f90074c8cb0212ca07cbffc9d005fa40f401fa00200601fc20d70b009bd74bc00101c001b0f2e2c49130e2c88210178d4519580702cb1fcb3f5004fa02f842cf1601cf1622fa025003cf1643152191729171e2f839206e938129ad9120e2216e9431812ca39101e25023a813a07381034f70f83ca00270f83612a00170f836a0738103b582100966018070f837a0bcf2b070401380180701308050db3cf841f842f843c85003fa0201cf1601cf16c9ed540800a28e4dc85801cb055005cf165003fa0254712323ed41ed43ed44ed45ed479f5bc85003cf17c913775003cb6bcccced67ed65ed64ed63ed61747fed11987601cb6bcc01cf17ed41edf101f2ffc901fb00db0603f2ed44d0fa0001f861fa4001f862fa4030f86303d33f0101fa00f84122a0f861fa40fa40f84327c705f843f82a25595970037054201314c85003fa0201cf1601cf16c922c8cb0112f400f400cb00c9f90074c8cb0212ca07cbffc9d05008c70517b1f2e2c305fa0021925f04e30d22d70b01c000b3925f04e30d0a0b0d0140c882107362d09c2602cb1fcb3f5004fa0258cf1658cf16f8425980188011db3c0c015c03a1f82fa0738103b582100966018070f837b60972fb0270c88210d53276db580402cb1fcb3f128010810082db3c0c00988e48c85801cb055004cf1658fa02547120ed41ed43ed44ed45ed479d5bc85003cf17c9127158cb6acced67ed65ed64ed63ed61737fed11977001cb6a01cf17ed41edf101f2ffc901fb00db050028f841f842f843c85003fa0201cf1601cf16c9ed5401f4ed44d0fa0001f861fa4001f862fa4030f86303d33f0101fa00fa40f40430206e2092316d9201d0e221917093fa0001e222916d9401f40459e20392316d9401f40430e2f84125a1f861f8425008c705f2e2c1f841c2fff2e2c2c821fa0212f40016f400c9c882107bdd97de580502cb1fcb3f58fa02f842cf16210f01e8d70b01c0009331f8429101e2cf16f400c94133f839206e938121cd9120e2216e9431812ca39101e203aa0112a00170f836a081287570f836a081354470f836a08125b670f836a00170f836a08055820086e68209e1338070f837a0801c8127e08209e1338070f837a0bcf2b0f843705880188050100074226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00f841f842f843c85003fa0201cf1601cf16c9ed5400b08e51ed44d0fa0001f861fa4001f862fa4030f863738103b582100966018070f83770fb02f842706d8010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00e0840ff2f00013a2fd2210e0007970a6c0009fada00835c87b51343e80007e187e90007e18be900c3e18f4c7c048208405e351466e8060841ef765f7aeac7cb8b1601035c87e800c3e1040683e187e107e10be10f21400fe808073c58073c5b27b55200039a0f605da89a1f40003f0c3f48003f0c5f48061f0c7f083f085f087f055a476e3ae" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "29cc743cf701ada8c7eca87e3496fe69ef9cd9ea1a6cad296cea7ca32540cfb5", "hashBase64": "Kcx0PPcBrajH7Kh+NJb+ae+c2eoabK0pbOp8oyVAz7U=", "hex": "b5ee9c72410216010004a6000114ff00f4a413f4bcf2c80b0102016202150202ca0314020120041301bdd0cc8b1c02497c0f83434c0c05c6c238f16fb51343480007e1874ffc07e18b500743e90007e18fe90007e19be900c3e193d010c3e19600835c874c7c04c60841b1608166ebcb832dffe187c0db83e903e900c7e800c7d007e800c7e80004c60504a4ed44d0d20001f861d3ff01f862d401d0fa4001f863fa4001f866fa4030f864f40430f86503d31f0101d33f0112218210bd6ea770bae3022182105fcc3d14bae3022182102fcb26a2bae30221820bb390ceba06070a0b00e8313432f841b3f2e0c8f84301c705f2e048fa4001f864d401f8657ff861f0367581058e82100966018070f83772fb02c8821005138d91580302cb1fcb3f8b02cf1601cf16c9f84470588010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0002c83110344013f841f2e0c9f84414c705f2e047fa4021f0155bfa40d2000130fa0022d70b01c000b35427272191729171e2f839206e9430812dcade02a812a07581058e82100966018070f837a00170f836a0bcf2b020923034e30d02923031e30df864f03608090084c8821005138d912502cb1fcb3ff844cf165006cf16c9544266801071226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00009e22f0155bc88210d53276db5802cb1fcb3fc97581058e82100966018070f83776fb0212700180108306226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb000096345b32f841f2e0c9c882108b7717355802cb1fcb3ff84201cbfff843cf16c9700180108042226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00015e8e873110344013db3ce030316c228210ae7df95bba8e12f841b3f2e0c8f846c705f2e0467ff861f036e030840ff2f00c01a0f841f2e0c9f84414c705f2e047fa40f40401d0fa00f404f404301034342070547000246ec0008e156c3101d0d300fa00fa0023963403fa0030039130e29134e2550233f8465260c70525105b50a443300d04faf839206e9430812d20de5aa058a05003a001aa00a00170f836a081354470f836a081121e70f836a08055820086e68209e1338070f837a07581058e82100966018070f837a0bcf2b0248e123034c88210d53276db580302cb1fcb3ff400e30d70f861f036218e107581058e82100966018070f83776fb02de7022e30f030e0f10110060c88210bcd19310f844102510464303081582106c582059500502cb1fcb3f12cb1f01fa02f40001cf16f844cf1613f400000480180004801001189381009093810082e213db3c1200988e48c85801cb055004cf1658fa02547120ed41ed43ed44ed45ed479d5bc85003cf17c9127158cb6acced67ed65ed64ed63ed61737fed11977001cb6a01cf17ed41edf101f2ffc901fb00db050013a2fd2210e0007970a6c00045adbe11723e10f3c5be11b3c5be1133c5b2723e104072803e108072fff33d00327b5520007ba11f9fda89a1a40003f0c3a7fe03f0c5a803a1f48003f0c7f48003f0cdf48061f0c9e80861f0cbf08335f083f085f087f089f08bc1f083f085f0871604db765e89b6" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "hash": "
|
|
1
|
+
{ "hash": "d54a9e278d416e51ccb96d1fe1808f8aa9f14b4959dfab9c6f401488ada2186c", "hashBase64": "1UqeJ41BblHMuW0f4YCPiqnxS0lZ36ucb0AUiK2iGGw=", "hex": "b5ee9c7241020d01000381000114ff00f4a413f4bcf2c80b01020162020c04f6d020c700925f04e001d0d3030171b0925f04e0fa40fa4031fa0031f401fa0031fa00013170f83a02d31f0101d33f01125165a1800f811d588209e1338070f83766b608a15155a1ed44d0fa4001f861fa4001f862fa4030f863218210ae7df95bbae3022182107817b330bae30221821005138d91bae302306c33200304050900c05b6c22f84112c705f2e0468020d721fa40fa4030c882105fcc3d14580402cb1fcb3f22cf1658cf167001ca0070fa027001ca00c9700180108050226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0000c45b32f841c705f2e046fa40fa40fa0030c882105fcc3d14580602cb1fcb3f21cf1601cf167001ca005003fa027001ca00c90176fb0270018010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0001783101fa40f40401d0fa00f404f404301034342070547000246ec0008e156c3101d0d300fa00fa0023963403fa0030039130e29134e255023324104a0306029e04aa015003a001a001a001a0811e0870f836a081354470f836a081128170f836a0812dca70f836a0801981269582100966018070f837a08055820086e68209e1338070f837a014be226eb321b0e30f070800c430c8471382108b0929625120071582106c582059500502cb1fcb3f12cb1f01fa02f40001cf1601cf1601cf1612ccc90176fb02f84170588010810082226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb0000b835355bc882105fcc3d14580502cb1fcb3f22cf1658cf167001ca0070fa027001ca00c912700180108050226eb32091719170e2c8500401cb055006cf165004fa02cb6a039358cc019130e201c901fb00f80f938100c8928064e2f2f002e08210581879bcba8e2730f84212c705f2e047fa4030f863f8438b02c705f2d050c8f841cf16f842cf16f843cf16c9ed54e020821060094a1bba8e1c5bf842c705f2e0478b02f863c8f841cf16f842cf16f843cf16c9ed54e02082106a4fbe34bae302821020faec53bae3025b840ff2f00a0b00525bf843c705f2e048f8438b02c705f2d050f843f8628b02f863c8f841cf16f842cf16f843cf16c9ed54002cf84212c705f2e047d421fb0401d0ed1eed53d430ed540035a0844bda89a1f48003f0c3f48003f0c5f48061f0c7f083f085f0873ea51522" }
|
|
@@ -5,7 +5,6 @@ export type CrossChainLayerConfig = {
|
|
|
5
5
|
adminAddress: string;
|
|
6
6
|
newAdminAddress?: string;
|
|
7
7
|
sequencerMultisigAddress: string;
|
|
8
|
-
groupPublicKey?: bigint;
|
|
9
8
|
maxRootsSize: number;
|
|
10
9
|
merkleRoots?: MerkleRoot[];
|
|
11
10
|
prevEpoch?: number;
|
|
@@ -26,7 +25,6 @@ export type EpochInfo = {
|
|
|
26
25
|
messageCollectEndTime: number;
|
|
27
26
|
nextVotingTime: number;
|
|
28
27
|
epochDelay: number;
|
|
29
|
-
groupPublicKey: bigint;
|
|
30
28
|
};
|
|
31
29
|
export type ExecutorData = {
|
|
32
30
|
address: Address;
|
|
@@ -59,7 +57,6 @@ export declare const CrossChainLayerOpCodes: {
|
|
|
59
57
|
newAdmin_confirmChangingAdminAddress: number;
|
|
60
58
|
sequencerMultisig_changeSequencerMultisigAddress: number;
|
|
61
59
|
sequencerMultisig_updateMerkleRoot: number;
|
|
62
|
-
sequencerMultisig_updateGroupPublicKey: number;
|
|
63
60
|
};
|
|
64
61
|
export declare const CrossChainLayerErrors: {
|
|
65
62
|
noErrors: number;
|
|
@@ -76,9 +73,6 @@ export declare const CrossChainLayerErrors: {
|
|
|
76
73
|
votingNotActive: number;
|
|
77
74
|
messageCollectEndTimeLow: number;
|
|
78
75
|
notEnoughProtocolFee: number;
|
|
79
|
-
messageCollectEndTimeHigh: number;
|
|
80
|
-
invalidSenderSignature: number;
|
|
81
|
-
unknownOp: number;
|
|
82
76
|
};
|
|
83
77
|
export declare function crossChainLayerConfigToCell(config: CrossChainLayerConfig): Cell;
|
|
84
78
|
export declare class CrossChainLayer implements Contract {
|
|
@@ -117,12 +111,7 @@ export declare class CrossChainLayer implements Contract {
|
|
|
117
111
|
payload: Cell;
|
|
118
112
|
responseAddress: Address;
|
|
119
113
|
}): Promise<void>;
|
|
120
|
-
|
|
121
|
-
queryId?: number;
|
|
122
|
-
groupPublicKey: bigint;
|
|
123
|
-
}): Promise<void>;
|
|
124
|
-
buildSignedUpdateMerkleRoot(secretKey: Buffer, merkleRoot: bigint, messageCollectEndTime: number): Cell;
|
|
125
|
-
sendUpdateMerkleRoot(provider: ContractProvider, secretKey: Buffer, opts: {
|
|
114
|
+
sendUpdateMerkleRoot(provider: ContractProvider, via: Sender, value: bigint, opts: {
|
|
126
115
|
queryId?: number;
|
|
127
116
|
merkleRoot: bigint;
|
|
128
117
|
messageCollectEndTime: number;
|
|
@@ -172,5 +161,4 @@ export declare class CrossChainLayer implements Contract {
|
|
|
172
161
|
getCurrentEpochInfo(provider: ContractProvider): Promise<EpochInfo>;
|
|
173
162
|
getExecutorAddress(provider: ContractProvider, payload: Cell): Promise<Address>;
|
|
174
163
|
getExecutorData(provider: ContractProvider, payload: Cell): Promise<ExecutorData>;
|
|
175
|
-
getEvmMsgToTvmFees(provider: ContractProvider, payload: Cell, proofBits: bigint, proofCells: bigint, executorFeeAmount: bigint, executorFeeToken: Address): Promise<bigint>;
|
|
176
164
|
}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CrossChainLayer = exports.CrossChainLayerErrors = exports.CrossChainLayerOpCodes = exports.MsgType = void 0;
|
|
4
4
|
exports.crossChainLayerConfigToCell = crossChainLayerConfigToCell;
|
|
5
5
|
const core_1 = require("@ton/core");
|
|
6
|
-
const crypto_1 = require("@ton/crypto");
|
|
7
6
|
const Constants_1 = require("./Constants");
|
|
8
7
|
const GasUtils_1 = require("./utils/GasUtils");
|
|
9
8
|
const MerkleRoots_1 = require("./utils/MerkleRoots");
|
|
@@ -34,8 +33,7 @@ exports.CrossChainLayerOpCodes = {
|
|
|
34
33
|
admin_updateTacProtocolFee: 0x3531465c,
|
|
35
34
|
newAdmin_confirmChangingAdminAddress: 0x6a4fbe34,
|
|
36
35
|
sequencerMultisig_changeSequencerMultisigAddress: 0x5cec6be0,
|
|
37
|
-
sequencerMultisig_updateMerkleRoot:
|
|
38
|
-
sequencerMultisig_updateGroupPublicKey: 0x74cd76b2,
|
|
36
|
+
sequencerMultisig_updateMerkleRoot: 0x23b05641,
|
|
39
37
|
};
|
|
40
38
|
exports.CrossChainLayerErrors = {
|
|
41
39
|
noErrors: 0,
|
|
@@ -52,9 +50,6 @@ exports.CrossChainLayerErrors = {
|
|
|
52
50
|
votingNotActive: 202,
|
|
53
51
|
messageCollectEndTimeLow: 203,
|
|
54
52
|
notEnoughProtocolFee: 204,
|
|
55
|
-
messageCollectEndTimeHigh: 205,
|
|
56
|
-
invalidSenderSignature: 32,
|
|
57
|
-
unknownOp: 0xfffff,
|
|
58
53
|
};
|
|
59
54
|
function crossChainLayerConfigToCell(config) {
|
|
60
55
|
return (0, core_1.beginCell)()
|
|
@@ -62,9 +57,6 @@ function crossChainLayerConfigToCell(config) {
|
|
|
62
57
|
.storeAddress(config.newAdminAddress ? core_1.Address.parse(config.newAdminAddress) : null)
|
|
63
58
|
.storeAddress(core_1.Address.parse(config.sequencerMultisigAddress))
|
|
64
59
|
.storeRef((0, core_1.beginCell)()
|
|
65
|
-
.storeUint(config.groupPublicKey ? config.groupPublicKey : 0n, Constants_1.Params.bitsize.hash)
|
|
66
|
-
.endCell())
|
|
67
|
-
.storeRef((0, core_1.beginCell)()
|
|
68
60
|
.storeCoins(config.tacProtocolFee ? (0, core_1.toNano)(config.tacProtocolFee.toFixed(9)) : 0)
|
|
69
61
|
.storeCoins(config.tonProtocolFee ? (0, core_1.toNano)(config.tonProtocolFee.toFixed(9)) : 0)
|
|
70
62
|
.storeCoins(config.protocolFeeSupply ? (0, core_1.toNano)(config.protocolFeeSupply.toFixed(9)) : 0)
|
|
@@ -142,34 +134,18 @@ class CrossChainLayer {
|
|
|
142
134
|
.endCell(),
|
|
143
135
|
});
|
|
144
136
|
}
|
|
145
|
-
async
|
|
137
|
+
async sendUpdateMerkleRoot(provider, via, value, opts) {
|
|
146
138
|
await provider.internal(via, {
|
|
147
139
|
value,
|
|
148
140
|
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
149
141
|
body: (0, core_1.beginCell)()
|
|
150
|
-
.storeUint(exports.CrossChainLayerOpCodes.
|
|
142
|
+
.storeUint(exports.CrossChainLayerOpCodes.sequencerMultisig_updateMerkleRoot, Constants_1.Params.bitsize.op)
|
|
151
143
|
.storeUint(opts.queryId || 0, Constants_1.Params.bitsize.queryId)
|
|
152
|
-
.storeUint(opts.
|
|
144
|
+
.storeUint(opts.merkleRoot, Constants_1.Params.bitsize.hash)
|
|
145
|
+
.storeUint(opts.messageCollectEndTime, Constants_1.Params.bitsize.time)
|
|
153
146
|
.endCell(),
|
|
154
147
|
});
|
|
155
148
|
}
|
|
156
|
-
buildSignedUpdateMerkleRoot(secretKey, merkleRoot, messageCollectEndTime) {
|
|
157
|
-
let msg = (0, core_1.beginCell)()
|
|
158
|
-
.storeUint(merkleRoot, Constants_1.Params.bitsize.hash)
|
|
159
|
-
.storeUint(messageCollectEndTime, Constants_1.Params.bitsize.time)
|
|
160
|
-
.endCell();
|
|
161
|
-
let signature = (0, crypto_1.sign)(msg.hash(), secretKey);
|
|
162
|
-
msg = (0, core_1.beginCell)()
|
|
163
|
-
.storeUint(exports.CrossChainLayerOpCodes.sequencerMultisig_updateMerkleRoot, 32)
|
|
164
|
-
.storeBuffer(signature)
|
|
165
|
-
.storeSlice(msg.asSlice())
|
|
166
|
-
.endCell();
|
|
167
|
-
return msg;
|
|
168
|
-
}
|
|
169
|
-
async sendUpdateMerkleRoot(provider, secretKey, opts) {
|
|
170
|
-
const msg = this.buildSignedUpdateMerkleRoot(secretKey, opts.merkleRoot, opts.messageCollectEndTime);
|
|
171
|
-
await provider.external(msg);
|
|
172
|
-
}
|
|
173
149
|
async sendAddProtocolFee(provider, via, value, opts) {
|
|
174
150
|
await provider.internal(via, {
|
|
175
151
|
value,
|
|
@@ -304,12 +280,10 @@ class CrossChainLayer {
|
|
|
304
280
|
const tonProtocolFee = Number((0, core_1.fromNano)(result.stack.readNumber()));
|
|
305
281
|
const protocolFeeSupply = Number((0, core_1.fromNano)(result.stack.readNumber()));
|
|
306
282
|
const executorCode = result.stack.readCell();
|
|
307
|
-
const groupPublicKey = result.stack.readBigNumber();
|
|
308
283
|
return {
|
|
309
284
|
adminAddress,
|
|
310
285
|
newAdminAddress,
|
|
311
286
|
sequencerMultisigAddress,
|
|
312
|
-
groupPublicKey,
|
|
313
287
|
maxRootsSize,
|
|
314
288
|
merkleRoots: (0, MerkleRoots_1.cellToArray)(merkleRoots),
|
|
315
289
|
prevEpoch,
|
|
@@ -332,7 +306,6 @@ class CrossChainLayer {
|
|
|
332
306
|
const nextVotingTime = result.stack.readNumber();
|
|
333
307
|
const epochDelay = result.stack.readNumber();
|
|
334
308
|
const maxRootsSize = result.stack.readNumber();
|
|
335
|
-
const groupPublicKey = result.stack.readBigNumber();
|
|
336
309
|
return {
|
|
337
310
|
lastMerkleRoot,
|
|
338
311
|
prevEpoch,
|
|
@@ -341,7 +314,6 @@ class CrossChainLayer {
|
|
|
341
314
|
nextVotingTime,
|
|
342
315
|
epochDelay,
|
|
343
316
|
maxRootsSize,
|
|
344
|
-
groupPublicKey,
|
|
345
317
|
};
|
|
346
318
|
}
|
|
347
319
|
async getExecutorAddress(provider, payload) {
|
|
@@ -357,18 +329,8 @@ class CrossChainLayer {
|
|
|
357
329
|
stateInit,
|
|
358
330
|
};
|
|
359
331
|
}
|
|
360
|
-
async getEvmMsgToTvmFees(provider, payload, proofBits, proofCells, executorFeeAmount, executorFeeToken) {
|
|
361
|
-
const result = await provider.get('calculate_evm_msg_to_tvm_fees', [
|
|
362
|
-
{ type: 'cell', cell: payload },
|
|
363
|
-
{ type: 'int', value: proofBits },
|
|
364
|
-
{ type: 'int', value: proofCells },
|
|
365
|
-
{ type: 'int', value: executorFeeAmount },
|
|
366
|
-
{ type: 'slice', cell: (0, core_1.beginCell)().storeAddress(executorFeeToken).endCell() },
|
|
367
|
-
]);
|
|
368
|
-
return result.stack.readBigNumber();
|
|
369
|
-
}
|
|
370
332
|
}
|
|
371
333
|
exports.CrossChainLayer = CrossChainLayer;
|
|
372
334
|
CrossChainLayer.minStorageDuration = 365 * 24 * 3600; //1 year
|
|
373
|
-
CrossChainLayer.storageStats = new GasUtils_1.StorageStats(
|
|
374
|
-
CrossChainLayer.addFeeGasConsumption =
|
|
335
|
+
CrossChainLayer.storageStats = new GasUtils_1.StorageStats(34518n, 87n);
|
|
336
|
+
CrossChainLayer.addFeeGasConsumption = 6460n;
|
|
@@ -19,7 +19,7 @@ export declare const JettonMinterErrors: {
|
|
|
19
19
|
};
|
|
20
20
|
export type JettonMinterConfig = {
|
|
21
21
|
totalSupply: bigint;
|
|
22
|
-
adminAddress
|
|
22
|
+
adminAddress: Address;
|
|
23
23
|
newAdminAddress?: Address;
|
|
24
24
|
content: Cell;
|
|
25
25
|
jettonWalletCode: Cell;
|
|
@@ -28,7 +28,7 @@ export type JettonMinterConfig = {
|
|
|
28
28
|
export type JettonMinterData = {
|
|
29
29
|
totalSupply: bigint;
|
|
30
30
|
mintable: boolean;
|
|
31
|
-
adminAddress
|
|
31
|
+
adminAddress: Address;
|
|
32
32
|
content: Cell;
|
|
33
33
|
walletCode: Cell;
|
|
34
34
|
};
|
|
@@ -166,7 +166,7 @@ class JettonMinter {
|
|
|
166
166
|
const res = await provider.get('get_jetton_data', []);
|
|
167
167
|
const totalSupply = res.stack.readBigNumber();
|
|
168
168
|
const mintable = res.stack.readBoolean();
|
|
169
|
-
const adminAddress = res.stack.
|
|
169
|
+
const adminAddress = res.stack.readAddress();
|
|
170
170
|
const content = res.stack.readCell();
|
|
171
171
|
const walletCode = res.stack.readCell();
|
|
172
172
|
return {
|
|
@@ -184,7 +184,7 @@ class JettonMinter {
|
|
|
184
184
|
async getFullData(provider) {
|
|
185
185
|
const res = await provider.get('get_full_data', []);
|
|
186
186
|
const totalSupply = res.stack.readBigNumber();
|
|
187
|
-
const adminAddress = res.stack.
|
|
187
|
+
const adminAddress = res.stack.readAddress();
|
|
188
188
|
const newAdminAddress = res.stack.readAddressOpt() ?? undefined;
|
|
189
189
|
const content = res.stack.readCell();
|
|
190
190
|
const jettonWalletCode = res.stack.readCell();
|
|
@@ -183,7 +183,7 @@ async function liteClientOpener(options) {
|
|
|
183
183
|
getConfig: async () => {
|
|
184
184
|
const block = await client.getMasterchainInfo();
|
|
185
185
|
const { config } = await client.getConfig(block.last);
|
|
186
|
-
return config;
|
|
186
|
+
return (0, ton_1.beginCell)().storeDictDirect(config).endCell().toBoc().toString('base64');
|
|
187
187
|
},
|
|
188
188
|
};
|
|
189
189
|
}
|
|
@@ -208,7 +208,7 @@ function sandboxOpener(blockchain) {
|
|
|
208
208
|
throw new Error('Not implemented.');
|
|
209
209
|
},
|
|
210
210
|
getConfig: async () => {
|
|
211
|
-
return blockchain.config.
|
|
211
|
+
return blockchain.config.toBoc().toString('base64');
|
|
212
212
|
},
|
|
213
213
|
};
|
|
214
214
|
}
|
|
@@ -239,9 +239,7 @@ async function orbsOpener(network) {
|
|
|
239
239
|
url.searchParams.append('seqno', info.latestSeqno.toString());
|
|
240
240
|
const result = await fetch(url);
|
|
241
241
|
const body = await result.json();
|
|
242
|
-
return
|
|
243
|
-
.beginParse()
|
|
244
|
-
.loadDictDirect(ton_1.Dictionary.Keys.Int(32), ton_1.Dictionary.Values.Cell());
|
|
242
|
+
return body.result.config.bytes;
|
|
245
243
|
},
|
|
246
244
|
};
|
|
247
245
|
}
|
|
@@ -286,9 +284,7 @@ async function orbsOpener4(network, timeout = 10000) {
|
|
|
286
284
|
getConfig: async () => {
|
|
287
285
|
const block = await client4.getLastBlock();
|
|
288
286
|
const { config } = await client4.getConfig(block.last.seqno);
|
|
289
|
-
return
|
|
290
|
-
.beginParse()
|
|
291
|
-
.loadDictDirect(ton_1.Dictionary.Keys.Int(32), ton_1.Dictionary.Values.Cell());
|
|
287
|
+
return config.cell;
|
|
292
288
|
},
|
|
293
289
|
};
|
|
294
290
|
}
|
|
@@ -317,9 +313,7 @@ function tonClientOpener(client) {
|
|
|
317
313
|
url.searchParams.append('seqno', info.latestSeqno.toString());
|
|
318
314
|
const result = await fetch(url);
|
|
319
315
|
const body = await result.json();
|
|
320
|
-
return
|
|
321
|
-
.beginParse()
|
|
322
|
-
.loadDictDirect(ton_1.Dictionary.Keys.Int(32), ton_1.Dictionary.Values.Cell());
|
|
316
|
+
return body.result.config.bytes;
|
|
323
317
|
},
|
|
324
318
|
};
|
|
325
319
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SandboxContract } from '@ton/sandbox';
|
|
2
|
-
import { Address,
|
|
2
|
+
import { Address, Contract, OpenedContract, Transaction } from '@ton/ton';
|
|
3
3
|
import { ContractOpener } from '../interfaces';
|
|
4
4
|
import { AddressInformation, GetTransactionsOptions } from '../structs/InternalStruct';
|
|
5
5
|
import { ContractState, Network } from '../structs/Struct';
|
|
@@ -19,7 +19,7 @@ export declare class RetryableContractOpener implements ContractOpener {
|
|
|
19
19
|
open<T extends Contract>(src: T): OpenedContract<T> | SandboxContract<T>;
|
|
20
20
|
getContractState(address: Address): Promise<ContractState>;
|
|
21
21
|
getAddressInformation(address: Address): Promise<AddressInformation>;
|
|
22
|
-
getConfig(): Promise<
|
|
22
|
+
getConfig(): Promise<string>;
|
|
23
23
|
closeConnections(): void;
|
|
24
24
|
private executeWithFallback;
|
|
25
25
|
private tryWithRetries;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SandboxContract } from '@ton/sandbox';
|
|
2
|
-
import type { Address,
|
|
2
|
+
import type { Address, Contract, OpenedContract, Transaction } from '@ton/ton';
|
|
3
3
|
import { AddressInformation, GetTransactionsOptions } from '../structs/InternalStruct';
|
|
4
4
|
import { ContractState } from '../structs/Struct';
|
|
5
5
|
export interface ContractOpener {
|
|
@@ -22,5 +22,5 @@ export interface ContractOpener {
|
|
|
22
22
|
getTransactionByHash(address: Address, hash: string, opts?: GetTransactionsOptions): Promise<Transaction | null>;
|
|
23
23
|
getAdjacentTransactions(address: Address, hash: string, opts?: GetTransactionsOptions): Promise<Transaction[]>;
|
|
24
24
|
getAddressInformation(address: Address): Promise<AddressInformation>;
|
|
25
|
-
getConfig(): Promise<
|
|
25
|
+
getConfig(): Promise<string>;
|
|
26
26
|
}
|
|
@@ -196,54 +196,17 @@ class Configuration {
|
|
|
196
196
|
static async retrieveTONFeesParams(contractOpener) {
|
|
197
197
|
try {
|
|
198
198
|
const config = await contractOpener.getConfig();
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
199
|
+
const fullConfig = (0, ton_1.parseFullConfig)((0, ton_1.loadConfigParamsAsSlice)(config));
|
|
200
|
+
return {
|
|
201
|
+
gasPrice: Number(fullConfig.gasPrices.workchain.other.gasPrice),
|
|
202
|
+
lumpPrice: Number(fullConfig.msgPrices.workchain.lumpPrice),
|
|
203
|
+
msgBitPrice: Number(fullConfig.msgPrices.workchain.bitPrice),
|
|
204
|
+
msgCellPrice: Number(fullConfig.msgPrices.workchain.cellPrice),
|
|
205
|
+
ihrPriceFactor: Number(fullConfig.msgPrices.workchain.ihrPriceFactor),
|
|
206
|
+
firstFrac: Number(fullConfig.msgPrices.workchain.firstFrac),
|
|
207
|
+
accountBitPrice: Number(fullConfig.storagePrices[0].bit_price_ps),
|
|
208
|
+
accountCellPrice: Number(fullConfig.storagePrices[0].cell_price_ps),
|
|
208
209
|
};
|
|
209
|
-
// ───────────────────────────────────────────────
|
|
210
|
-
// Param 21 – Gas prices
|
|
211
|
-
// ───────────────────────────────────────────────
|
|
212
|
-
const param21 = config.get(21);
|
|
213
|
-
if (!param21)
|
|
214
|
-
throw new Error('Param 21 (gas prices) not found in config');
|
|
215
|
-
let slice = param21.beginParse();
|
|
216
|
-
slice.skip(8 + 64 + 64 + 8); // = 144 bits
|
|
217
|
-
const gasPriceRaw = slice.loadUint(64);
|
|
218
|
-
prices.gasPrice = gasPriceRaw / 65536;
|
|
219
|
-
// ───────────────────────────────────────────────
|
|
220
|
-
// Param 25 – Message forwarding prices
|
|
221
|
-
// ───────────────────────────────────────────────
|
|
222
|
-
const param25 = config.get(25);
|
|
223
|
-
if (!param25)
|
|
224
|
-
throw new Error('Param 25 (msg prices) not found in config');
|
|
225
|
-
slice = param25.beginParse();
|
|
226
|
-
slice.skip(8); // usually just flags / version
|
|
227
|
-
prices.lumpPrice = slice.loadUint(64);
|
|
228
|
-
prices.msgBitPrice = slice.loadUint(64);
|
|
229
|
-
prices.msgCellPrice = slice.loadUint(64);
|
|
230
|
-
prices.ihrPriceFactor = slice.loadUint(32);
|
|
231
|
-
prices.firstFrac = slice.loadUint(16);
|
|
232
|
-
// ───────────────────────────────────────────────
|
|
233
|
-
// Param 18 – Storage prices
|
|
234
|
-
// ───────────────────────────────────────────────
|
|
235
|
-
const param18 = config.get(18);
|
|
236
|
-
if (!param18)
|
|
237
|
-
throw new Error('Param 18 (storage prices) not found in config');
|
|
238
|
-
const dict = param18.beginParse().loadDictDirect(ton_1.Dictionary.Keys.Uint(32), ton_1.Dictionary.Values.Cell());
|
|
239
|
-
const entry = await dict.get(0);
|
|
240
|
-
if (!entry)
|
|
241
|
-
throw new Error('Storage price entry for key 0 not found');
|
|
242
|
-
slice = entry.beginParse();
|
|
243
|
-
slice.skip(8 + 32);
|
|
244
|
-
prices.accountBitPrice = slice.loadUint(64);
|
|
245
|
-
prices.accountCellPrice = slice.loadUint(64);
|
|
246
|
-
return prices;
|
|
247
210
|
}
|
|
248
211
|
catch {
|
|
249
212
|
// return standard values from https://tonviewer.com/config#25 in case of failure
|
|
@@ -251,7 +214,7 @@ class Configuration {
|
|
|
251
214
|
accountBitPrice: 1,
|
|
252
215
|
accountCellPrice: 500,
|
|
253
216
|
lumpPrice: 400000,
|
|
254
|
-
gasPrice:
|
|
217
|
+
gasPrice: 26214400,
|
|
255
218
|
firstFrac: 21845,
|
|
256
219
|
ihrPriceFactor: 98304,
|
|
257
220
|
msgBitPrice: 26214400,
|
|
@@ -81,7 +81,7 @@ class Simulator {
|
|
|
81
81
|
// Storage Fee (nanotons)
|
|
82
82
|
const storageFee = Math.ceil(((accountBits * accountBitPrice + accountCells * accountCellPrice) * timeDelta) / Fees_1.FIXED_POINT_SHIFT);
|
|
83
83
|
// Computation Fee (nanotons)
|
|
84
|
-
const computeFee = gasUsed * gasPrice;
|
|
84
|
+
const computeFee = (gasUsed * gasPrice) / Fees_1.FIXED_POINT_SHIFT;
|
|
85
85
|
// Forwarding Fee (nanotons)
|
|
86
86
|
const msgFwdFees = lumpPrice + Math.ceil((msgBitPrice * msgBits + msgCellPrice * msgCells) / Fees_1.FIXED_POINT_SHIFT);
|
|
87
87
|
const ihrFwdFees = Math.ceil((msgFwdFees * ihrPriceFactor) / Fees_1.FIXED_POINT_SHIFT);
|
|
@@ -89,8 +89,8 @@ class Simulator {
|
|
|
89
89
|
// Action Fee (nanotons)
|
|
90
90
|
const actionFee = Math.floor((msgFwdFees * firstFrac) / Fees_1.FIXED_POINT_SHIFT);
|
|
91
91
|
// Combine all fees
|
|
92
|
-
const totalFees =
|
|
93
|
-
return totalFees;
|
|
92
|
+
const totalFees = storageFee + computeFee + actionFee + totalFwdFees;
|
|
93
|
+
return BigInt(Math.ceil(totalFees));
|
|
94
94
|
}
|
|
95
95
|
calculateTransactionPipeline(steps) {
|
|
96
96
|
return steps.reduce((total, step) => total + this.calculateTONFees({ ...step, ...this.config.TONParams.feesParams }), 0n);
|
|
@@ -162,19 +162,37 @@ class TonIndexerTxFinalizer {
|
|
|
162
162
|
if (tx.inMsg.value === Consts_1.IGNORE_MSG_VALUE_1_NANO.toString())
|
|
163
163
|
continue; // we ignore messages with 1 nanoton value as they are for notification purpose only
|
|
164
164
|
if (!IGNORE_OPCODE.includes(Number(tx.inMsg.opcode)) && tx.inMsg.opcode !== null) {
|
|
165
|
-
const { aborted, computePh
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
165
|
+
const { aborted, computePh, action } = tx.description;
|
|
166
|
+
const failureCase = (() => {
|
|
167
|
+
switch (true) {
|
|
168
|
+
case aborted:
|
|
169
|
+
return 'Transaction was aborted';
|
|
170
|
+
case !computePh:
|
|
171
|
+
return 'computePh not present';
|
|
172
|
+
case !computePh.success:
|
|
173
|
+
return 'computePh not successful';
|
|
174
|
+
case !action:
|
|
175
|
+
return 'action not present';
|
|
176
|
+
case !action.success:
|
|
177
|
+
return 'action not successful';
|
|
178
|
+
case computePh.exitCode !== 0:
|
|
179
|
+
return `computePh.exitCode was not zero (exitCode=${computePh.exitCode})`;
|
|
180
|
+
case action.resultCode !== 0:
|
|
181
|
+
return `action.resultCode was not zero (resultCode=${action.resultCode})`;
|
|
182
|
+
default:
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
185
|
+
})();
|
|
186
|
+
if (failureCase) {
|
|
187
|
+
throw new Error(`Transaction failed [${failureCase}]:\n` +
|
|
172
188
|
`hash = ${currentHash}, ` +
|
|
173
189
|
`aborted = ${aborted}, ` +
|
|
174
|
-
`
|
|
175
|
-
`
|
|
176
|
-
`
|
|
177
|
-
`
|
|
190
|
+
`computePh = ${computePh}, ` +
|
|
191
|
+
`action = ${action}, ` +
|
|
192
|
+
`computePh.success = ${computePh?.success}, ` +
|
|
193
|
+
`computePh.exitCode = ${computePh?.exitCode}, ` +
|
|
194
|
+
`action.success = ${action?.success}, ` +
|
|
195
|
+
`action.resultCode = ${action?.resultCode}`);
|
|
178
196
|
}
|
|
179
197
|
if (currentDepth + 1 < maxDepth) {
|
|
180
198
|
if (tx.outMsgs.length > 0) {
|
|
@@ -74,11 +74,11 @@ export interface SendResult {
|
|
|
74
74
|
export type ToncenterTransaction = {
|
|
75
75
|
description: {
|
|
76
76
|
aborted: boolean;
|
|
77
|
-
action
|
|
77
|
+
action?: {
|
|
78
78
|
resultCode: number;
|
|
79
79
|
success: boolean;
|
|
80
80
|
};
|
|
81
|
-
computePh
|
|
81
|
+
computePh?: {
|
|
82
82
|
exitCode: number;
|
|
83
83
|
success: boolean;
|
|
84
84
|
};
|