From 924e54ece76d7fa03b4d5a08325964b2ce9520b3 Mon Sep 17 00:00:00 2001 From: tontradingbot-dev Date: Mon, 16 Dec 2024 02:08:15 +0700 Subject: [PATCH] ABI support for Bcl contracts --- abi/contracts_errors.go | 16 +++ abi/get_methods.go | 261 ++++++++++++++++++++++++++++++++++++ abi/interfaces.go | 79 +++++++++++ abi/messages.md | 18 +++ abi/messages_generated.go | 252 +++++++++++++++++++++++++++++++++++ abi/schemas/bcl.xml | 271 ++++++++++++++++++++++++++++++++++++++ abi/types.go | 135 +++++++++++++++++++ 7 files changed, 1032 insertions(+) create mode 100644 abi/schemas/bcl.xml diff --git a/abi/contracts_errors.go b/abi/contracts_errors.go index 08aef8b3..13a465be 100644 --- a/abi/contracts_errors.go +++ b/abi/contracts_errors.go @@ -5,6 +5,22 @@ package abi import () var contractErrors = map[ContractInterface]map[int32]string{ + BclJetton: {47: "Balance error", + 48: "Not enough gas", + 49: "Invalid message", + 73: "Not owner", + 333: "Wrong workchain", + 707: "Slippage error", + 708: "Too many coins to buy", + 709: "No funds for gas", + 711: "Trading disabled", + 712: "Trading enabled", + 713: "Invalid wallet", + 714: "Too many coins to sell", + 715: "Not admin", + 716: "Not author", + 65535: "Wrong op", + }, MultisigOrderV2: {104: "Unauthorized init", 105: "Already inited", 106: "Unauthorized sign", diff --git a/abi/get_methods.go b/abi/get_methods.go index e587e039..cb287387 100644 --- a/abi/get_methods.go +++ b/abi/get_methods.go @@ -11,6 +11,8 @@ import ( ) var KnownGetMethodsDecoder = map[string][]func(tlb.VmStack) (string, any, error){ + "coin_price": {DecodeCoinPrice_BclResult}, + "coins_for_tons": {DecodeCoinsForTons_BclResult}, "dnsresolve": {DecodeDnsresolve_RecordsResult}, "estimate_swap_out": {DecodeEstimateSwapOut_DedustResult}, "get_amm_contract_data": {DecodeGetAmmContractData_StormResult}, @@ -22,6 +24,7 @@ var KnownGetMethodsDecoder = map[string][]func(tlb.VmStack) (string, any, error) "get_auction_info": {DecodeGetAuctionInfoResult}, "get_authority_address": {DecodeGetAuthorityAddressResult}, "get_balances": {DecodeGetBalances_DedustResult, DecodeGetBalancesResult}, + "get_bcl_data": {DecodeGetBclData_BclResult}, "get_bill_address": {DecodeGetBillAddressResult}, "get_bill_amount": {DecodeGetBillAmountResult}, "get_channel_data": {DecodeGetChannelDataResult}, @@ -33,6 +36,7 @@ var KnownGetMethodsDecoder = map[string][]func(tlb.VmStack) (string, any, error) "get_executor_collection_address": {DecodeGetExecutorCollectionAddress_StormResult}, "get_executor_vaults_whitelist": {DecodeGetExecutorVaultsWhitelist_StormResult}, "get_expected_outputs": {DecodeGetExpectedOutputs_StonfiResult}, + "get_factory_data": {DecodeGetFactoryData_BclResult}, "get_full_domain": {DecodeGetFullDomainResult}, "get_jetton_data": {DecodeGetJettonDataResult}, "get_last_clean_time": {DecodeGetLastCleanTimeResult}, @@ -93,6 +97,7 @@ var KnownGetMethodsDecoder = map[string][]func(tlb.VmStack) (string, any, error) "get_timeout": {DecodeGetTimeoutResult}, "get_torrent_hash": {DecodeGetTorrentHashResult}, "get_trade_fee": {DecodeGetTradeFee_DedustResult}, + "get_transfers_enabled": {DecodeGetTransfersEnabled_BclResult}, "get_validator_controller_data": {DecodeGetValidatorControllerDataResult}, "get_vamm_type": {DecodeGetVammType_StormResult}, "get_vault_address": {DecodeGetVaultAddress_DedustResult}, @@ -112,6 +117,7 @@ var KnownGetMethodsDecoder = map[string][]func(tlb.VmStack) (string, any, error) "list_votes": {DecodeListVotesResult}, "royalty_params": {DecodeRoyaltyParamsResult}, "seqno": {DecodeSeqnoResult}, + "tons_for_coins": {DecodeTonsForCoins_BclResult}, } var KnownSimpleGetMethods = map[int][]func(ctx context.Context, executor Executor, reqAccountID ton.AccountID) (string, any, error){ @@ -125,6 +131,7 @@ var KnownSimpleGetMethods = map[int][]func(ctx context.Context, executor Executo 73490: {GetLockerData}, 75065: {GetExecutorBalances}, 75709: {GetExecutorVaultsWhitelist}, + 76063: {GetFactoryData}, 78683: {GetNextAdminAddress}, 78748: {GetPublicKey}, 79661: {GetRouterVersion}, @@ -156,6 +163,7 @@ var KnownSimpleGetMethods = map[int][]func(ctx context.Context, executor Executo 92260: {GetSubscriptionData}, 96219: {GetMiningData}, 96263: {GetExchangeSettings}, + 96704: {GetTransfersEnabled}, 96705: {GetBillAmount}, 96780: {GetTradeFee}, 97026: {GetWalletData}, @@ -178,6 +186,7 @@ var KnownSimpleGetMethods = map[int][]func(ctx context.Context, executor Executo 107494: {GetVammType}, 107653: {GetPluginList}, 108868: {GetTerminalAmmPrice}, + 110342: {CoinPrice}, 111161: {ListNominators}, 115150: {GetParams}, 116242: {GetLpSwapData}, @@ -194,6 +203,7 @@ var KnownSimpleGetMethods = map[int][]func(ctx context.Context, executor Executo 123832: {GetOrderData}, 123928: {GetStakingStatus}, 124861: {GetReferralVaultsWhitelist}, + 127001: {GetBclData}, 127184: {GetVaultData}, 128085: {GetRouterData}, 128979: {JettonWalletLockData}, @@ -204,6 +214,8 @@ var KnownSimpleGetMethods = map[int][]func(ctx context.Context, executor Executo } var resultTypes = []interface{}{ + &CoinPrice_BclResult{}, + &CoinsForTons_BclResult{}, &Dnsresolve_RecordsResult{}, &EstimateSwapOut_DedustResult{}, &GetAmmContractData_StormResult{}, @@ -216,6 +228,7 @@ var resultTypes = []interface{}{ &GetAuthorityAddressResult{}, &GetBalancesResult{}, &GetBalances_DedustResult{}, + &GetBclData_BclResult{}, &GetBillAddressResult{}, &GetBillAmountResult{}, &GetChannelDataResult{}, @@ -227,6 +240,7 @@ var resultTypes = []interface{}{ &GetExecutorCollectionAddress_StormResult{}, &GetExecutorVaultsWhitelist_StormResult{}, &GetExpectedOutputs_StonfiResult{}, + &GetFactoryData_BclResult{}, &GetFullDomainResult{}, &GetJettonDataResult{}, &GetLastCleanTimeResult{}, @@ -292,6 +306,7 @@ var resultTypes = []interface{}{ &GetTimeoutResult{}, &GetTorrentHashResult{}, &GetTradeFee_DedustResult{}, + &GetTransfersEnabled_BclResult{}, &GetValidatorControllerDataResult{}, &GetVammType_StormResult{}, &GetVaultAddress_DedustResult{}, @@ -312,11 +327,85 @@ var resultTypes = []interface{}{ &ListVotesResult{}, &RoyaltyParamsResult{}, &SeqnoResult{}, + &TonsForCoins_BclResult{}, } type Executor interface { RunSmcMethodByID(ctx context.Context, accountID ton.AccountID, methodID int, params tlb.VmStack) (uint32, tlb.VmStack, error) } +type CoinPrice_BclResult struct { + Price tlb.Int257 +} + +func CoinPrice(ctx context.Context, executor Executor, reqAccountID ton.AccountID) (string, any, error) { + stack := tlb.VmStack{} + + // MethodID = 110342 for "coin_price" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 110342, 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){DecodeCoinPrice_BclResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeCoinPrice_BclResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 1 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result CoinPrice_BclResult + err = stack.Unmarshal(&result) + return "CoinPrice_BclResult", result, err +} + +type CoinsForTons_BclResult struct { + Fees tlb.Int257 + Coins tlb.Int257 +} + +func CoinsForTons(ctx context.Context, executor Executor, reqAccountID ton.AccountID, tons tlb.Grams) (string, any, error) { + stack := tlb.VmStack{} + var ( + val tlb.VmStackValue + err error + ) + val = tlb.VmStackValue{SumType: "VmStkTinyInt", VmStkTinyInt: int64(tons)} + stack.Put(val) + + // MethodID = 111220 for "coins_for_tons" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 111220, 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){DecodeCoinsForTons_BclResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeCoinsForTons_BclResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 2 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") || (stack[1].SumType != "VmStkTinyInt" && stack[1].SumType != "VmStkInt") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result CoinsForTons_BclResult + err = stack.Unmarshal(&result) + return "CoinsForTons_BclResult", result, err +} + type Dnsresolve_RecordsResult struct { ResolvedBits int64 Result tlb.DNSRecordSet @@ -736,6 +825,57 @@ func DecodeGetBalancesResult(stack tlb.VmStack) (resultType string, resultAny an return "GetBalancesResult", result, err } +type GetBclData_BclResult struct { + TotalSupply tlb.Int257 + BclSupply tlb.Int257 + LiqSupply tlb.Int257 + Admin tlb.MsgAddress + Author tlb.MsgAddress + Content boc.Cell + FeeAddress tlb.MsgAddress + TradeFeeNumerator uint16 + TradeFeeDenominator uint16 + Ttl uint32 + LastTradeDate uint32 + TradingEnabled bool + TonLiqCollected tlb.Int257 + Referral BclReferralData + TradingCloseFee tlb.Int257 + FullPriceTon tlb.Int257 + FullPriceTonFees tlb.Int257 + RouterAddress tlb.MsgAddress + RouterPtonWalletAddress tlb.MsgAddress +} + +func GetBclData(ctx context.Context, executor Executor, reqAccountID ton.AccountID) (string, any, error) { + stack := tlb.VmStack{} + + // MethodID = 127001 for "get_bcl_data" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 127001, 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){DecodeGetBclData_BclResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeGetBclData_BclResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 19 || (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 != "VmStkSlice") || (stack[4].SumType != "VmStkSlice") || (stack[5].SumType != "VmStkCell") || (stack[6].SumType != "VmStkSlice") || (stack[12].SumType != "VmStkTinyInt" && stack[12].SumType != "VmStkInt") || (stack[13].SumType != "VmStkCell") || (stack[14].SumType != "VmStkTinyInt" && stack[14].SumType != "VmStkInt") || (stack[15].SumType != "VmStkTinyInt" && stack[15].SumType != "VmStkInt") || (stack[16].SumType != "VmStkTinyInt" && stack[16].SumType != "VmStkInt") || (stack[17].SumType != "VmStkSlice") || (stack[18].SumType != "VmStkSlice") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetBclData_BclResult + err = stack.Unmarshal(&result) + return "GetBclData_BclResult", result, err +} + type GetBillAddressResult struct { BillAddress tlb.MsgAddress } @@ -1176,6 +1316,54 @@ func DecodeGetExpectedOutputs_StonfiResult(stack tlb.VmStack) (resultType string return "GetExpectedOutputs_StonfiResult", result, err } +type GetFactoryData_BclResult struct { + Admin tlb.MsgAddress + DeploymentFee tlb.Int257 + CoinAdmin tlb.MsgAddress + CoinTtl uint32 + BclSupply tlb.Int257 + LiqSupply tlb.Int257 + FeeAddress tlb.MsgAddress + FeeNumerator uint16 + FeeDenominator uint16 + TradingCloseFee tlb.Int257 + FullPriceTon tlb.Int257 + FullPriceTonFees tlb.Int257 + IsEnabled bool + Seed tlb.Int257 + CoinCode boc.Cell + WalletCode boc.Cell +} + +func GetFactoryData(ctx context.Context, executor Executor, reqAccountID ton.AccountID) (string, any, error) { + stack := tlb.VmStack{} + + // MethodID = 76063 for "get_factory_data" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 76063, 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){DecodeGetFactoryData_BclResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeGetFactoryData_BclResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 16 || (stack[0].SumType != "VmStkSlice") || (stack[1].SumType != "VmStkTinyInt" && stack[1].SumType != "VmStkInt") || (stack[2].SumType != "VmStkSlice") || (stack[4].SumType != "VmStkTinyInt" && stack[4].SumType != "VmStkInt") || (stack[5].SumType != "VmStkTinyInt" && stack[5].SumType != "VmStkInt") || (stack[6].SumType != "VmStkSlice") || (stack[9].SumType != "VmStkTinyInt" && stack[9].SumType != "VmStkInt") || (stack[10].SumType != "VmStkTinyInt" && stack[10].SumType != "VmStkInt") || (stack[11].SumType != "VmStkTinyInt" && stack[11].SumType != "VmStkInt") || (stack[13].SumType != "VmStkTinyInt" && stack[13].SumType != "VmStkInt") || (stack[14].SumType != "VmStkCell") || (stack[15].SumType != "VmStkCell") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetFactoryData_BclResult + err = stack.Unmarshal(&result) + return "GetFactoryData_BclResult", result, err +} + type GetFullDomainResult struct { Domain string } @@ -3586,6 +3774,39 @@ func DecodeGetTradeFee_DedustResult(stack tlb.VmStack) (resultType string, resul return "GetTradeFee_DedustResult", result, err } +type GetTransfersEnabled_BclResult struct { + Enabled bool +} + +func GetTransfersEnabled(ctx context.Context, executor Executor, reqAccountID ton.AccountID) (string, any, error) { + stack := tlb.VmStack{} + + // MethodID = 96704 for "get_transfers_enabled" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 96704, 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){DecodeGetTransfersEnabled_BclResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeGetTransfersEnabled_BclResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 1 { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetTransfersEnabled_BclResult + err = stack.Unmarshal(&result) + return "GetTransfersEnabled_BclResult", result, err +} + type GetValidatorControllerDataResult struct { State int32 Halted bool @@ -4289,3 +4510,43 @@ func DecodeSeqnoResult(stack tlb.VmStack) (resultType string, resultAny any, err err = stack.Unmarshal(&result) return "SeqnoResult", result, err } + +type TonsForCoins_BclResult struct { + Fees tlb.Int257 + Tons tlb.Grams +} + +func TonsForCoins(ctx context.Context, executor Executor, reqAccountID ton.AccountID, coins tlb.Int257) (string, any, error) { + stack := tlb.VmStack{} + var ( + val tlb.VmStackValue + err error + ) + val = tlb.VmStackValue{SumType: "VmStkInt", VmStkInt: coins} + stack.Put(val) + + // MethodID = 87344 for "tons_for_coins" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 87344, 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){DecodeTonsForCoins_BclResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeTonsForCoins_BclResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 2 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result TonsForCoins_BclResult + err = stack.Unmarshal(&result) + return "TonsForCoins_BclResult", result, err +} diff --git a/abi/interfaces.go b/abi/interfaces.go index 44cdeb7c..8390e415 100644 --- a/abi/interfaces.go +++ b/abi/interfaces.go @@ -8,6 +8,9 @@ import ( const ( IUnknown ContractInterface = iota + BclJetton + BclMaster + BclWallet DedustFactory DedustLiquidityDeposit DedustPool @@ -84,6 +87,12 @@ const ( func (c ContractInterface) String() string { switch c { + case BclJetton: + return "bcl_jetton" + case BclMaster: + return "bcl_master" + case BclWallet: + return "bcl_wallet" case DedustFactory: return "dedust_factory" case DedustLiquidityDeposit: @@ -235,6 +244,12 @@ func (c ContractInterface) String() string { func ContractInterfaceFromString(s string) ContractInterface { switch s { + case "bcl_jetton": + return BclJetton + case "bcl_master": + return BclMaster + case "bcl_wallet": + return BclWallet case "dedust_factory": return DedustFactory case "dedust_liquidity_deposit ": @@ -385,6 +400,10 @@ func ContractInterfaceFromString(s string) ContractInterface { } var methodInvocationOrder = []MethodDescription{ + { + Name: "coin_price", + InvokeFn: CoinPrice, + }, { Name: "get_amm_contract_data", InvokeFn: GetAmmContractData, @@ -421,6 +440,10 @@ var methodInvocationOrder = []MethodDescription{ Name: "get_balances", InvokeFn: GetBalances, }, + { + Name: "get_bcl_data", + InvokeFn: GetBclData, + }, { Name: "get_bill_amount", InvokeFn: GetBillAmount, @@ -457,6 +480,10 @@ var methodInvocationOrder = []MethodDescription{ Name: "get_executor_vaults_whitelist", InvokeFn: GetExecutorVaultsWhitelist, }, + { + Name: "get_factory_data", + InvokeFn: GetFactoryData, + }, { Name: "get_full_domain", InvokeFn: GetFullDomain, @@ -665,6 +692,10 @@ var methodInvocationOrder = []MethodDescription{ Name: "get_trade_fee", InvokeFn: GetTradeFee, }, + { + Name: "get_transfers_enabled", + InvokeFn: GetTransfersEnabled, + }, { Name: "get_validator_controller_data", InvokeFn: GetValidatorControllerData, @@ -732,6 +763,25 @@ var methodInvocationOrder = []MethodDescription{ } var contractInterfacesOrder = []InterfaceDescription{ + { + Name: BclMaster, + Results: []string{ + "GetFactoryData_BclResult", + }, + }, + { + Name: BclJetton, + Results: []string{ + "CoinPrice_BclResult", + "GetBclData_BclResult", + }, + }, + { + Name: BclWallet, + Results: []string{ + "GetTransfersEnabled_BclResult", + }, + }, { Name: DedustLiquidityDeposit, Results: []string{ @@ -1266,6 +1316,29 @@ var knownContracts = map[ton.Bits256]knownContractDescription{ func (c ContractInterface) IntMsgs() []msgDecoderFunc { switch c { + case BclJetton: + return []msgDecoderFunc{ + decodeFuncBclBuyMsgBody, + decodeFuncBclSellCoinsNotificationMsgBody, + decodeFuncBclUnlockWalletCallbackMsgBody, + decodeFuncBclSetAdminMsgBody, + decodeFuncBclSetAuthorMsgBody, + decodeFuncBclSetContentMsgBody, + decodeFuncBclSetFeesMsgBody, + decodeFuncBclSetCodeMsgBody, + decodeFuncBclSetDataMsgBody, + decodeFuncBclSetCodeDataMsgBody, + } + case BclMaster: + return []msgDecoderFunc{ + decodeFuncBclDeployCoinMsgBody, + } + case BclWallet: + return []msgDecoderFunc{ + decodeFuncBclUnlockWalletMsgBody, + decodeFuncBclUnlockWalletExcessMsgBody, + decodeFuncBclSellMsgBody, + } case DedustFactory: return []msgDecoderFunc{ decodeFuncDedustCreateVaultMsgBody, @@ -1438,6 +1511,12 @@ func (c ContractInterface) ExtInMsgs() []msgDecoderFunc { func (c ContractInterface) ExtOutMsgs() []msgDecoderFunc { switch c { + case BclJetton: + return []msgDecoderFunc{ + decodeFuncBclBuyLogExtOutMsgBody, + decodeFuncBclSellLogExtOutMsgBody, + decodeFuncBclSendLiqLogExtOutMsgBody, + } case DedustPool: return []msgDecoderFunc{ decodeFuncDedustSwapExtOutMsgBody, diff --git a/abi/messages.md b/abi/messages.md index d3f2bac8..cbc4f40c 100644 --- a/abi/messages.md +++ b/abi/messages.md @@ -10,6 +10,24 @@ The list below contains the supported message operations, their names and opcode | AcceptStorageContract| 0x7a361688 | | Approve| 0x7b4b42e6 | | AuctionFillUp| 0x370fec51 | +| BclBuy| 0xaf750d34 | +| BclBuyLog| 0xcd78325d | +| BclDeployCoin| 0xd7ab4f41 | +| BclFeePayout| 0xfdaa7c9d | +| BclSell| 0x742b36d8 | +| BclSellCoinsNotification| 0x68e870fe | +| BclSellLog| 0x5e97d116 | +| BclSendLiqLog| 0x0f6ab54f | +| BclSetAdmin| 0x4d5f2cca | +| BclSetAuthor| 0x7fbd764e | +| BclSetCode| 0x9c0f3220 | +| BclSetCodeData| 0xbd9d1e7d | +| BclSetContent| 0xfadc0412 | +| BclSetData| 0x46e9f1db | +| BclSetFees| 0x4b89c3d4 | +| BclUnlockWallet| 0x9d65e47a | +| BclUnlockWalletCallback| 0x4d583549 | +| BclUnlockWalletExcess| 0xa8ce3fe7 | | Bounce| 0xffffffff | | ChallengeQuarantinedChannelState| 0x088eaa32 | | ChangeDnsRecord| 0x4eb1f0f9 | diff --git a/abi/messages_generated.go b/abi/messages_generated.go index 134a6456..e7fd43ad 100644 --- a/abi/messages_generated.go +++ b/abi/messages_generated.go @@ -119,6 +119,8 @@ var ( decodeFuncTelemintDeployMsgBody = decodeMsg(tlb.Tag{Val: 0x4637289a, Len: 32}, TelemintDeployMsgOp, TelemintDeployMsgBody{}) // 0x4637289b decodeFuncTelemintDeployV2MsgBody = decodeMsg(tlb.Tag{Val: 0x4637289b, Len: 32}, TelemintDeployV2MsgOp, TelemintDeployV2MsgBody{}) + // 0x46e9f1db + decodeFuncBclSetDataMsgBody = decodeMsg(tlb.Tag{Val: 0x46e9f1db, Len: 32}, BclSetDataMsgOp, BclSetDataMsgBody{}) // 0x46ed2e94 decodeFuncStorageWithdrawMsgBody = decodeMsg(tlb.Tag{Val: 0x46ed2e94, Len: 32}, StorageWithdrawMsgOp, StorageWithdrawMsgBody{}) // 0x474f86cf @@ -129,8 +131,14 @@ var ( decodeFuncTonstakePoolDepositMsgBody = decodeMsg(tlb.Tag{Val: 0x47d54391, Len: 32}, TonstakePoolDepositMsgOp, TonstakePoolDepositMsgBody{}) // 0x487a8e81 decodeFuncTeleitemStartAuctionMsgBody = decodeMsg(tlb.Tag{Val: 0x487a8e81, Len: 32}, TeleitemStartAuctionMsgOp, TeleitemStartAuctionMsgBody{}) + // 0x4b89c3d4 + decodeFuncBclSetFeesMsgBody = decodeMsg(tlb.Tag{Val: 0x4b89c3d4, Len: 32}, BclSetFeesMsgOp, BclSetFeesMsgBody{}) // 0x4bc7c2df decodeFuncTonstakePoolTouchMsgBody = decodeMsg(tlb.Tag{Val: 0x4bc7c2df, Len: 32}, TonstakePoolTouchMsgOp, TonstakePoolTouchMsgBody{}) + // 0x4d583549 + decodeFuncBclUnlockWalletCallbackMsgBody = decodeMsg(tlb.Tag{Val: 0x4d583549, Len: 32}, BclUnlockWalletCallbackMsgOp, BclUnlockWalletCallbackMsgBody{}) + // 0x4d5f2cca + decodeFuncBclSetAdminMsgBody = decodeMsg(tlb.Tag{Val: 0x4d5f2cca, Len: 32}, BclSetAdminMsgOp, BclSetAdminMsgBody{}) // 0x4d696e65 decodeFuncGramSubmitProofOfWorkMsgBody = decodeMsg(tlb.Tag{Val: 0x4d696e65, Len: 32}, GramSubmitProofOfWorkMsgOp, GramSubmitProofOfWorkMsgBody{}) // 0x4e73744b @@ -203,6 +211,8 @@ var ( decodeFuncStormCancelOrderMsgBody = decodeMsg(tlb.Tag{Val: 0x67134629, Len: 32}, StormCancelOrderMsgOp, StormCancelOrderMsgBody{}) // 0x67c7d281 decodeFuncTopUpChannelBalanceMsgBody = decodeMsg(tlb.Tag{Val: 0x67c7d281, Len: 32}, TopUpChannelBalanceMsgOp, TopUpChannelBalanceMsgBody{}) + // 0x68e870fe + decodeFuncBclSellCoinsNotificationMsgBody = decodeMsg(tlb.Tag{Val: 0x68e870fe, Len: 32}, BclSellCoinsNotificationMsgOp, BclSellCoinsNotificationMsgBody{}) // 0x693d3950 decodeFuncGetRoyaltyParamsMsgBody = decodeMsg(tlb.Tag{Val: 0x693d3950, Len: 32}, GetRoyaltyParamsMsgOp, GetRoyaltyParamsMsgBody{}) // 0x69d08679 @@ -221,6 +231,8 @@ var ( decodeFuncWalletSignedInternalV5R1MsgBody = decodeMsg(tlb.Tag{Val: 0x73696e74, Len: 32}, WalletSignedInternalV5R1MsgOp, WalletSignedInternalV5R1MsgBody{}) // 0x73756273 decodeFuncSubscriptionPaymentMsgBody = decodeMsg(tlb.Tag{Val: 0x73756273, Len: 32}, SubscriptionPaymentMsgOp, SubscriptionPaymentMsgBody{}) + // 0x742b36d8 + decodeFuncBclSellMsgBody = decodeMsg(tlb.Tag{Val: 0x742b36d8, Len: 32}, BclSellMsgOp, BclSellMsgBody{}) // 0x74bb3427 decodeFuncWhalesNominatorsStakeWithdrawDelayedMsgBody = decodeMsg(tlb.Tag{Val: 0x74bb3427, Len: 32}, WhalesNominatorsStakeWithdrawDelayedMsgOp, WhalesNominatorsStakeWithdrawDelayedMsgBody{}) // 0x75097f5d @@ -241,6 +253,8 @@ var ( decodeFuncWhalesNominatorsDepositMsgBody = decodeMsg(tlb.Tag{Val: 0x7bcd1fef, Len: 32}, WhalesNominatorsDepositMsgOp, WhalesNominatorsDepositMsgBody{}) // 0x7bdd97de decodeFuncJettonBurnNotificationMsgBody = decodeMsg(tlb.Tag{Val: 0x7bdd97de, Len: 32}, JettonBurnNotificationMsgOp, JettonBurnNotificationMsgBody{}) + // 0x7fbd764e + decodeFuncBclSetAuthorMsgBody = decodeMsg(tlb.Tag{Val: 0x7fbd764e, Len: 32}, BclSetAuthorMsgOp, BclSetAuthorMsgBody{}) // 0x82609bf6 decodeFuncMultisigApproveAcceptedMsgBody = decodeMsg(tlb.Tag{Val: 0x82609bf6, Len: 32}, MultisigApproveAcceptedMsgOp, MultisigApproveAcceptedMsgBody{}) // 0x84dced7a @@ -261,10 +275,14 @@ var ( decodeFuncWhalesNominatorsAcceptStakeMsgBody = decodeMsg(tlb.Tag{Val: 0x99a811fb, Len: 32}, WhalesNominatorsAcceptStakeMsgOp, WhalesNominatorsAcceptStakeMsgBody{}) // 0x9bf5561c decodeFuncTonstakePoolSetDepositSettingsMsgBody = decodeMsg(tlb.Tag{Val: 0x9bf5561c, Len: 32}, TonstakePoolSetDepositSettingsMsgOp, TonstakePoolSetDepositSettingsMsgBody{}) + // 0x9c0f3220 + decodeFuncBclSetCodeMsgBody = decodeMsg(tlb.Tag{Val: 0x9c0f3220, Len: 32}, BclSetCodeMsgOp, BclSetCodeMsgBody{}) // 0x9c73fba2 decodeFuncMultisigOrderInitMsgBody = decodeMsg(tlb.Tag{Val: 0x9c73fba2, Len: 32}, MultisigOrderInitMsgOp, MultisigOrderInitMsgBody{}) // 0x9d2ec640 decodeFuncStormActivateOrderMsgBody = decodeMsg(tlb.Tag{Val: 0x9d2ec640, Len: 32}, StormActivateOrderMsgOp, StormActivateOrderMsgBody{}) + // 0x9d65e47a + decodeFuncBclUnlockWalletMsgBody = decodeMsg(tlb.Tag{Val: 0x9d65e47a, Len: 32}, BclUnlockWalletMsgOp, BclUnlockWalletMsgBody{}) // 0xa19fd934 decodeFuncWhalesNominatorsAcceptWithdrawsMsgBody = decodeMsg(tlb.Tag{Val: 0xa19fd934, Len: 32}, WhalesNominatorsAcceptWithdrawsMsgOp, WhalesNominatorsAcceptWithdrawsMsgBody{}) // 0xa2065f2c @@ -281,12 +299,16 @@ var ( decodeFuncMultisigApproveMsgBody = decodeMsg(tlb.Tag{Val: 0xa762230f, Len: 32}, MultisigApproveMsgOp, MultisigApproveMsgBody{}) // 0xa8cb00ad decodeFuncReportRoyaltyParamsMsgBody = decodeMsg(tlb.Tag{Val: 0xa8cb00ad, Len: 32}, ReportRoyaltyParamsMsgOp, ReportRoyaltyParamsMsgBody{}) + // 0xa8ce3fe7 + decodeFuncBclUnlockWalletExcessMsgBody = decodeMsg(tlb.Tag{Val: 0xa8ce3fe7, Len: 32}, BclUnlockWalletExcessMsgOp, BclUnlockWalletExcessMsgBody{}) // 0xa91baf56 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{}) + // 0xaf750d34 + decodeFuncBclBuyMsgBody = decodeMsg(tlb.Tag{Val: 0xaf750d34, Len: 32}, BclBuyMsgOp, BclBuyMsgBody{}) // 0xafaf283e decodeFuncMultisigApproveRejectedMsgBody = decodeMsg(tlb.Tag{Val: 0xafaf283e, Len: 32}, MultisigApproveRejectedMsgOp, MultisigApproveRejectedMsgBody{}) // 0xb1ebae06 @@ -299,6 +321,8 @@ var ( decodeFuncStorageContractTerminatedMsgBody = decodeMsg(tlb.Tag{Val: 0xb6236d63, Len: 32}, StorageContractTerminatedMsgOp, StorageContractTerminatedMsgBody{}) // 0xb652c441 decodeFuncStormPayFundingMsgBody = decodeMsg(tlb.Tag{Val: 0xb652c441, Len: 32}, StormPayFundingMsgOp, StormPayFundingMsgBody{}) + // 0xbd9d1e7d + decodeFuncBclSetCodeDataMsgBody = decodeMsg(tlb.Tag{Val: 0xbd9d1e7d, Len: 32}, BclSetCodeDataMsgOp, BclSetCodeDataMsgBody{}) // 0xc1344900 decodeFuncTonstakeImanagerStatsMsgBody = decodeMsg(tlb.Tag{Val: 0xc1344900, Len: 32}, TonstakeImanagerStatsMsgOp, TonstakeImanagerStatsMsgBody{}) // 0xc89a3ee4 @@ -323,6 +347,8 @@ var ( decodeFuncDedustDepositLiquidityMsgBody = decodeMsg(tlb.Tag{Val: 0xd55e4686, Len: 32}, DedustDepositLiquidityMsgOp, DedustDepositLiquidityMsgBody{}) // 0xd5b5e9ad decodeFuncStormVaultUnstakeMsgBody = decodeMsg(tlb.Tag{Val: 0xd5b5e9ad, Len: 32}, StormVaultUnstakeMsgOp, StormVaultUnstakeMsgBody{}) + // 0xd7ab4f41 + decodeFuncBclDeployCoinMsgBody = decodeMsg(tlb.Tag{Val: 0xd7ab4f41, Len: 32}, BclDeployCoinMsgOp, BclDeployCoinMsgBody{}) // 0xda803efd decodeFuncWhalesNominatorsWithdrawMsgBody = decodeMsg(tlb.Tag{Val: 0xda803efd, Len: 32}, WhalesNominatorsWithdrawMsgOp, WhalesNominatorsWithdrawMsgBody{}) // 0xdb3b8abd @@ -369,8 +395,12 @@ var ( decodeFuncStonfiPaymentRequestMsgBody = decodeMsg(tlb.Tag{Val: 0xf93bb43f, Len: 32}, StonfiPaymentRequestMsgOp, StonfiPaymentRequestMsgBody{}) // 0xf96f7324 decodeFuncElectorRecoverStakeResponseMsgBody = decodeMsg(tlb.Tag{Val: 0xf96f7324, Len: 32}, ElectorRecoverStakeResponseMsgOp, ElectorRecoverStakeResponseMsgBody{}) + // 0xfadc0412 + decodeFuncBclSetContentMsgBody = decodeMsg(tlb.Tag{Val: 0xfadc0412, Len: 32}, BclSetContentMsgOp, BclSetContentMsgBody{}) // 0xfb88e119 decodeFuncJettonClaimAdminMsgBody = decodeMsg(tlb.Tag{Val: 0xfb88e119, Len: 32}, JettonClaimAdminMsgOp, JettonClaimAdminMsgBody{}) + // 0xfdaa7c9d + decodeFuncBclFeePayoutMsgBody = decodeMsg(tlb.Tag{Val: 0xfdaa7c9d, Len: 32}, BclFeePayoutMsgOp, BclFeePayoutMsgBody{}) // 0xffffffff decodeFuncBounceMsgBody = decodeMsg(tlb.Tag{Val: 0xffffffff, Len: 32}, BounceMsgOp, BounceMsgBody{}) ) @@ -546,6 +576,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x4637289b TelemintDeployV2MsgOpCode: decodeFuncTelemintDeployV2MsgBody, + // 0x46e9f1db + BclSetDataMsgOpCode: decodeFuncBclSetDataMsgBody, + // 0x46ed2e94 StorageWithdrawMsgOpCode: decodeFuncStorageWithdrawMsgBody, @@ -561,9 +594,18 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x487a8e81 TeleitemStartAuctionMsgOpCode: decodeFuncTeleitemStartAuctionMsgBody, + // 0x4b89c3d4 + BclSetFeesMsgOpCode: decodeFuncBclSetFeesMsgBody, + // 0x4bc7c2df TonstakePoolTouchMsgOpCode: decodeFuncTonstakePoolTouchMsgBody, + // 0x4d583549 + BclUnlockWalletCallbackMsgOpCode: decodeFuncBclUnlockWalletCallbackMsgBody, + + // 0x4d5f2cca + BclSetAdminMsgOpCode: decodeFuncBclSetAdminMsgBody, + // 0x4d696e65 GramSubmitProofOfWorkMsgOpCode: decodeFuncGramSubmitProofOfWorkMsgBody, @@ -673,6 +715,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x67c7d281 TopUpChannelBalanceMsgOpCode: decodeFuncTopUpChannelBalanceMsgBody, + // 0x68e870fe + BclSellCoinsNotificationMsgOpCode: decodeFuncBclSellCoinsNotificationMsgBody, + // 0x693d3950 GetRoyaltyParamsMsgOpCode: decodeFuncGetRoyaltyParamsMsgBody, @@ -700,6 +745,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x73756273 SubscriptionPaymentMsgOpCode: decodeFuncSubscriptionPaymentMsgBody, + // 0x742b36d8 + BclSellMsgOpCode: decodeFuncBclSellMsgBody, + // 0x74bb3427 WhalesNominatorsStakeWithdrawDelayedMsgOpCode: decodeFuncWhalesNominatorsStakeWithdrawDelayedMsgBody, @@ -730,6 +778,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x7bdd97de JettonBurnNotificationMsgOpCode: decodeFuncJettonBurnNotificationMsgBody, + // 0x7fbd764e + BclSetAuthorMsgOpCode: decodeFuncBclSetAuthorMsgBody, + // 0x82609bf6 MultisigApproveAcceptedMsgOpCode: decodeFuncMultisigApproveAcceptedMsgBody, @@ -760,12 +811,18 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0x9bf5561c TonstakePoolSetDepositSettingsMsgOpCode: decodeFuncTonstakePoolSetDepositSettingsMsgBody, + // 0x9c0f3220 + BclSetCodeMsgOpCode: decodeFuncBclSetCodeMsgBody, + // 0x9c73fba2 MultisigOrderInitMsgOpCode: decodeFuncMultisigOrderInitMsgBody, // 0x9d2ec640 StormActivateOrderMsgOpCode: decodeFuncStormActivateOrderMsgBody, + // 0x9d65e47a + BclUnlockWalletMsgOpCode: decodeFuncBclUnlockWalletMsgBody, + // 0xa19fd934 WhalesNominatorsAcceptWithdrawsMsgOpCode: decodeFuncWhalesNominatorsAcceptWithdrawsMsgBody, @@ -790,6 +847,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0xa8cb00ad ReportRoyaltyParamsMsgOpCode: decodeFuncReportRoyaltyParamsMsgBody, + // 0xa8ce3fe7 + BclUnlockWalletExcessMsgOpCode: decodeFuncBclUnlockWalletExcessMsgBody, + // 0xa91baf56 StorageRewardWithdrawalMsgOpCode: decodeFuncStorageRewardWithdrawalMsgBody, @@ -799,6 +859,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0xae25d79e PtonTonRefundMsgOpCode: decodeFuncPtonTonRefundMsgBody, + // 0xaf750d34 + BclBuyMsgOpCode: decodeFuncBclBuyMsgBody, + // 0xafaf283e MultisigApproveRejectedMsgOpCode: decodeFuncMultisigApproveRejectedMsgBody, @@ -817,6 +880,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0xb652c441 StormPayFundingMsgOpCode: decodeFuncStormPayFundingMsgBody, + // 0xbd9d1e7d + BclSetCodeDataMsgOpCode: decodeFuncBclSetCodeDataMsgBody, + // 0xc1344900 TonstakeImanagerStatsMsgOpCode: decodeFuncTonstakeImanagerStatsMsgBody, @@ -853,6 +919,9 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0xd5b5e9ad StormVaultUnstakeMsgOpCode: decodeFuncStormVaultUnstakeMsgBody, + // 0xd7ab4f41 + BclDeployCoinMsgOpCode: decodeFuncBclDeployCoinMsgBody, + // 0xda803efd WhalesNominatorsWithdrawMsgOpCode: decodeFuncWhalesNominatorsWithdrawMsgBody, @@ -922,9 +991,15 @@ var opcodedMsgInDecodeFunctions = map[uint32]msgDecoderFunc{ // 0xf96f7324 ElectorRecoverStakeResponseMsgOpCode: decodeFuncElectorRecoverStakeResponseMsgBody, + // 0xfadc0412 + BclSetContentMsgOpCode: decodeFuncBclSetContentMsgBody, + // 0xfb88e119 JettonClaimAdminMsgOpCode: decodeFuncJettonClaimAdminMsgBody, + // 0xfdaa7c9d + BclFeePayoutMsgOpCode: decodeFuncBclFeePayoutMsgBody, + // 0xffffffff BounceMsgOpCode: decodeFuncBounceMsgBody, } @@ -986,12 +1061,16 @@ const ( ProcessGovernanceDecisionMsgOp MsgOpName = "ProcessGovernanceDecision" TelemintDeployMsgOp MsgOpName = "TelemintDeploy" TelemintDeployV2MsgOp MsgOpName = "TelemintDeployV2" + BclSetDataMsgOp MsgOpName = "BclSetData" StorageWithdrawMsgOp MsgOpName = "StorageWithdraw" DedustPayoutMsgOp MsgOpName = "DedustPayout" ElectorRecoverStakeRequestMsgOp MsgOpName = "ElectorRecoverStakeRequest" TonstakePoolDepositMsgOp MsgOpName = "TonstakePoolDeposit" TeleitemStartAuctionMsgOp MsgOpName = "TeleitemStartAuction" + BclSetFeesMsgOp MsgOpName = "BclSetFees" TonstakePoolTouchMsgOp MsgOpName = "TonstakePoolTouch" + BclUnlockWalletCallbackMsgOp MsgOpName = "BclUnlockWalletCallback" + BclSetAdminMsgOp MsgOpName = "BclSetAdmin" GramSubmitProofOfWorkMsgOp MsgOpName = "GramSubmitProofOfWork" ElectorNewStakeMsgOp MsgOpName = "ElectorNewStake" DeleteDnsRecordMsgOp MsgOpName = "DeleteDnsRecord" @@ -1028,6 +1107,7 @@ const ( SettleChannelConditionalsMsgOp MsgOpName = "SettleChannelConditionals" StormCancelOrderMsgOp MsgOpName = "StormCancelOrder" TopUpChannelBalanceMsgOp MsgOpName = "TopUpChannelBalance" + BclSellCoinsNotificationMsgOp MsgOpName = "BclSellCoinsNotification" GetRoyaltyParamsMsgOp MsgOpName = "GetRoyaltyParams" StormOrderCanceledMsgOp MsgOpName = "StormOrderCanceled" SbtRevokeMsgOp MsgOpName = "SbtRevoke" @@ -1037,6 +1117,7 @@ const ( JettonNotifyMsgOp MsgOpName = "JettonNotify" WalletSignedInternalV5R1MsgOp MsgOpName = "WalletSignedInternalV5R1" SubscriptionPaymentMsgOp MsgOpName = "SubscriptionPayment" + BclSellMsgOp MsgOpName = "BclSell" WhalesNominatorsStakeWithdrawDelayedMsgOp MsgOpName = "WhalesNominatorsStakeWithdrawDelayed" MultisigExecuteMsgOp MsgOpName = "MultisigExecute" MegatonWtonMintMsgOp MsgOpName = "MegatonWtonMint" @@ -1047,6 +1128,7 @@ const ( ApproveMsgOp MsgOpName = "Approve" WhalesNominatorsDepositMsgOp MsgOpName = "WhalesNominatorsDeposit" JettonBurnNotificationMsgOp MsgOpName = "JettonBurnNotification" + BclSetAuthorMsgOp MsgOpName = "BclSetAuthor" MultisigApproveAcceptedMsgOp MsgOpName = "MultisigApproveAccepted" StormAddReferralAmountMsgOp MsgOpName = "StormAddReferralAmount" StormProvidePositionMsgOp MsgOpName = "StormProvidePosition" @@ -1057,8 +1139,10 @@ const ( TonstakePoolPrepareGovernanceMigrationMsgOp MsgOpName = "TonstakePoolPrepareGovernanceMigration" WhalesNominatorsAcceptStakeMsgOp MsgOpName = "WhalesNominatorsAcceptStake" TonstakePoolSetDepositSettingsMsgOp MsgOpName = "TonstakePoolSetDepositSettings" + BclSetCodeMsgOp MsgOpName = "BclSetCode" MultisigOrderInitMsgOp MsgOpName = "MultisigOrderInit" StormActivateOrderMsgOp MsgOpName = "StormActivateOrder" + BclUnlockWalletMsgOp MsgOpName = "BclUnlockWallet" WhalesNominatorsAcceptWithdrawsMsgOp MsgOpName = "WhalesNominatorsAcceptWithdraws" WhalesNominatorsSendStakeMsgOp MsgOpName = "WhalesNominatorsSendStake" MultisigExecuteInternalMsgOp MsgOpName = "MultisigExecuteInternal" @@ -1067,15 +1151,18 @@ const ( TeleitemReturnBidMsgOp MsgOpName = "TeleitemReturnBid" MultisigApproveMsgOp MsgOpName = "MultisigApprove" ReportRoyaltyParamsMsgOp MsgOpName = "ReportRoyaltyParams" + BclUnlockWalletExcessMsgOp MsgOpName = "BclUnlockWalletExcess" StorageRewardWithdrawalMsgOp MsgOpName = "StorageRewardWithdrawal" DedustPayoutFromPoolMsgOp MsgOpName = "DedustPayoutFromPool" PtonTonRefundMsgOp MsgOpName = "PtonTonRefund" + BclBuyMsgOp MsgOpName = "BclBuy" MultisigApproveRejectedMsgOp MsgOpName = "MultisigApproveRejected" TonstakeImanagerRequestNotificationMsgOp MsgOpName = "TonstakeImanagerRequestNotification" TonstakePoolDeployControllerMsgOp MsgOpName = "TonstakePoolDeployController" DedustDepositLiquidityAllMsgOp MsgOpName = "DedustDepositLiquidityAll" StorageContractTerminatedMsgOp MsgOpName = "StorageContractTerminated" StormPayFundingMsgOp MsgOpName = "StormPayFunding" + BclSetCodeDataMsgOp MsgOpName = "BclSetCodeData" TonstakeImanagerStatsMsgOp MsgOpName = "TonstakeImanagerStats" StormVaultStakeMsgOp MsgOpName = "StormVaultStake" TonstakeImanagerSetInterestMsgOp MsgOpName = "TonstakeImanagerSetInterest" @@ -1088,6 +1175,7 @@ const ( ExcessMsgOp MsgOpName = "Excess" DedustDepositLiquidityMsgOp MsgOpName = "DedustDepositLiquidity" StormVaultUnstakeMsgOp MsgOpName = "StormVaultUnstake" + BclDeployCoinMsgOp MsgOpName = "BclDeployCoin" WhalesNominatorsWithdrawMsgOp MsgOpName = "WhalesNominatorsWithdraw" TonstakeNftPayoutMsgOp MsgOpName = "TonstakeNftPayout" ChannelClosedMsgOp MsgOpName = "ChannelClosed" @@ -1111,7 +1199,9 @@ const ( MultisigNewOrderMsgOp MsgOpName = "MultisigNewOrder" StonfiPaymentRequestMsgOp MsgOpName = "StonfiPaymentRequest" ElectorRecoverStakeResponseMsgOp MsgOpName = "ElectorRecoverStakeResponse" + BclSetContentMsgOp MsgOpName = "BclSetContent" JettonClaimAdminMsgOp MsgOpName = "JettonClaimAdmin" + BclFeePayoutMsgOp MsgOpName = "BclFeePayout" BounceMsgOp MsgOpName = "Bounce" ) @@ -1172,12 +1262,16 @@ const ( ProcessGovernanceDecisionMsgOpCode MsgOpCode = 0x44beae41 TelemintDeployMsgOpCode MsgOpCode = 0x4637289a TelemintDeployV2MsgOpCode MsgOpCode = 0x4637289b + BclSetDataMsgOpCode MsgOpCode = 0x46e9f1db StorageWithdrawMsgOpCode MsgOpCode = 0x46ed2e94 DedustPayoutMsgOpCode MsgOpCode = 0x474f86cf ElectorRecoverStakeRequestMsgOpCode MsgOpCode = 0x47657424 TonstakePoolDepositMsgOpCode MsgOpCode = 0x47d54391 TeleitemStartAuctionMsgOpCode MsgOpCode = 0x487a8e81 + BclSetFeesMsgOpCode MsgOpCode = 0x4b89c3d4 TonstakePoolTouchMsgOpCode MsgOpCode = 0x4bc7c2df + BclUnlockWalletCallbackMsgOpCode MsgOpCode = 0x4d583549 + BclSetAdminMsgOpCode MsgOpCode = 0x4d5f2cca GramSubmitProofOfWorkMsgOpCode MsgOpCode = 0x4d696e65 ElectorNewStakeMsgOpCode MsgOpCode = 0x4e73744b DeleteDnsRecordMsgOpCode MsgOpCode = 0x4eb1f0f9 @@ -1214,6 +1308,7 @@ const ( SettleChannelConditionalsMsgOpCode MsgOpCode = 0x66f6f069 StormCancelOrderMsgOpCode MsgOpCode = 0x67134629 TopUpChannelBalanceMsgOpCode MsgOpCode = 0x67c7d281 + BclSellCoinsNotificationMsgOpCode MsgOpCode = 0x68e870fe GetRoyaltyParamsMsgOpCode MsgOpCode = 0x693d3950 StormOrderCanceledMsgOpCode MsgOpCode = 0x69d08679 SbtRevokeMsgOpCode MsgOpCode = 0x6f89f5e3 @@ -1223,6 +1318,7 @@ const ( JettonNotifyMsgOpCode MsgOpCode = 0x7362d09c WalletSignedInternalV5R1MsgOpCode MsgOpCode = 0x73696e74 SubscriptionPaymentMsgOpCode MsgOpCode = 0x73756273 + BclSellMsgOpCode MsgOpCode = 0x742b36d8 WhalesNominatorsStakeWithdrawDelayedMsgOpCode MsgOpCode = 0x74bb3427 MultisigExecuteMsgOpCode MsgOpCode = 0x75097f5d MegatonWtonMintMsgOpCode MsgOpCode = 0x77a33521 @@ -1233,6 +1329,7 @@ const ( ApproveMsgOpCode MsgOpCode = 0x7b4b42e6 WhalesNominatorsDepositMsgOpCode MsgOpCode = 0x7bcd1fef JettonBurnNotificationMsgOpCode MsgOpCode = 0x7bdd97de + BclSetAuthorMsgOpCode MsgOpCode = 0x7fbd764e MultisigApproveAcceptedMsgOpCode MsgOpCode = 0x82609bf6 StormAddReferralAmountMsgOpCode MsgOpCode = 0x84dced7a StormProvidePositionMsgOpCode MsgOpCode = 0x8865b402 @@ -1243,8 +1340,10 @@ const ( TonstakePoolPrepareGovernanceMigrationMsgOpCode MsgOpCode = 0x9971881c WhalesNominatorsAcceptStakeMsgOpCode MsgOpCode = 0x99a811fb TonstakePoolSetDepositSettingsMsgOpCode MsgOpCode = 0x9bf5561c + BclSetCodeMsgOpCode MsgOpCode = 0x9c0f3220 MultisigOrderInitMsgOpCode MsgOpCode = 0x9c73fba2 StormActivateOrderMsgOpCode MsgOpCode = 0x9d2ec640 + BclUnlockWalletMsgOpCode MsgOpCode = 0x9d65e47a WhalesNominatorsAcceptWithdrawsMsgOpCode MsgOpCode = 0xa19fd934 WhalesNominatorsSendStakeMsgOpCode MsgOpCode = 0xa2065f2c MultisigExecuteInternalMsgOpCode MsgOpCode = 0xa32c59bf @@ -1253,15 +1352,18 @@ const ( TeleitemReturnBidMsgOpCode MsgOpCode = 0xa43227e1 MultisigApproveMsgOpCode MsgOpCode = 0xa762230f ReportRoyaltyParamsMsgOpCode MsgOpCode = 0xa8cb00ad + BclUnlockWalletExcessMsgOpCode MsgOpCode = 0xa8ce3fe7 StorageRewardWithdrawalMsgOpCode MsgOpCode = 0xa91baf56 DedustPayoutFromPoolMsgOpCode MsgOpCode = 0xad4eb6f5 PtonTonRefundMsgOpCode MsgOpCode = 0xae25d79e + BclBuyMsgOpCode MsgOpCode = 0xaf750d34 MultisigApproveRejectedMsgOpCode MsgOpCode = 0xafaf283e TonstakeImanagerRequestNotificationMsgOpCode MsgOpCode = 0xb1ebae06 TonstakePoolDeployControllerMsgOpCode MsgOpCode = 0xb27edcad DedustDepositLiquidityAllMsgOpCode MsgOpCode = 0xb56b9598 StorageContractTerminatedMsgOpCode MsgOpCode = 0xb6236d63 StormPayFundingMsgOpCode MsgOpCode = 0xb652c441 + BclSetCodeDataMsgOpCode MsgOpCode = 0xbd9d1e7d TonstakeImanagerStatsMsgOpCode MsgOpCode = 0xc1344900 StormVaultStakeMsgOpCode MsgOpCode = 0xc89a3ee4 TonstakeImanagerSetInterestMsgOpCode MsgOpCode = 0xc9f04485 @@ -1274,6 +1376,7 @@ const ( ExcessMsgOpCode MsgOpCode = 0xd53276db DedustDepositLiquidityMsgOpCode MsgOpCode = 0xd55e4686 StormVaultUnstakeMsgOpCode MsgOpCode = 0xd5b5e9ad + BclDeployCoinMsgOpCode MsgOpCode = 0xd7ab4f41 WhalesNominatorsWithdrawMsgOpCode MsgOpCode = 0xda803efd TonstakeNftPayoutMsgOpCode MsgOpCode = 0xdb3b8abd ChannelClosedMsgOpCode MsgOpCode = 0xdddc88ba @@ -1297,7 +1400,9 @@ const ( MultisigNewOrderMsgOpCode MsgOpCode = 0xf718510f StonfiPaymentRequestMsgOpCode MsgOpCode = 0xf93bb43f ElectorRecoverStakeResponseMsgOpCode MsgOpCode = 0xf96f7324 + BclSetContentMsgOpCode MsgOpCode = 0xfadc0412 JettonClaimAdminMsgOpCode MsgOpCode = 0xfb88e119 + BclFeePayoutMsgOpCode MsgOpCode = 0xfdaa7c9d BounceMsgOpCode MsgOpCode = 0xffffffff ) @@ -1662,6 +1767,11 @@ type TelemintDeployV2MsgBody struct { Msg TelemintUnsignedDeployV2 } +type BclSetDataMsgBody struct { + QueryId uint64 + Data tlb.Any `tlb:"^"` +} + type StorageWithdrawMsgBody struct { QueryId uint64 } @@ -1685,10 +1795,27 @@ type TeleitemStartAuctionMsgBody struct { AuctionConfig TeleitemAuctionConfig `tlb:"^"` } +type BclSetFeesMsgBody struct { + QueryId uint64 + FeeAddress tlb.MsgAddress + TradeFeeNumerator uint16 + CtxTradeFeeDenominator uint16 +} + type TonstakePoolTouchMsgBody struct { QueryId uint64 } +type BclUnlockWalletCallbackMsgBody struct { + QueryId uint64 + FromAddress tlb.MsgAddress +} + +type BclSetAdminMsgBody struct { + QueryId uint64 + AdminAddress tlb.MsgAddress +} + type GramSubmitProofOfWorkMsgBody struct { Flags uint8 Expire uint32 @@ -1972,6 +2099,14 @@ type TopUpChannelBalanceMsgBody struct { AddB tlb.Grams } +type BclSellCoinsNotificationMsgBody struct { + QueryId uint64 + JettonAmount tlb.VarUInteger16 + MinReceive tlb.Grams + FromAddress tlb.MsgAddress + Referral *BclReferralData `tlb:"maybe^"` +} + type GetRoyaltyParamsMsgBody struct { QueryId uint64 } @@ -2019,6 +2154,13 @@ type WalletSignedInternalV5R1MsgBody struct { type SubscriptionPaymentMsgBody struct{} +type BclSellMsgBody struct { + QueryId uint64 + Amount tlb.VarUInteger16 + MinReceive tlb.Grams + Referral *BclReferralData `tlb:"maybe^"` +} + type WhalesNominatorsStakeWithdrawDelayedMsgBody struct { QueryId int64 } @@ -2075,6 +2217,11 @@ type JettonBurnNotificationMsgBody struct { ResponseDestination tlb.MsgAddress } +type BclSetAuthorMsgBody struct { + QueryId uint64 + AuthorAddress tlb.MsgAddress +} + type MultisigApproveAcceptedMsgBody struct { QueryId uint64 } @@ -2132,6 +2279,11 @@ type TonstakePoolSetDepositSettingsMsgBody struct { DepositsOpen bool } +type BclSetCodeMsgBody struct { + QueryId uint64 + Code tlb.Any `tlb:"^"` +} + type MultisigOrderInitMsgBody struct { QueryId uint64 Threshold uint8 @@ -2146,6 +2298,10 @@ type StormActivateOrderMsgBody struct { ActivatedOrder OrderPayload `tlb:"^"` } +type BclUnlockWalletMsgBody struct { + QueryId uint64 +} + type WhalesNominatorsAcceptWithdrawsMsgBody struct { QueryId uint64 Members tlb.Any @@ -2191,6 +2347,10 @@ type ReportRoyaltyParamsMsgBody struct { Destination tlb.MsgAddress } +type BclUnlockWalletExcessMsgBody struct { + QueryId uint64 +} + type StorageRewardWithdrawalMsgBody struct { QueryId uint64 } @@ -2207,6 +2367,13 @@ type PtonTonRefundMsgBody struct { QueryId uint64 } +type BclBuyMsgBody struct { + QueryId uint64 + MinReceive tlb.VarUInteger16 + Referral *BclReferralData `tlb:"maybe^"` + BuyerAddress BclBuyerAddress +} + type MultisigApproveRejectedMsgBody struct { QueryId uint64 ExitCode uint32 @@ -2248,6 +2415,12 @@ type StormPayFundingMsgBody struct { OracleRef OracleData `tlb:"^"` } +type BclSetCodeDataMsgBody struct { + QueryId uint64 + Code tlb.Any `tlb:"^"` + Data tlb.Any `tlb:"^"` +} + type TonstakeImanagerStatsMsgBody struct { QueryId uint64 Borrowed tlb.Grams @@ -2329,6 +2502,14 @@ type StormVaultUnstakeMsgBody struct { UserAddress tlb.MsgAddress } +type BclDeployCoinMsgBody struct { + QueryId uint64 + Content tlb.Any `tlb:"^"` + AuthorAddress tlb.MsgAddress + Referral BclReferralData `tlb:"^"` + DeployOptions *BclDeployOptions `tlb:"maybe^"` +} + type WhalesNominatorsWithdrawMsgBody struct { QueryId int64 Gas tlb.Grams @@ -2451,10 +2632,19 @@ type ElectorRecoverStakeResponseMsgBody struct { QueryId uint64 } +type BclSetContentMsgBody struct { + QueryId uint64 + Content tlb.Any `tlb:"^"` +} + type JettonClaimAdminMsgBody struct { QueryId uint64 } +type BclFeePayoutMsgBody struct { + Referral BclReferralData `tlb:"^"` +} + type BounceMsgBody struct { Payload tlb.Any } @@ -2516,12 +2706,16 @@ var KnownMsgInTypes = map[string]any{ ProcessGovernanceDecisionMsgOp: ProcessGovernanceDecisionMsgBody{}, TelemintDeployMsgOp: TelemintDeployMsgBody{}, TelemintDeployV2MsgOp: TelemintDeployV2MsgBody{}, + BclSetDataMsgOp: BclSetDataMsgBody{}, StorageWithdrawMsgOp: StorageWithdrawMsgBody{}, DedustPayoutMsgOp: DedustPayoutMsgBody{}, ElectorRecoverStakeRequestMsgOp: ElectorRecoverStakeRequestMsgBody{}, TonstakePoolDepositMsgOp: TonstakePoolDepositMsgBody{}, TeleitemStartAuctionMsgOp: TeleitemStartAuctionMsgBody{}, + BclSetFeesMsgOp: BclSetFeesMsgBody{}, TonstakePoolTouchMsgOp: TonstakePoolTouchMsgBody{}, + BclUnlockWalletCallbackMsgOp: BclUnlockWalletCallbackMsgBody{}, + BclSetAdminMsgOp: BclSetAdminMsgBody{}, GramSubmitProofOfWorkMsgOp: GramSubmitProofOfWorkMsgBody{}, ElectorNewStakeMsgOp: ElectorNewStakeMsgBody{}, DeleteDnsRecordMsgOp: DeleteDnsRecordMsgBody{}, @@ -2558,6 +2752,7 @@ var KnownMsgInTypes = map[string]any{ SettleChannelConditionalsMsgOp: SettleChannelConditionalsMsgBody{}, StormCancelOrderMsgOp: StormCancelOrderMsgBody{}, TopUpChannelBalanceMsgOp: TopUpChannelBalanceMsgBody{}, + BclSellCoinsNotificationMsgOp: BclSellCoinsNotificationMsgBody{}, GetRoyaltyParamsMsgOp: GetRoyaltyParamsMsgBody{}, StormOrderCanceledMsgOp: StormOrderCanceledMsgBody{}, SbtRevokeMsgOp: SbtRevokeMsgBody{}, @@ -2567,6 +2762,7 @@ var KnownMsgInTypes = map[string]any{ JettonNotifyMsgOp: JettonNotifyMsgBody{}, WalletSignedInternalV5R1MsgOp: WalletSignedInternalV5R1MsgBody{}, SubscriptionPaymentMsgOp: SubscriptionPaymentMsgBody{}, + BclSellMsgOp: BclSellMsgBody{}, WhalesNominatorsStakeWithdrawDelayedMsgOp: WhalesNominatorsStakeWithdrawDelayedMsgBody{}, MultisigExecuteMsgOp: MultisigExecuteMsgBody{}, MegatonWtonMintMsgOp: MegatonWtonMintMsgBody{}, @@ -2577,6 +2773,7 @@ var KnownMsgInTypes = map[string]any{ ApproveMsgOp: ApproveMsgBody{}, WhalesNominatorsDepositMsgOp: WhalesNominatorsDepositMsgBody{}, JettonBurnNotificationMsgOp: JettonBurnNotificationMsgBody{}, + BclSetAuthorMsgOp: BclSetAuthorMsgBody{}, MultisigApproveAcceptedMsgOp: MultisigApproveAcceptedMsgBody{}, StormAddReferralAmountMsgOp: StormAddReferralAmountMsgBody{}, StormProvidePositionMsgOp: StormProvidePositionMsgBody{}, @@ -2587,8 +2784,10 @@ var KnownMsgInTypes = map[string]any{ TonstakePoolPrepareGovernanceMigrationMsgOp: TonstakePoolPrepareGovernanceMigrationMsgBody{}, WhalesNominatorsAcceptStakeMsgOp: WhalesNominatorsAcceptStakeMsgBody{}, TonstakePoolSetDepositSettingsMsgOp: TonstakePoolSetDepositSettingsMsgBody{}, + BclSetCodeMsgOp: BclSetCodeMsgBody{}, MultisigOrderInitMsgOp: MultisigOrderInitMsgBody{}, StormActivateOrderMsgOp: StormActivateOrderMsgBody{}, + BclUnlockWalletMsgOp: BclUnlockWalletMsgBody{}, WhalesNominatorsAcceptWithdrawsMsgOp: WhalesNominatorsAcceptWithdrawsMsgBody{}, WhalesNominatorsSendStakeMsgOp: WhalesNominatorsSendStakeMsgBody{}, MultisigExecuteInternalMsgOp: MultisigExecuteInternalMsgBody{}, @@ -2597,15 +2796,18 @@ var KnownMsgInTypes = map[string]any{ TeleitemReturnBidMsgOp: TeleitemReturnBidMsgBody{}, MultisigApproveMsgOp: MultisigApproveMsgBody{}, ReportRoyaltyParamsMsgOp: ReportRoyaltyParamsMsgBody{}, + BclUnlockWalletExcessMsgOp: BclUnlockWalletExcessMsgBody{}, StorageRewardWithdrawalMsgOp: StorageRewardWithdrawalMsgBody{}, DedustPayoutFromPoolMsgOp: DedustPayoutFromPoolMsgBody{}, PtonTonRefundMsgOp: PtonTonRefundMsgBody{}, + BclBuyMsgOp: BclBuyMsgBody{}, MultisigApproveRejectedMsgOp: MultisigApproveRejectedMsgBody{}, TonstakeImanagerRequestNotificationMsgOp: TonstakeImanagerRequestNotificationMsgBody{}, TonstakePoolDeployControllerMsgOp: TonstakePoolDeployControllerMsgBody{}, DedustDepositLiquidityAllMsgOp: DedustDepositLiquidityAllMsgBody{}, StorageContractTerminatedMsgOp: StorageContractTerminatedMsgBody{}, StormPayFundingMsgOp: StormPayFundingMsgBody{}, + BclSetCodeDataMsgOp: BclSetCodeDataMsgBody{}, TonstakeImanagerStatsMsgOp: TonstakeImanagerStatsMsgBody{}, StormVaultStakeMsgOp: StormVaultStakeMsgBody{}, TonstakeImanagerSetInterestMsgOp: TonstakeImanagerSetInterestMsgBody{}, @@ -2618,6 +2820,7 @@ var KnownMsgInTypes = map[string]any{ ExcessMsgOp: ExcessMsgBody{}, DedustDepositLiquidityMsgOp: DedustDepositLiquidityMsgBody{}, StormVaultUnstakeMsgOp: StormVaultUnstakeMsgBody{}, + BclDeployCoinMsgOp: BclDeployCoinMsgBody{}, WhalesNominatorsWithdrawMsgOp: WhalesNominatorsWithdrawMsgBody{}, TonstakeNftPayoutMsgOp: TonstakeNftPayoutMsgBody{}, ChannelClosedMsgOp: ChannelClosedMsgBody{}, @@ -2641,7 +2844,9 @@ var KnownMsgInTypes = map[string]any{ MultisigNewOrderMsgOp: MultisigNewOrderMsgBody{}, StonfiPaymentRequestMsgOp: StonfiPaymentRequestMsgBody{}, ElectorRecoverStakeResponseMsgOp: ElectorRecoverStakeResponseMsgBody{}, + BclSetContentMsgOp: BclSetContentMsgBody{}, JettonClaimAdminMsgOp: JettonClaimAdminMsgBody{}, + BclFeePayoutMsgOp: BclFeePayoutMsgBody{}, BounceMsgOp: BounceMsgBody{}, } @@ -2737,26 +2942,38 @@ var KnownMsgExtInTypes = map[string]any{ } var ( + // 0x0f6ab54f + decodeFuncBclSendLiqLogExtOutMsgBody = decodeMsg(tlb.Tag{Val: 0x0f6ab54f, Len: 32}, BclSendLiqLogExtOutMsgOp, BclSendLiqLogExtOutMsgBody{}) // 0x3aa870a6 decodeFuncDedustWithdrawalExtOutMsgBody = decodeMsg(tlb.Tag{Val: 0x3aa870a6, Len: 32}, DedustWithdrawalExtOutMsgOp, DedustWithdrawalExtOutMsgBody{}) // 0x56a8e920 decodeFuncMegatonUpdateMiningParamsExtOutMsgBody = decodeMsg(tlb.Tag{Val: 0x56a8e920, Len: 32}, MegatonUpdateMiningParamsExtOutMsgOp, MegatonUpdateMiningParamsExtOutMsgBody{}) + // 0x5e97d116 + decodeFuncBclSellLogExtOutMsgBody = decodeMsg(tlb.Tag{Val: 0x5e97d116, Len: 32}, BclSellLogExtOutMsgOp, BclSellLogExtOutMsgBody{}) // 0x7362d09c decodeFuncMegatonSwapExtOutMsgBody = decodeMsg(tlb.Tag{Val: 0x7362d09c, Len: 32}, MegatonSwapExtOutMsgOp, MegatonSwapExtOutMsgBody{}) // 0x9c610de3 decodeFuncDedustSwapExtOutMsgBody = decodeMsg(tlb.Tag{Val: 0x9c610de3, Len: 32}, DedustSwapExtOutMsgOp, DedustSwapExtOutMsgBody{}) // 0xb544f4a4 decodeFuncDedustDepositExtOutMsgBody = decodeMsg(tlb.Tag{Val: 0xb544f4a4, Len: 32}, DedustDepositExtOutMsgOp, DedustDepositExtOutMsgBody{}) + // 0xcd78325d + decodeFuncBclBuyLogExtOutMsgBody = decodeMsg(tlb.Tag{Val: 0xcd78325d, Len: 32}, BclBuyLogExtOutMsgOp, BclBuyLogExtOutMsgBody{}) ) var opcodedMsgExtOutDecodeFunctions = map[uint32]msgDecoderFunc{ + // 0x0f6ab54f + BclSendLiqLogExtOutMsgOpCode: decodeFuncBclSendLiqLogExtOutMsgBody, + // 0x3aa870a6 DedustWithdrawalExtOutMsgOpCode: decodeFuncDedustWithdrawalExtOutMsgBody, // 0x56a8e920 MegatonUpdateMiningParamsExtOutMsgOpCode: decodeFuncMegatonUpdateMiningParamsExtOutMsgBody, + // 0x5e97d116 + BclSellLogExtOutMsgOpCode: decodeFuncBclSellLogExtOutMsgBody, + // 0x7362d09c MegatonSwapExtOutMsgOpCode: decodeFuncMegatonSwapExtOutMsgBody, @@ -2765,24 +2982,38 @@ var opcodedMsgExtOutDecodeFunctions = map[uint32]msgDecoderFunc{ // 0xb544f4a4 DedustDepositExtOutMsgOpCode: decodeFuncDedustDepositExtOutMsgBody, + + // 0xcd78325d + BclBuyLogExtOutMsgOpCode: decodeFuncBclBuyLogExtOutMsgBody, } const ( + BclSendLiqLogExtOutMsgOp MsgOpName = "BclSendLiqLog" DedustWithdrawalExtOutMsgOp MsgOpName = "DedustWithdrawal" MegatonUpdateMiningParamsExtOutMsgOp MsgOpName = "MegatonUpdateMiningParams" + BclSellLogExtOutMsgOp MsgOpName = "BclSellLog" MegatonSwapExtOutMsgOp MsgOpName = "MegatonSwap" DedustSwapExtOutMsgOp MsgOpName = "DedustSwap" DedustDepositExtOutMsgOp MsgOpName = "DedustDeposit" + BclBuyLogExtOutMsgOp MsgOpName = "BclBuyLog" ) const ( + BclSendLiqLogExtOutMsgOpCode MsgOpCode = 0x0f6ab54f DedustWithdrawalExtOutMsgOpCode MsgOpCode = 0x3aa870a6 MegatonUpdateMiningParamsExtOutMsgOpCode MsgOpCode = 0x56a8e920 + BclSellLogExtOutMsgOpCode MsgOpCode = 0x5e97d116 MegatonSwapExtOutMsgOpCode MsgOpCode = 0x7362d09c DedustSwapExtOutMsgOpCode MsgOpCode = 0x9c610de3 DedustDepositExtOutMsgOpCode MsgOpCode = 0xb544f4a4 + BclBuyLogExtOutMsgOpCode MsgOpCode = 0xcd78325d ) +type BclSendLiqLogExtOutMsgBody struct { + TonAmount tlb.Grams + JettonAmount tlb.VarUInteger16 +} + type DedustWithdrawalExtOutMsgBody struct { SenderAddr tlb.MsgAddress Liquidity tlb.Grams @@ -2802,6 +3033,15 @@ type MegatonUpdateMiningParamsExtOutMsgBody struct { } `tlb:"^"` } +type BclSellLogExtOutMsgBody struct { + FromAddress tlb.MsgAddress + TonsToReturn tlb.Grams + JettonAmount tlb.VarUInteger16 + NewSupply tlb.VarUInteger16 + TonLiqCollected tlb.Grams + Referral *BclReferralData `tlb:"maybe^"` +} + type MegatonSwapExtOutMsgBody struct { AccountAddr tlb.MsgAddress InTokenAddr tlb.MsgAddress @@ -2834,10 +3074,22 @@ type DedustDepositExtOutMsgBody struct { Liquidity tlb.Grams } +type BclBuyLogExtOutMsgBody struct { + BuyerAddress tlb.MsgAddress + TonsConsumed tlb.Grams + SupplyDelta tlb.VarUInteger16 + NewSupply tlb.VarUInteger16 + TonLiqCollected tlb.Grams + Referral *BclReferralData `tlb:"maybe^"` +} + var KnownMsgExtOutTypes = map[string]any{ + BclSendLiqLogExtOutMsgOp: BclSendLiqLogExtOutMsgBody{}, DedustWithdrawalExtOutMsgOp: DedustWithdrawalExtOutMsgBody{}, MegatonUpdateMiningParamsExtOutMsgOp: MegatonUpdateMiningParamsExtOutMsgBody{}, + BclSellLogExtOutMsgOp: BclSellLogExtOutMsgBody{}, MegatonSwapExtOutMsgOp: MegatonSwapExtOutMsgBody{}, DedustSwapExtOutMsgOp: DedustSwapExtOutMsgBody{}, DedustDepositExtOutMsgOp: DedustDepositExtOutMsgBody{}, + BclBuyLogExtOutMsgOp: BclBuyLogExtOutMsgBody{}, } diff --git a/abi/schemas/bcl.xml b/abi/schemas/bcl.xml new file mode 100644 index 00000000..fd796965 --- /dev/null +++ b/abi/schemas/bcl.xml @@ -0,0 +1,271 @@ + + + ref_v1#f7ecea4c address:MsgAddress = BclReferralData; + ref_none#_ = BclReferralData; + + addr_std$100 workchain_id:int8 address:bits256 = BclBuyerAddress; + addr_none#_ = BclBuyerAddress; + + deploy_buy#af750d34 query_id:uint64 min_receive:(VarUInteger 16) referral:(Maybe ^BclReferralData) buyer_address:BclBuyerAddress = BclDeployOptions; + deploy_top_up#d372158c query_id:uint64 = BclDeployOptions; + deploy_none#_ = BclDeployOptions; + + + bcl_jetton_additional_storage#_ + bcl_supply:(VarUInteger 16) + liq_supply:(VarUInteger 16) + author_address:MsgAddress + fee_address:MsgAddress + trade_fee_numerator:uint16 + trade_fee_denominator:uint16 + trading_enabled:bool + referral:^BclReferralData + seed:uint64 + trading_close_fee:Coins + router_info:^[router_address:MsgAddress router_pton_wallet_address:MsgAddress] + = BclJettonAdditionalStorage; + + bcl_jetton_storage_v1#_ + total_supply:(VarUInteger 16) + admin:MsgAddress + content:^Cell + wallet_code:^Cell + ttl:uint32 + last_trade_date:uint32 + ton_liq_collected:Coins + max_ton:(VarUInteger 16) + additional:^BclJettonAdditionalStorage + = BclJettonStorageV1; + + bcl_jetton_storage_v2#_ + total_supply:(VarUInteger 16) + admin:MsgAddress + content:^Cell + wallet_code:^Cell + last_trade_date:uint32 + ton_liq_collected:Coins + max_ton:(VarUInteger 16) + lp_receiver:MsgAddress + additional:^BclJettonAdditionalStorage + = BclJettonStorageV2; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Slippage error + Too many coins to buy + No funds for gas + Trading disabled + Trading enabled + Invalid wallet + Too many coins to sell + Not admin + Not author + Wrong workchain + Not owner + Balance error + Not enough gas + Invalid message + Wrong op + + + + + + + + + + + + + + msgaddress + int257 + msgaddress + uint32 + int257 + int257 + msgaddress + uint16 + uint16 + int257 + int257 + int257 + bool + int257 + cell + cell + + + + + + coins + + + int257 + int257 + + + + + + int257 + + + int257 + coins + + + + + + int257 + + + + + + int257 + int257 + int257 + msgaddress + msgaddress + cell + msgaddress + uint16 + uint16 + uint32 + uint32 + bool + int257 + BclReferralData + int257 + int257 + int257 + msgaddress + msgaddress + + + + + + bool + + + + + deploy_coin#d7ab4f41 query_id:uint64 content:^Cell + author_address:MsgAddress referral:^BclReferralData + deploy_options:(Maybe ^BclDeployOptions) = InternalMsgBody; + + + + unlock_wallet#9d65e47a query_id:uint64 = InternalMsgBody; + + + + unlock_wallet_excess#a8ce3fe7 query_id:uint64 = InternalMsgBody; + + + + buy#af750d34 query_id:uint64 min_receive:(VarUInteger 16) + referral:(Maybe ^BclReferralData) buyer_address:BclBuyerAddress = InternalMsgBody; + + + + sell#742b36d8 query_id:uint64 amount:(VarUInteger 16) min_receive:Coins + referral:(Maybe ^BclReferralData) = InternalMsgBody; + + + + sell_coins_notification#68e870fe query_id:uint64 jetton_amount:(VarUInteger 16) + min_receive:Coins from_address:MsgAddress referral:(Maybe ^BclReferralData) = + InternalMsgBody; + + + + unlock_wallet_callback#4d583549 query_id:uint64 from_address:MsgAddress = InternalMsgBody; + + + + set_admin#4d5f2cca query_id:uint64 admin_address:MsgAddress = InternalMsgBody; + + + + set_author#7fbd764e query_id:uint64 author_address:MsgAddress = InternalMsgBody; + + + + set_content#fadc0412 query_id:uint64 content:^Cell = InternalMsgBody; + + + + set_fees#4b89c3d4 query_id:uint64 fee_address:MsgAddress trade_fee_numerator:uint16 + ctx_trade_fee_denominator:uint16 = InternalMsgBody; + + + + set_code#9c0f3220 query_id:uint64 code:^Cell = InternalMsgBody; + + + + set_data#46e9f1db query_id:uint64 data:^Cell = InternalMsgBody; + + + + set_code_data#bd9d1e7d query_id:uint64 code:^Cell data:^Cell = InternalMsgBody; + + + + fee_payout#fdaa7c9d referral:^BclReferralData = InternalMsgBody; + + + + buy_log#cd78325d buyer_address:MsgAddress tons_consumed:Coins + supply_delta:(VarUInteger 16) new_supply:(VarUInteger 16) + ton_liq_collected:Coins referral:(Maybe ^BclReferralData) = ExtOutMsgBody; + + + + sell_log#5e97d116 from_address:MsgAddress tons_to_return:Coins + jetton_amount:(VarUInteger 16) new_supply:(VarUInteger 16) + ton_liq_collected:Coins referral:(Maybe ^BclReferralData) = ExtOutMsgBody; + + + + send_liq_log#0f6ab54f ton_amount:Coins jetton_amount:(VarUInteger 16) = ExtOutMsgBody; + + \ No newline at end of file diff --git a/abi/types.go b/abi/types.go index c53579c5..aa0bded2 100644 --- a/abi/types.go +++ b/abi/types.go @@ -8,6 +8,141 @@ import ( "github.com/tonkeeper/tongo/tlb" ) +type BclBuyerAddress struct { + tlb.SumType + AddrStd struct { + WorkchainId int8 + Address tlb.Bits256 + } `tlbSumType:"$100"` + AddrNone struct{} `tlbSumType:"#_"` +} + +func (t *BclBuyerAddress) MarshalJSON() ([]byte, error) { + switch t.SumType { + case "AddrStd": + bytes, err := json.Marshal(t.AddrStd) + if err != nil { + return nil, err + } + return []byte(fmt.Sprintf(`{"SumType": "AddrStd","AddrStd":%v}`, string(bytes))), nil + case "AddrNone": + bytes, err := json.Marshal(t.AddrNone) + if err != nil { + return nil, err + } + return []byte(fmt.Sprintf(`{"SumType": "AddrNone","AddrNone":%v}`, string(bytes))), nil + default: + return nil, fmt.Errorf("unknown sum type %v", t.SumType) + } +} + +type BclDeployOptions struct { + tlb.SumType + DeployBuy struct { + QueryId uint64 + MinReceive tlb.VarUInteger16 + Referral *BclReferralData `tlb:"maybe^"` + BuyerAddress BclBuyerAddress + } `tlbSumType:"#af750d34"` + DeployTopUp struct { + QueryId uint64 + } `tlbSumType:"#d372158c"` + DeployNone struct{} `tlbSumType:"#_"` +} + +func (t *BclDeployOptions) MarshalJSON() ([]byte, error) { + switch t.SumType { + case "DeployBuy": + bytes, err := json.Marshal(t.DeployBuy) + if err != nil { + return nil, err + } + return []byte(fmt.Sprintf(`{"SumType": "DeployBuy","DeployBuy":%v}`, string(bytes))), nil + case "DeployTopUp": + bytes, err := json.Marshal(t.DeployTopUp) + if err != nil { + return nil, err + } + return []byte(fmt.Sprintf(`{"SumType": "DeployTopUp","DeployTopUp":%v}`, string(bytes))), nil + case "DeployNone": + bytes, err := json.Marshal(t.DeployNone) + if err != nil { + return nil, err + } + return []byte(fmt.Sprintf(`{"SumType": "DeployNone","DeployNone":%v}`, string(bytes))), nil + default: + return nil, fmt.Errorf("unknown sum type %v", t.SumType) + } +} + +type BclJettonAdditionalStorage struct { + BclSupply tlb.VarUInteger16 + LiqSupply tlb.VarUInteger16 + AuthorAddress tlb.MsgAddress + FeeAddress tlb.MsgAddress + TradeFeeNumerator uint16 + TradeFeeDenominator uint16 + TradingEnabled bool + Referral BclReferralData `tlb:"^"` + Seed uint64 + TradingCloseFee tlb.Grams + RouterInfo struct { + RouterAddress tlb.MsgAddress + RouterPtonWalletAddress tlb.MsgAddress + } `tlb:"^"` +} + +type BclJettonStorageV1 struct { + TotalSupply tlb.VarUInteger16 + Admin tlb.MsgAddress + Content tlb.Any `tlb:"^"` + WalletCode tlb.Any `tlb:"^"` + Ttl uint32 + LastTradeDate uint32 + TonLiqCollected tlb.Grams + MaxTon tlb.VarUInteger16 + Additional BclJettonAdditionalStorage `tlb:"^"` +} + +type BclJettonStorageV2 struct { + TotalSupply tlb.VarUInteger16 + Admin tlb.MsgAddress + Content tlb.Any `tlb:"^"` + WalletCode tlb.Any `tlb:"^"` + LastTradeDate uint32 + TonLiqCollected tlb.Grams + MaxTon tlb.VarUInteger16 + LpReceiver tlb.MsgAddress + Additional BclJettonAdditionalStorage `tlb:"^"` +} + +type BclReferralData struct { + tlb.SumType + RefV1 struct { + Address tlb.MsgAddress + } `tlbSumType:"#f7ecea4c"` + RefNone struct{} `tlbSumType:"#_"` +} + +func (t *BclReferralData) MarshalJSON() ([]byte, error) { + switch t.SumType { + case "RefV1": + bytes, err := json.Marshal(t.RefV1) + if err != nil { + return nil, err + } + return []byte(fmt.Sprintf(`{"SumType": "RefV1","RefV1":%v}`, string(bytes))), nil + case "RefNone": + bytes, err := json.Marshal(t.RefNone) + if err != nil { + return nil, err + } + return []byte(fmt.Sprintf(`{"SumType": "RefNone","RefNone":%v}`, string(bytes))), nil + default: + return nil, fmt.Errorf("unknown sum type %v", t.SumType) + } +} + type DedustAsset struct { tlb.SumType Native struct{} `tlbSumType:"$0000"`