From 6c64cc68af761834e6f3148dfbd54213bfe7d04b Mon Sep 17 00:00:00 2001 From: Denis Subbotin Date: Thu, 30 Jan 2025 23:50:11 +0300 Subject: [PATCH] add test for new contract --- abi/generated_test.go | 23 +++++++++++++++++++++++ abi/inspect_test.go | 9 +++++++++ 2 files changed, 32 insertions(+) diff --git a/abi/generated_test.go b/abi/generated_test.go index 3700e0d1..c8c33f5a 100644 --- a/abi/generated_test.go +++ b/abi/generated_test.go @@ -605,6 +605,29 @@ func TestGetMethods(t *testing.T) { DepositedAmount: tlb.Int257FromInt64(1492595), }, }, + { + name: "nft_sale v4", + account: "0:f62a2be8fa6b2ef1db103623243c732811f98d037a14f9943fc967a36cdf6f5e", + code: "b5ee9c72010218010006fb000114ff00f4a413f4bcf2c80b0102016202030202cd04050067a1bce7da89a1a601f481f481f401a63fa67fa9e8086003a1f481f481a621a621f481a63e60198002181614a1302e20ac206a802703f1d76d176fd99e8698180b8d8492f81f07d201876a26869807d207d207d00698fe99fea7a02382986638060004a9886698f86ef10e1804a1806699fc70945b31b0b731b2b64176382c998b980ef2806f1146ba4e10117408115dd1660009159d8d829ede382d87181410839b1684e29785d718115e000f968ca406070800aff687d207d20698869887d20698f981829b2de4ac088caf9786f2931c100c35054c229314100c35054c229b0d090d090608011e0805891608058c9f960e1ef126ba4e081c938196f12eba4e081c93819ef2833d0a802a189c0066165f066c72d430d0d307218020b0f2d19522c3008e14810258f8235341a1bc04f82302a0b913b0f2d1969132e201d43001fb0004983335353b28fa4401c000f2e1c403fa00fa403051428307f40e6fa1b31ab10cb31cb1e30207fa003053a0b982100f7f49001bb91ab1e30254772924ed44ed45ed478aed67ed65ed64747fed11090a0b0c03fe8210664c090552f0ba925f0fe08210fb5dbf4752f0ba53dbc705b08e483031323738383803d30001c00093f2c15eded3ff30058308d71820f9014007f910f2a304fa40f4043010474560102407c8cb005006cf165004cf1658fa02cb1fcb3fccf400c9ed54e0338210fd135f7b52e0ba53c9c705b0e30202b3e3023133333611121300cc5b50755f055410317f22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e200cc3050755f055410317f22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e200c45b667f22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e2db3101108aed41edf101f2ff0d01ec541899f007712d544930544ca05611500b22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e2712c5138467352f70e01ca22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e2712a5136453352d60f01ca22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e2177f23544a3052b01002d422c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e2542507db3c71454613f823431316170058375f03373737fa00f40430104710364540433007c8cb005006cf165004cf1658fa02cb1fcb3fccf400c9ed54009830363920d0fa40fa40d310d310fa40d31f30155f0518c705f2e1f4821005138d9119baf2e1f502fa403010471036505544140307c8cb005006cf165004cf1658fa02cb1fcb3fccf400c9ed5403fc735290ba8ee938821005f5e10017bef2e1c95341c7055353c705b1f2e1ca23d0fa40fa40d310d310fa40d31f30155f05702082105fcc3d14218010c8cb055005cf1622fa0214cb6a13cb1f19cb3f23cf165006cf1615ca0026fa0216ca00c98306fb00717054160010364015504403e028c000721aba19b1e3025f08840f17141502fa21c101f2d1cb821005f5e1005220a05270bef2e1c2545175f00731527620c101915b8e13708010c8cb055003cf1601fa02cb6ac973fb00e2502320c101915b8e13708010c8cb055003cf1601fa02cb6ac973fb00e220c101915b8e13708010c8cb055003cf1601fa02cb6ac973fb00e2542076db3c71454613f823502316170004f2f00068702082105fcc3d14c8cb1f14cb3f22cf1658cf1612ca0071fa02ca00c9718018c8cb055003cf1670fa0212cb6accc9810082fb00003207c8cb005006cf165004cf1658fa02cb1fcb3fccf400c9ed54", + data: "b5ee9c720102030100010d00029fc00584ee61b2dff0837116d0fcb5078d93964bcbe9c05fd6a141b1bfca5d6a43e18801fc1dc6acacf0f3349927b0be0062ca4369ba04d1ef1d01ef32caccee6566900400000000000000000000000018010200d9801877638f7635b876ec309e72d696103d3c0cad0d76714d80d4efd1bb947a3fd0f003a715f3bc9f5bcafba39ad93d9900bcc9ee68481a308c760ee84facbc5a0834dc2710271080057d89532437d91302a778ee0f3c67749cb5017111ad0e0e2009d51e83fb70e04ce49f9bd0008fa011303155469c2259ddea6764ef12e9e74e5a514eb04a5968ef8ab4a1f8733ddb0850d2eb01002c44ea652d4092859c67da44e4ca3add6565b0e2897d640a2c51bfb370d8877fa0", + method: GetFixPriceDataV4, + wantTypeHint: "GetFixPriceDataV4Result", + want: GetFixPriceDataV4Result{ + IsComplete: true, + CreatedAt: 1730477278, + MarketplaceAddress: mustToMsgAddress("0:584ee61b2dff0837116d0fcb5078d93964bcbe9c05fd6a141b1bfca5d6a43e18"), + NftAddress: mustToMsgAddress("0:2bec4a9921bec898153bc77079e33ba4e5a80b888d687071004ea8f41fdb8702"), + NftOwnerAddress: pointer(mustToMsgAddress("0:fe0ee3565678799a4c93d85f00316521b4dd0268f78e80f79965667732b34802")), + FullPrice: tlb.Int257{}, + FeeAddress: mustToMsgAddress("0:c3bb1c7bb1adc3b76184f396b4b081e9e065686bb38a6c06a77e8ddca3d1fe87"), + FeePercent: 0x1388, + RoyaltyAddress: mustToMsgAddress("0:e9c57cef27d6f2bee8e6b64f66402f327b9a12068c231d83ba13eb2f16820d37"), + RoyaltyPercent: 0x2710, + SoldAt: 0, + SoldQueryId: 0, + JettonPriceDict: mustHexToCellPtr("b5ee9c7201010101004a00008fa011303155469c2259ddea6764ef12e9e74e5a514eb04a5968ef8ab4a1f8733ddb0850d2eb01002c44ea652d4092859c67da44e4ca3add6565b0e2897d640a2c51bfb370d8877fa0"), + }, + }, } for _, tt := range tests { diff --git a/abi/inspect_test.go b/abi/inspect_test.go index b1d0b549..6f1194b0 100644 --- a/abi/inspect_test.go +++ b/abi/inspect_test.go @@ -114,6 +114,15 @@ func Test_contractInspector_InspectContract(t *testing.T) { TonstakePool, }, }, + { + name: "nft_sale v4", + account: "0:f62a2be8fa6b2ef1db103623243c732811f98d037a14f9943fc967a36cdf6f5e", + code: "b5ee9c72010218010006fb000114ff00f4a413f4bcf2c80b0102016202030202cd04050067a1bce7da89a1a601f481f481f401a63fa67fa9e8086003a1f481f481a621a621f481a63e60198002181614a1302e20ac206a802703f1d76d176fd99e8698180b8d8492f81f07d201876a26869807d207d207d00698fe99fea7a02382986638060004a9886698f86ef10e1804a1806699fc70945b31b0b731b2b64176382c998b980ef2806f1146ba4e10117408115dd1660009159d8d829ede382d87181410839b1684e29785d718115e000f968ca406070800aff687d207d20698869887d20698f981829b2de4ac088caf9786f2931c100c35054c229314100c35054c229b0d090d090608011e0805891608058c9f960e1ef126ba4e081c938196f12eba4e081c93819ef2833d0a802a189c0066165f066c72d430d0d307218020b0f2d19522c3008e14810258f8235341a1bc04f82302a0b913b0f2d1969132e201d43001fb0004983335353b28fa4401c000f2e1c403fa00fa403051428307f40e6fa1b31ab10cb31cb1e30207fa003053a0b982100f7f49001bb91ab1e30254772924ed44ed45ed478aed67ed65ed64747fed11090a0b0c03fe8210664c090552f0ba925f0fe08210fb5dbf4752f0ba53dbc705b08e483031323738383803d30001c00093f2c15eded3ff30058308d71820f9014007f910f2a304fa40f4043010474560102407c8cb005006cf165004cf1658fa02cb1fcb3fccf400c9ed54e0338210fd135f7b52e0ba53c9c705b0e30202b3e3023133333611121300cc5b50755f055410317f22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e200cc3050755f055410317f22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e200c45b667f22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e2db3101108aed41edf101f2ff0d01ec541899f007712d544930544ca05611500b22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e2712c5138467352f70e01ca22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e2712a5136453352d60f01ca22c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e2177f23544a3052b01002d422c101925f068e547021c0ff935b707fde702082100f8a7ea5c8cb1f18cb3f5005fa025005cf1658cf1614ca0023fa02cb00c9718010c8cb055005cf162292337098820a625a005004a0e213fa0213cb6accc9019280429173e2fb00e2542507db3c71454613f823431316170058375f03373737fa00f40430104710364540433007c8cb005006cf165004cf1658fa02cb1fcb3fccf400c9ed54009830363920d0fa40fa40d310d310fa40d31f30155f0518c705f2e1f4821005138d9119baf2e1f502fa403010471036505544140307c8cb005006cf165004cf1658fa02cb1fcb3fccf400c9ed5403fc735290ba8ee938821005f5e10017bef2e1c95341c7055353c705b1f2e1ca23d0fa40fa40d310d310fa40d31f30155f05702082105fcc3d14218010c8cb055005cf1622fa0214cb6a13cb1f19cb3f23cf165006cf1615ca0026fa0216ca00c98306fb00717054160010364015504403e028c000721aba19b1e3025f08840f17141502fa21c101f2d1cb821005f5e1005220a05270bef2e1c2545175f00731527620c101915b8e13708010c8cb055003cf1601fa02cb6ac973fb00e2502320c101915b8e13708010c8cb055003cf1601fa02cb6ac973fb00e220c101915b8e13708010c8cb055003cf1601fa02cb6ac973fb00e2542076db3c71454613f823502316170004f2f00068702082105fcc3d14c8cb1f14cb3f22cf1658cf1612ca0071fa02ca00c9718018c8cb055003cf1670fa0212cb6accc9810082fb00003207c8cb005006cf165004cf1658fa02cb1fcb3fccf400c9ed54", + data: "b5ee9c720102030100010d00029fc00584ee61b2dff0837116d0fcb5078d93964bcbe9c05fd6a141b1bfca5d6a43e18801fc1dc6acacf0f3349927b0be0062ca4369ba04d1ef1d01ef32caccee6566900400000000000000000000000018010200d9801877638f7635b876ec309e72d696103d3c0cad0d76714d80d4efd1bb947a3fd0f003a715f3bc9f5bcafba39ad93d9900bcc9ee68481a308c760ee84facbc5a0834dc2710271080057d89532437d91302a778ee0f3c67749cb5017111ad0e0e2009d51e83fb70e04ce49f9bd0008fa011303155469c2259ddea6764ef12e9e74e5a514eb04a5968ef8ab4a1f8733ddb0850d2eb01002c44ea652d4092859c67da44e4ca3add6565b0e2897d640a2c51bfb370d8877fa0", + want: []ContractInterface{ + NftSaleGetgemsV4, + }, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {