From ed43c06a014906ddd1d9646c7eff7fcfdc34d874 Mon Sep 17 00:00:00 2001 From: ennucore Date: Fri, 3 Feb 2023 19:53:14 +0100 Subject: [PATCH] Withdrawals working --- sources/constants.tact | 2 +- sources/jetton_trait.tact | 22 +- sources/messages.tact | 3 +- sources/output/jetton_Linker.abi | 2 +- sources/output/jetton_Linker.code.fc | 2 +- sources/output/jetton_Linker.code.fif | 2 +- sources/output/jetton_Linker.md | 4 +- sources/output/jetton_Linker.pkg | 2 +- sources/output/jetton_Linker.ts | 19 +- sources/output/jetton_TONB.abi | 2 +- sources/output/jetton_TONB.code.boc | Bin 1684 -> 1708 bytes sources/output/jetton_TONB.code.fc | 41 +- sources/output/jetton_TONB.code.fif | 130 +++--- sources/output/jetton_TONB.code.rev.fif | 248 +++++------ sources/output/jetton_TONB.md | 6 +- sources/output/jetton_TONB.pkg | 2 +- sources/output/jetton_TONB.ts | 23 +- sources/output/jetton_TONBWallet.abi | 2 +- sources/output/jetton_TONBWallet.code.boc | Bin 1422 -> 1514 bytes sources/output/jetton_TONBWallet.code.fc | 79 ++-- sources/output/jetton_TONBWallet.code.fif | 196 ++++++--- sources/output/jetton_TONBWallet.code.rev.fif | 388 +++++++++++++----- sources/output/jetton_TONBWallet.init.boc | Bin 91 -> 113 bytes sources/output/jetton_TONBWallet.init.fc | 11 +- sources/output/jetton_TONBWallet.init.fif | 27 +- sources/output/jetton_TONBWallet.init.rev.fif | 29 +- sources/output/jetton_TONBWallet.md | 6 +- sources/output/jetton_TONBWallet.pkg | 2 +- sources/output/jetton_TONBWallet.ts | 25 +- .../tests/__snapshots__/jetton.spec.ts.snap | 18 +- sources/tests/jetton.spec.ts | 8 +- sources/wallet.tact | 15 +- 32 files changed, 814 insertions(+), 502 deletions(-) diff --git a/sources/constants.tact b/sources/constants.tact index 98a636b..52fb76d 100644 --- a/sources/constants.tact +++ b/sources/constants.tact @@ -3,4 +3,4 @@ const gas_consumption: Int = ton("0.01"); const withdraw_gas_consumption: Int = ton("0.01"); const deposit_gas_consumption: Int = ton("0.01"); // Gas consumption during processing const linker_credit: Int = ton("0.02"); // TON to send to the linker for the fees -const wallet_credit: Int = ton("0.04"); // TON to send to the wallet for the fees +const wallet_credit: Int = ton("0.05"); // TON to send to the wallet for the fees diff --git a/sources/jetton_trait.tact b/sources/jetton_trait.tact index 71ef3c3..fcb2d64 100644 --- a/sources/jetton_trait.tact +++ b/sources/jetton_trait.tact @@ -41,19 +41,14 @@ trait TONBTrait with Ownable { // Update supply self.totalSupply = self.totalSupply - msg.amount; + /* todo: if not enough tokens, withdraw what we have, send some tokens to the owner, add a withdrawal request */ - // Cashback - if (msg.responseAddress != null) { - send(SendParameters{ - to: msg.responseAddress!!, - value: 0, - bounce: false, - mode: SendRemainingValue + SendIgnoreErrors, - body: TokenExcesses{ - queryId: msg.queryId - }.toCell() - }); - } + // Withdraw + send(SendParameters{ + to: msg.owner, + value: msg.amount, + bounce: false + }); } @@ -111,7 +106,8 @@ trait TONBTrait with Ownable { responseAddress: responseAddress, forwardTonAmount: 0, forwardPayload: emptySlice(), - setLinker: linker_address + setLinker: self.n_linkers - 1, + setLinkerAddress: linker_address }.toCell(); send(SendParameters{ to: walletAddress, diff --git a/sources/messages.tact b/sources/messages.tact index 0090a33..b81d3d7 100644 --- a/sources/messages.tact +++ b/sources/messages.tact @@ -15,7 +15,8 @@ message(0x178d4519) TokenTransferInternal { responseAddress: Address?; forwardTonAmount: Int as coins; forwardPayload: Slice as remaining; - setLinker: Address?; + setLinker: Int?; + setLinkerAddress: Address?; } message(0x7362d09c) TokenNotification { diff --git a/sources/output/jetton_Linker.abi b/sources/output/jetton_Linker.abi index fc4733b..e929d8d 100644 --- a/sources/output/jetton_Linker.abi +++ b/sources/output/jetton_Linker.abi @@ -1 +1 @@ -{"name":"Linker","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseDestination","type":{"kind":"simple","type":"address","optional":true}},{"name":"customPayload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}},{"name":"setLinker","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"TokenUpdateContent","header":201882270,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":true}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"SetLinkerNeighbor","header":3019699393,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"InitLinker","header":1740669268,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}},{"name":"walletAmount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletData","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletAddress","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"WithdrawalRequests","header":null,"fields":[{"name":"addresses","type":{"kind":"dict","key":"int","value":"address"}},{"name":"amounts","type":{"kind":"dict","key":"int","value":"int"}},{"name":"n_requests","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"ChangeOwner","header":256331011,"fields":[{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Deposit","header":569292295,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}}]},{"name":"Withdraw","header":1616450832,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"SetLinkerNeighbor"}}],"getters":[{"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":true}},{"name":"master","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"4429":{"message":"Invalid sender"},"6384":{"message":"not enough money for withdraw"},"13650":{"message":"Invalid bounced message"},"16059":{"message":"Invalid value"},"32366":{"message":"not enough money for deposit"},"62972":{"message":"Invalid balance"}}} \ No newline at end of file +{"name":"Linker","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseDestination","type":{"kind":"simple","type":"address","optional":true}},{"name":"customPayload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}},{"name":"setLinker","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"setLinkerAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"TokenUpdateContent","header":201882270,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":true}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"SetLinkerNeighbor","header":3019699393,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"InitLinker","header":1740669268,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}},{"name":"walletAmount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletData","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletAddress","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"WithdrawalRequests","header":null,"fields":[{"name":"addresses","type":{"kind":"dict","key":"int","value":"address"}},{"name":"amounts","type":{"kind":"dict","key":"int","value":"int"}},{"name":"n_requests","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"ChangeOwner","header":256331011,"fields":[{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Deposit","header":569292295,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}}]},{"name":"Withdraw","header":1616450832,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"SetLinkerNeighbor"}}],"getters":[{"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":true}},{"name":"master","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"4429":{"message":"Invalid sender"},"6384":{"message":"not enough money for withdraw"},"13650":{"message":"Invalid bounced message"},"16059":{"message":"Invalid value"},"32366":{"message":"not enough money for deposit"},"62972":{"message":"Invalid balance"}}} \ No newline at end of file diff --git a/sources/output/jetton_Linker.code.fc b/sources/output/jetton_Linker.code.fc index a515a11..a9e9856 100644 --- a/sources/output/jetton_Linker.code.fc +++ b/sources/output/jetton_Linker.code.fc @@ -151,5 +151,5 @@ _ supported_interfaces() method_id { } _ get_abi_ipfs() { - return "ipfs://QmXsiG6UvpNzjujBxShses6JYADwX9LFvLtVUBva7kHxgm"; + return "ipfs://QmP8qFn4KBRoGwXGpZzK8E7torCEscLLo8Ror4EcyYkigW"; } \ No newline at end of file diff --git a/sources/output/jetton_Linker.code.fif b/sources/output/jetton_Linker.code.fif index 2875ed6..9a18195 100644 --- a/sources/output/jetton_Linker.code.fif +++ b/sources/output/jetton_Linker.code.fif @@ -200,6 +200,6 @@ PROGRAM{ 209801025412363888721030803524359905849 PUSHINT }> get_abi_ipfs PROC:<{ - x{697066733a2f2f516d58736947365576704e7a6a756a42785368736573364a5941447758394c46764c745655427661376b4878676d} PUSHSLICE + x{697066733a2f2f516d503871466e344b42526f47775847705a7a4b384537746f72434573634c4c6f38526f7234456379596b696757} PUSHSLICE }> }END>c diff --git a/sources/output/jetton_Linker.md b/sources/output/jetton_Linker.md index efb789b..fe3fafe 100644 --- a/sources/output/jetton_Linker.md +++ b/sources/output/jetton_Linker.md @@ -22,8 +22,8 @@ TLB: `token_transfer#0f8a7ea5 queryId:uint64 amount:coins destination:address re Signature: `TokenTransfer{queryId:uint64,amount:coins,destination:address,responseDestination:Maybe address,customPayload:Maybe ^cell,forwardTonAmount:coins,forwardPayload:remainder}` ## TokenTransferInternal -TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address responseAddress:Maybe address forwardTonAmount:coins forwardPayload:remainder setLinker:Maybe address = TokenTransferInternal` -Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,responseAddress:Maybe address,forwardTonAmount:coins,forwardPayload:remainder,setLinker:Maybe address}` +TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address responseAddress:Maybe address forwardTonAmount:coins forwardPayload:remainder setLinker:Maybe int257 setLinkerAddress:Maybe address = TokenTransferInternal` +Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,responseAddress:Maybe address,forwardTonAmount:coins,forwardPayload:remainder,setLinker:Maybe int257,setLinkerAddress:Maybe address}` ## TokenNotification TLB: `token_notification#7362d09c queryId:uint64 amount:coins from:address forwardPayload:remainder = TokenNotification` diff --git a/sources/output/jetton_Linker.pkg b/sources/output/jetton_Linker.pkg index eb5c142..697f437 100644 --- a/sources/output/jetton_Linker.pkg +++ b/sources/output/jetton_Linker.pkg @@ -1 +1 @@ -{"name":"Linker","code":"te6ccgECEwEAAVAAART/APSkE/S88sgLAQIBYgIDAgLMBAUCASANDgOL24EOuk4Q/KmBBrhY/vAWhpgYC42GAAyL/IuHEA/SARKDM3gnwwgUit8EEIWf56YN1Hx22eAm2eGIgaIJh4B+2ecBh5YEFBEGBwIBWAkKADbTHwGCELP89MG68uCB+kAh1wsBwwCRAZIxbeIBGMj4QgHMVTDbPMntVAgAPFA0gQEBzwABzxYBzxbIWCBulTBwAcsBks8W4skBzAAHUTXwOAIBIAsMAAkECNfA4AAfDH4QW8kW4ERTTIkxwXy9IAENviju2eeAbBECASAPEABNu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYAQ25W92zzwDoEQEW7UTQ1AH4Yts8bBQSAESBAQHXAPpAAQH6QAEB1AHQ+kAh1wsBwwCRAZIxbeIxFEMw","abi":"{\"name\":\"Linker\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TokenTransfer\",\"header\":260734629,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseDestination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"customPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenTransferInternal\",\"header\":395134233,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}},{\"name\":\"setLinker\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenNotification\",\"header\":1935855772,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenBurn\",\"header\":1499400124,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenBurnNotification\",\"header\":2078119902,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenExcesses\",\"header\":3576854235,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"TokenUpdateContent\",\"header\":201882270,\"fields\":[{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"JettonData\",\"header\":null,\"fields\":[{\"name\":\"totalSupply\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mintable\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"JettonWalletData\",\"header\":null,\"fields\":[{\"name\":\"balance\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"master\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"SetLinkerNeighbor\",\"header\":3019699393,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"InitLinker\",\"header\":1740669268,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"walletAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletData\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"WithdrawalRequests\",\"header\":null,\"fields\":[{\"name\":\"addresses\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"address\"}},{\"name\":\"amounts\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}},{\"name\":\"n_requests\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"ChangeOwner\",\"header\":256331011,\"fields\":[{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Deposit\",\"header\":569292295,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}}]},{\"name\":\"Withdraw\",\"header\":1616450832,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetLinkerNeighbor\"}}],\"getters\":[{\"name\":\"owner\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"master\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"4429\":{\"message\":\"Invalid sender\"},\"6384\":{\"message\":\"not enough money for withdraw\"},\"13650\":{\"message\":\"Invalid bounced message\"},\"16059\":{\"message\":\"Invalid value\"},\"32366\":{\"message\":\"not enough money for deposit\"},\"62972\":{\"message\":\"Invalid balance\"}}}","init":{"code":"te6ccgEBBwEATgABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBE2W0EyMxQJNs8yYGADxQNIEBAc8AAc8WAc8WyFggbpUwcAHLAZLPFuLJAcw=","args":[{"name":"index","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}}],"deployment":{"kind":"system-cell","system":"te6cckECFQEAAVoAAQHAAQEFodSXAgEU/wD0pBP0vPLICwMCAWIJBAIBIAgFAgEgBwYBDblb3bPPAOgTAE27vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gBDb4o7tnngGwTAgLMDwoCAVgOCwIBIA0MAB8MfhBbyRbgRFNMiTHBfL0gAAkECNfA4AAHUTXwOAOL24EOuk4Q/KmBBrhY/vAWhpgYC42GAAyL/IuHEA/SARKDM3gnwwgUit8EEIWf56YN1Hx22eAm2eGIgaIJh4B+2ecBh5YEFBMSEAEYyPhCAcxVMNs8ye1UEQA8UDSBAQHPAAHPFgHPFshYIG6VMHABywGSzxbiyQHMADbTHwGCELP89MG68uCB+kAh1wsBwwCRAZIxbeIBFu1E0NQB+GLbPGwUFABEgQEB1wD6QAEB+kABAdQB0PpAIdcLAcMAkQGSMW3iMRRDMEhMYDc="}},"compiler":{"name":"tact","version":"0.8.11"}} \ No newline at end of file +{"name":"Linker","code":"te6ccgECEwEAAVAAART/APSkE/S88sgLAQIBYgIDAgLMBAUCASANDgOL24EOuk4Q/KmBBrhY/vAWhpgYC42GAAyL/IuHEA/SARKDM3gnwwgUit8EEIWf56YN1Hx22eAm2eGIgaIJh4B+2ecBh5YEFBEGBwIBWAkKADbTHwGCELP89MG68uCB+kAh1wsBwwCRAZIxbeIBGMj4QgHMVTDbPMntVAgAPFA0gQEBzwABzxYBzxbIWCBulTBwAcsBks8W4skBzAAHUTXwOAIBIAsMAAkECNfA4AAfDH4QW8kW4ERTTIkxwXy9IAENviju2eeAbBECASAPEABNu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYAQ25W92zzwDoEQEW7UTQ1AH4Yts8bBQSAESBAQHXAPpAAQH6QAEB1AHQ+kAh1wsBwwCRAZIxbeIxFEMw","abi":"{\"name\":\"Linker\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TokenTransfer\",\"header\":260734629,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseDestination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"customPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenTransferInternal\",\"header\":395134233,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}},{\"name\":\"setLinker\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"setLinkerAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenNotification\",\"header\":1935855772,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenBurn\",\"header\":1499400124,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenBurnNotification\",\"header\":2078119902,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenExcesses\",\"header\":3576854235,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"TokenUpdateContent\",\"header\":201882270,\"fields\":[{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"JettonData\",\"header\":null,\"fields\":[{\"name\":\"totalSupply\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mintable\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"JettonWalletData\",\"header\":null,\"fields\":[{\"name\":\"balance\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"master\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"SetLinkerNeighbor\",\"header\":3019699393,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"InitLinker\",\"header\":1740669268,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"walletAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletData\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"WithdrawalRequests\",\"header\":null,\"fields\":[{\"name\":\"addresses\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"address\"}},{\"name\":\"amounts\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}},{\"name\":\"n_requests\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"ChangeOwner\",\"header\":256331011,\"fields\":[{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Deposit\",\"header\":569292295,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}}]},{\"name\":\"Withdraw\",\"header\":1616450832,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetLinkerNeighbor\"}}],\"getters\":[{\"name\":\"owner\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"master\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"4429\":{\"message\":\"Invalid sender\"},\"6384\":{\"message\":\"not enough money for withdraw\"},\"13650\":{\"message\":\"Invalid bounced message\"},\"16059\":{\"message\":\"Invalid value\"},\"32366\":{\"message\":\"not enough money for deposit\"},\"62972\":{\"message\":\"Invalid balance\"}}}","init":{"code":"te6ccgEBBwEATgABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBE2W0EyMxQJNs8yYGADxQNIEBAc8AAc8WAc8WyFggbpUwcAHLAZLPFuLJAcw=","args":[{"name":"index","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}}],"deployment":{"kind":"system-cell","system":"te6cckECFQEAAVoAAQHAAQEFodSXAgEU/wD0pBP0vPLICwMCAWIJBAIBIAgFAgEgBwYBDblb3bPPAOgTAE27vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gBDb4o7tnngGwTAgLMDwoCAVgOCwIBIA0MAB8MfhBbyRbgRFNMiTHBfL0gAAkECNfA4AAHUTXwOAOL24EOuk4Q/KmBBrhY/vAWhpgYC42GAAyL/IuHEA/SARKDM3gnwwgUit8EEIWf56YN1Hx22eAm2eGIgaIJh4B+2ecBh5YEFBMSEAEYyPhCAcxVMNs8ye1UEQA8UDSBAQHPAAHPFgHPFshYIG6VMHABywGSzxbiyQHMADbTHwGCELP89MG68uCB+kAh1wsBwwCRAZIxbeIBFu1E0NQB+GLbPGwUFABEgQEB1wD6QAEB+kABAdQB0PpAIdcLAcMAkQGSMW3iMRRDMEhMYDc="}},"compiler":{"name":"tact","version":"0.8.11"}} \ No newline at end of file diff --git a/sources/output/jetton_Linker.ts b/sources/output/jetton_Linker.ts index bb74ee0..39bcea5 100644 --- a/sources/output/jetton_Linker.ts +++ b/sources/output/jetton_Linker.ts @@ -247,7 +247,8 @@ export type TokenTransferInternal = { responseAddress: Address | null; forwardTonAmount: bigint; forwardPayload: Cell; - setLinker: Address | null; + setLinker: bigint | null; + setLinkerAddress: Address | null; } export function storeTokenTransferInternal(src: TokenTransferInternal) { @@ -261,7 +262,8 @@ export function storeTokenTransferInternal(src: TokenTransferInternal) { b_0.storeCoins(src.forwardTonAmount); b_0.storeBuilder(src.forwardPayload.asBuilder()); let b_1 = new Builder(); - b_1.storeAddress(src.setLinker); + if (src.setLinker !== null && src.setLinker !== undefined) { b_1.storeBit(true).storeInt(src.setLinker, 257); } else { b_1.storeBit(false); } + b_1.storeAddress(src.setLinkerAddress); b_0.storeRef(b_1.endCell()); }; } @@ -276,8 +278,9 @@ export function loadTokenTransferInternal(slice: Slice) { let _forwardTonAmount = sc_0.loadCoins(); let _forwardPayload = sc_0.asCell(); let sc_1 = sc_0.loadRef().beginParse(); - let _setLinker = sc_1.loadMaybeAddress(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker }; + let _setLinker = sc_1.loadBit() ? sc_1.loadIntBig(257) : null; + let _setLinkerAddress = sc_1.loadMaybeAddress(); + return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker, setLinkerAddress: _setLinkerAddress }; } function loadTupleTokenTransferInternal(source: TupleReader) { @@ -287,8 +290,9 @@ function loadTupleTokenTransferInternal(source: TupleReader) { let _responseAddress = source.readAddressOpt(); let _forwardTonAmount = source.readBigNumber(); let _forwardPayload = source.readCell(); - let _setLinker = source.readAddressOpt(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker }; + let _setLinker = source.readBigNumberOpt(); + let _setLinkerAddress = source.readAddressOpt(); + return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker, setLinkerAddress: _setLinkerAddress }; } function storeTupleTokenTransferInternal(source: TokenTransferInternal) { @@ -299,7 +303,8 @@ function storeTupleTokenTransferInternal(source: TokenTransferInternal) { builder.writeAddress(source.responseAddress); builder.writeNumber(source.forwardTonAmount); builder.writeSlice(source.forwardPayload); - builder.writeAddress(source.setLinker); + builder.writeNumber(source.setLinker); + builder.writeAddress(source.setLinkerAddress); return builder.build(); } diff --git a/sources/output/jetton_TONB.abi b/sources/output/jetton_TONB.abi index 613f7a1..f5f38ff 100644 --- a/sources/output/jetton_TONB.abi +++ b/sources/output/jetton_TONB.abi @@ -1 +1 @@ -{"name":"TONB","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseDestination","type":{"kind":"simple","type":"address","optional":true}},{"name":"customPayload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}},{"name":"setLinker","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"TokenUpdateContent","header":201882270,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":true}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"SetLinkerNeighbor","header":3019699393,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"InitLinker","header":1740669268,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}},{"name":"walletAmount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletData","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletAddress","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"WithdrawalRequests","header":null,"fields":[{"name":"addresses","type":{"kind":"dict","key":"int","value":"address"}},{"name":"amounts","type":{"kind":"dict","key":"int","value":"int"}},{"name":"n_requests","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"ChangeOwner","header":256331011,"fields":[{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Deposit","header":569292295,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}}]},{"name":"Withdraw","header":1616450832,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Deposit"}},{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"typed","type":"Withdraw"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenUpdateContent"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenBurnNotification"}}],"getters":[{"name":"get_wallet_address","arguments":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"get_jetton_data","arguments":[],"returnType":{"kind":"simple","type":"JettonData","optional":false}},{"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"4429":{"message":"Invalid sender"},"6384":{"message":"not enough money for withdraw"},"13650":{"message":"Invalid bounced message"},"16059":{"message":"Invalid value"},"32366":{"message":"not enough money for deposit"},"62972":{"message":"Invalid balance"}}} \ No newline at end of file +{"name":"TONB","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseDestination","type":{"kind":"simple","type":"address","optional":true}},{"name":"customPayload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}},{"name":"setLinker","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"setLinkerAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"TokenUpdateContent","header":201882270,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":true}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"SetLinkerNeighbor","header":3019699393,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"InitLinker","header":1740669268,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}},{"name":"walletAmount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletData","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletAddress","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"WithdrawalRequests","header":null,"fields":[{"name":"addresses","type":{"kind":"dict","key":"int","value":"address"}},{"name":"amounts","type":{"kind":"dict","key":"int","value":"int"}},{"name":"n_requests","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"ChangeOwner","header":256331011,"fields":[{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Deposit","header":569292295,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}}]},{"name":"Withdraw","header":1616450832,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Deposit"}},{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"typed","type":"Withdraw"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenUpdateContent"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenBurnNotification"}}],"getters":[{"name":"get_wallet_address","arguments":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"get_jetton_data","arguments":[],"returnType":{"kind":"simple","type":"JettonData","optional":false}},{"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"4429":{"message":"Invalid sender"},"6384":{"message":"not enough money for withdraw"},"13650":{"message":"Invalid bounced message"},"16059":{"message":"Invalid value"},"32366":{"message":"not enough money for deposit"},"62972":{"message":"Invalid balance"}}} \ No newline at end of file diff --git a/sources/output/jetton_TONB.code.boc b/sources/output/jetton_TONB.code.boc index 1423e6d753bc809e3287fdd9f8ea333f922bc42b..002a43a0cb2a0d38f920f0c862e02c72d383ad60 100644 GIT binary patch delta 897 zcmaiyO-vI(6vyXnm)c#rbXvN*tgW)5_yLHeAbyRd)h!f7DJs}R4vi+LiJHa}i6ls~ zCxbC{B{gcaC%u@cF?ukSl*oY!ag7lTsUM9OPZ(pA7{bA+2jjuS%P()L(^fH1!P%iQOYQJH~=jbk9jmm7=FS0(0TaNd*V zZw^X>jv%eRsBj?5onXq}>9RjIx7vKj_UKh2a!Qr4;!Itvf#%eGu|rl|m6k?df!GS9 z2@m4qxDSVMOUU=Nr9fo2!tT11{#SK#ffSSY-23#0C$gwWh8;SUR+{sD%O&M11*CcH zY9=V3$IfAbMGl*|Wlw!qmq#w>ULyxo7^v4^GIm@~j zmq7#3@Cbm3Vx|P9G*xrv;kD9L*YD(*KM{M5KE>2CW4;7T!(~(Yl!qBQsmV{VbsI%< z3q|V|sPu&V&2Fyr_-4bw)`M#7VAWyd2;gyEB3uy(gukw4IhFQr-$4-!p~?VHlXw)* zsLX`>#0jx~h))x)bVXD~34fSyUNzaZH|S*+OxvW8D$^V|LAcJ)NpFCs((@ZM=Y+0> zbRooQBVsVQV0wYAC??0VDtd<}ho5CRO`LSQnO=4Yo#eup# zq@>g9Rk4V*oUR3RZP|j!dcs%G0D9Xm{6lkunPMmOBCYscN}09o|!5Qx}+0b2C14xA9#Wc9u`A<@XTo9gD;LfZ#{MjXTNc z8KMhVw4Km#a$l9!h=~)&R6PGX$CNC*e|28RlA~^qze8lIR=>Le_SwiC$`ri2+j66ZrlaRLf6B4_tROO zgQ!d8Ag;MHqZ4gfL5JoqwFg(H+*3HLgZ98!`3e4btxC`69=nr!d60GFYh!pW#IUuU zVP`i3*~ZZE6oM$KpPakG4o`1q*wKmV`Un!K@TW-Z#=6h@yPiQU({LNXI>0iLdXh}D z;I7>ay?qRO_A>Z;!0nxcKrguDjY=R9uz#rQbV>wTy^%n#OAP+)#rST>*(sh(vyy#5 zhW-KM4B-Vyqf!DX)Zrz0F^5`15|eliFB9%t*QrzLWXj>D;sOh*o;fP5Q87!*!-v8? zZlfX;l}x?i#7QcaB5(Ral8_P&C2bgBh^T0USBAf?_<(P!nO8oUK|kZ-_j$3cs1}#nv5agv-5=>Bgu--GBG_m{qh$kkL+qLpgjDNz#D;kiuF8PyCh6@$# zH+aH9MO%vh*DJv?>uM+rXYX3^*_GL-dDo1kZ=ZZM{o(AYc;MaaJD<&r&p0d&Pu#1S z$Hkc+PoGWG%s1a*^Je;b*QcgyoYhB$xzj+#4l;SbV0bzuD5G#njDhYzKJH+G36Ue&{g63rFlD4ep^D0)o0XqcRz# sa?RYaJ-64&-}2;Tg52sPmCqZVqIxM@`)8^#q?vd%@Ln}uZZ8l01=Vf`vH$=8 diff --git a/sources/output/jetton_TONB.code.fc b/sources/output/jetton_TONB.code.fc index fca1957..436beeb 100644 --- a/sources/output/jetton_TONB.code.fc +++ b/sources/output/jetton_TONB.code.fc @@ -79,8 +79,8 @@ cell __tact_dict_get_code(cell dict, int id) inline { return data; } -builder __gen_write_TokenTransferInternal(builder build_0, (int, int, slice, slice, int, slice, slice) v) inline_ref { - var (v'queryId, v'amount, v'from, v'responseAddress, v'forwardTonAmount, v'forwardPayload, v'setLinker) = v; +builder __gen_write_TokenTransferInternal(builder build_0, (int, int, slice, slice, int, slice, int, slice) v) inline_ref { + var (v'queryId, v'amount, v'from, v'responseAddress, v'forwardTonAmount, v'forwardPayload, v'setLinker, v'setLinkerAddress) = v; build_0 = store_uint(build_0, 395134233, 32); build_0 = build_0.store_uint(v'queryId, 64); build_0 = build_0.store_coins(v'amount); @@ -89,12 +89,13 @@ builder __gen_write_TokenTransferInternal(builder build_0, (int, int, slice, sli build_0 = build_0.store_coins(v'forwardTonAmount); build_0 = build_0.store_slice(v'forwardPayload); var build_1 = begin_cell(); - build_1 = __tact_store_address_opt(build_1, v'setLinker); + build_1 = ~ null?(v'setLinker) ? build_1.store_int(true, 1).store_int(v'setLinker, 257) : build_1.store_int(false, 1); + build_1 = __tact_store_address_opt(build_1, v'setLinkerAddress); build_0 = store_ref(build_0, build_1.end_cell()); return build_0; } -cell __gen_writecell_TokenTransferInternal((int, int, slice, slice, int, slice, slice) v) inline_ref { +cell __gen_writecell_TokenTransferInternal((int, int, slice, slice, int, slice, int, slice) v) inline_ref { return __gen_write_TokenTransferInternal(begin_cell(), v).end_cell(); } @@ -121,17 +122,6 @@ cell __gen_writecell_TokenBurn((int, int, slice, slice) v) inline_ref { return (sc_0, (v'queryId, v'amount, v'owner, v'responseAddress)); } -builder __gen_write_TokenExcesses(builder build_0, (int) v) inline_ref { - var (v'queryId) = v; - build_0 = store_uint(build_0, 3576854235, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell __gen_writecell_TokenExcesses((int) v) inline_ref { - return __gen_write_TokenExcesses(begin_cell(), v).end_cell(); -} - (slice, ((cell))) __gen_read_TokenUpdateContent(slice sc_0) inline_ref { throw_unless(129, sc_0~load_uint(32) == 201882270); var v'content = sc_0~load_int(1) ? sc_0~load_ref() : null(); @@ -161,13 +151,14 @@ cell __gen_writecell_SetLinkerNeighbor((slice) v) inline_ref { return (sc_0, (v'amount)); } -builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, slice) v) inline_ref { - var (v'balance, v'owner, v'master, v'linker) = v; +builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, int, slice) v) inline_ref { + var (v'balance, v'owner, v'master, v'linker, v'linker_address) = v; build_0 = build_0.store_int(v'balance, 257); build_0 = __tact_store_address(build_0, v'owner); build_0 = __tact_store_address(build_0, v'master); var build_1 = begin_cell(); - build_1 = __tact_store_address_opt(build_1, v'linker); + build_1 = ~ null?(v'linker) ? build_1.store_int(true, 1).store_int(v'linker, 257) : build_1.store_int(false, 1); + build_1 = __tact_store_address_opt(build_1, v'linker_address); build_0 = store_ref(build_0, build_1.end_cell()); return build_0; } @@ -301,13 +292,13 @@ slice $contractAddress((cell, cell) $s) impure { } cell $__gen_TONBWallet_init(cell sys', slice $master, slice $owner) { - var (($self'balance, $self'owner, $self'master, $self'linker)) = (null(), null(), null(), null()); + var (($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address)) = (null(), null(), null(), null(), null()); $self'balance = 0; $self'owner = $owner; $self'master = $master; var b' = begin_cell(); b' = b'.store_ref(sys'); - b' = __gen_write_TONBWallet(b', ($self'balance, $self'owner, $self'master, $self'linker)); + b' = __gen_write_TONBWallet(b', ($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address)); return b'.end_cell(); } @@ -386,8 +377,8 @@ _ $__gen_get_get_jetton_data() method_id(106029) { $send((false, $linker_address, 20000000, 0, __gen_writecell_SetLinkerNeighbor(($self'last_linker)), $linker_init'code, $linker_init'data)); $self'last_linker = $linker_address; $self'n_linkers = ($self'n_linkers + 1); - cell $wallet_msg_body = __gen_writecell_TokenTransferInternal((0, $amount, my_address(), $responseAddress, 0, $emptySlice(), $linker_address)); - $send((false, $walletAddress, 40000000, 0, $wallet_msg_body, $winit'code, $winit'data)); + cell $wallet_msg_body = __gen_writecell_TokenTransferInternal((0, $amount, my_address(), $responseAddress, 0, $emptySlice(), ($self'n_linkers - 1), $linker_address)); + $send((false, $walletAddress, 50000000, 0, $wallet_msg_body, $winit'code, $winit'data)); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool), ()); } @@ -460,9 +451,7 @@ _ $__gen_get_owner() method_id(83229) { var ($msg'queryId, $msg'amount, $msg'owner, $msg'responseAddress) = $msg; ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool)~$__gen_TONB_requireWallet($msg'owner); $self'totalSupply = ($self'totalSupply - $msg'amount); - if ((~ null?($msg'responseAddress))) { - $send((false, __tact_not_null($msg'responseAddress), 0, (64 + 2), __gen_writecell_TokenExcesses(($msg'queryId)), null(), null())); - } + $send((false, $msg'owner, $msg'amount, 0, null(), null(), null())); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool), ()); } @@ -542,5 +531,5 @@ _ supported_interfaces() method_id { } _ get_abi_ipfs() { - return "ipfs://QmPvEiZGrqt4f1VDKeQxyzgba7g5qVaCcnFiXAyVCz4R9o"; + return "ipfs://QmRq7Ws4rcHn99Mv8T1S9fKrCFxp46UnQyae1gPiBrqj5M"; } \ No newline at end of file diff --git a/sources/output/jetton_TONB.code.fif b/sources/output/jetton_TONB.code.fif index 78c838b..ce75f3a 100644 --- a/sources/output/jetton_TONB.code.fif +++ b/sources/output/jetton_TONB.code.fif @@ -17,8 +17,6 @@ PROGRAM{ DECLPROC __gen_write_TokenBurn DECLPROC __gen_writecell_TokenBurn DECLPROC __gen_read_TokenBurnNotification - DECLPROC __gen_write_TokenExcesses - DECLPROC __gen_writecell_TokenExcesses DECLPROC __gen_read_TokenUpdateContent DECLPROC __gen_write_SetLinkerNeighbor DECLPROC __gen_writecell_SetLinkerNeighbor @@ -162,13 +160,13 @@ PROGRAM{ }> __gen_write_TokenTransferInternal PROCREF:<{ 395134233 PUSHINT - s0 s8 XCHG2 + s0 s9 XCHG2 32 STU - s1 s6 XCHG + s1 s7 XCHG 64 STU - s0 s4 XCHG2 + s0 s5 XCHG2 STGRAMS - ROT + s0 s3 XCHG2 __tact_store_address INLINECALLDICT SWAP __tact_store_address_opt INLINECALLDICT @@ -177,6 +175,22 @@ PROGRAM{ SWAP STSLICER NEWC + s2 PUSH + ISNULL + NOT + IF:<{ + TRUE + SWAP + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }>ELSE<{ + s2 POP + FALSE + ROT + 1 STI + }> ROT __tact_store_address_opt INLINECALLDICT ENDC @@ -185,7 +199,7 @@ PROGRAM{ }> __gen_writecell_TokenTransferInternal PROCREF:<{ NEWC - 7 -ROLL + 8 -ROLL __gen_write_TokenTransferInternal INLINECALLDICT ENDC }> @@ -222,18 +236,6 @@ PROGRAM{ s1 s4 XCHG s3 s3 s0 XCHG3 }> - __gen_write_TokenExcesses PROCREF:<{ - 3576854235 PUSHINT - ROT - 32 STU - 64 STU - }> - __gen_writecell_TokenExcesses PROCREF:<{ - NEWC - SWAP - __gen_write_TokenExcesses INLINECALLDICT - ENDC - }> __gen_read_TokenUpdateContent PROCREF:<{ 32 LDU SWAP @@ -283,14 +285,30 @@ PROGRAM{ SWAP }> __gen_write_TONBWallet PROCREF:<{ - s3 s4 XCHG2 + s4 s5 XCHG2 257 PUSHINT STIX - SWAP + ROT __tact_store_address INLINECALLDICT SWAP __tact_store_address INLINECALLDICT NEWC + s2 PUSH + ISNULL + NOT + IF:<{ + TRUE + SWAP + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }>ELSE<{ + s2 POP + FALSE + ROT + 1 STI + }> ROT __tact_store_address_opt INLINECALLDICT ENDC @@ -522,13 +540,14 @@ PROGRAM{ SENDRAWMSG }> $__gen_TONBWallet_init PROC:<{ + PUSHNULL PUSHNULL 0 PUSHINT - s0 s4 XCHG + s0 s5 XCHG NEWC STREF - s0 s4 XCHG - s3 s3 XCHG2 + s0 s5 XCHG + s4 s4 s4 XCHG3 __gen_write_TONBWallet INLINECALLDICT ENDC }> @@ -639,16 +658,19 @@ PROGRAM{ MYADDR OVER $emptySlice CALLDICT - s3 s6 XCHG - s5 16 s() XCHG - s2 s4 XCHG - s3 17 s() XCHG - s1 s0 s10 XCHG3 + s4 PUSH + DEC + s4 s7 XCHG + s6 17 s() XCHG + s3 s5 XCHG + s4 18 s() XCHG + 3 ROLL + s0 s11 XCHG __gen_writecell_TokenTransferInternal INLINECALLDICT FALSE s0 s4 XCHG s3 s11 XCHG - 40000000 PUSHINT + 50000000 PUSHINT s0 s3 XCHG 0 PUSHINT s3 s1 s3 XCHG3 @@ -754,41 +776,21 @@ PROGRAM{ 4 ROLL }> $__gen_TONB_receive_TokenBurnNotification PROC:<{ - s8 s11 XCHG - s7 s10 XCHG - s6 s9 XCHG - s5 s11 XCHG - s4 s10 XCHG - s3 s9 XCHG - s11 s10 s10 XCHG3 + DROP + s2 POP + 8 2 BLKSWAP + s9 PUSH $__gen_TONB_requireWallet CALLDICT - s7 s10 XCHG2 + s7 s8 XCPU SUB - s8 PUSH - ISNULL - NOT - IF:<{ - FALSE - s0 s9 XCHG - __tact_not_null CALLDICT - 0 PUSHINT - 66 PUSHINT - s0 s10 XCHG - __gen_writecell_TokenExcesses INLINECALLDICT - s4 s11 XCHG - s1 s3 s0 XCHG3 - s1 s10 XCHG - PUSHNULL - PUSHNULL - $send CALLDICT - }>ELSE<{ - s7 POP - s7 POP - }> - s5 s7 XCHG - s3 s6 XCHG - s5 s1 s3 XCHG3 - s4 s2 XCHG2 + FALSE + s0 s10 s9 XCHG3 + 0 PUSHINT + PUSHNULL + PUSHNULL + PUSHNULL + $send CALLDICT + 2 5 BLKSWAP }> recv_internal PROC:<{ 0 PUSHINT @@ -916,6 +918,6 @@ PROGRAM{ 86142586315491086060343270784266291122 PUSHINT }> get_abi_ipfs PROC:<{ - x{697066733a2f2f516d507645695a4772717434663156444b655178797a67626137673571566143636e466958417956437a3452396f} PUSHSLICE + x{697066733a2f2f516d5271375773347263486e39394d763854315339664b72434678703436556e51796165316750694272716a354d} PUSHSLICE }> }END>c diff --git a/sources/output/jetton_TONB.code.rev.fif b/sources/output/jetton_TONB.code.rev.fif index 7256f6d..7c4f12f 100644 --- a/sources/output/jetton_TONB.code.rev.fif +++ b/sources/output/jetton_TONB.code.rev.fif @@ -133,7 +133,7 @@ SETCP0 s4 s5 XCHG s3 s4 XCHG s1 s3 s0 XCHG3 - 52 CALLDICT + 50 CALLDICT <{ NEWC 2 GETGLOBVAR @@ -298,7 +298,7 @@ SETCP0 }> CALLREF 1 8 BLKDROP2 }> CALLREF - 53 CALLDICT + 51 CALLDICT <{ NEWC 2 GETGLOBVAR @@ -478,7 +478,7 @@ SETCP0 s4 s5 XCHG s3 s4 XCHG s1 s3 s0 XCHG3 - 54 CALLDICT + 52 CALLDICT <{ NEWC 2 GETGLOBVAR @@ -665,7 +665,7 @@ SETCP0 s4 s5 XCHG s3 s4 XCHG s1 s3 s0 XCHG3 - 55 CALLDICT + 53 CALLDICT <{ NEWC 2 GETGLOBVAR @@ -861,7 +861,7 @@ SETCP0 s5 s6 XCHG s4 s5 XCHG 1 3 BLKSWAP - 56 CALLDICT + 54 CALLDICT <{ NEWC 2 GETGLOBVAR @@ -951,20 +951,20 @@ SETCP0 ISNULL 128 THROWIF - 32: + 30: - 35: + 33: NEWC ENDC - 36: + 34: CTOS - 37: - 35 CALLDICT - 36 CALLDICT + 35: + 33 CALLDICT + 34 CALLDICT - 38: + 36: 0 PUSHINT ROTREV NEWC @@ -995,7 +995,7 @@ SETCP0 ENDC CTOS - 39: + 37: NEWC 1 PUSHINT s0 s1 XCHG @@ -1112,23 +1112,42 @@ SETCP0 s0 s1 XCHG 1 STI - 40: + 38: + PUSHNULL PUSHNULL 0 PUSHINT - s0 s4 XCHG + s0 s5 XCHG NEWC STREF - s0 s4 XCHG - s3 s3 XCHG2 + s0 s5 XCHG + s4 s4 s4 XCHG3 <{ - s3 s4 XCHG2 + s4 s5 XCHG2 257 PUSHINT STIX - s0 s1 XCHG + ROT STSLICER s0 s1 XCHG STSLICER NEWC + s2 PUSH + ISNULL + NOT + <{ + -1 PUSHINT + s0 s1 XCHG + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }> PUSHCONT + <{ + s2 POP + 0 PUSHINT + ROT + 1 STI + }> PUSHCONT + IFELSE ROT s0 PUSH ISNULL @@ -1148,7 +1167,7 @@ SETCP0 }> CALLREF ENDC - 41: + 39: s0 s2 XCHG CTOS LDDICT @@ -1171,9 +1190,9 @@ SETCP0 STDICT ENDC s0 s0 s3 XCHG3 - 40 CALLDICT + 38 CALLDICT - 42: + 40: PUSHNULL s0 s4 XCHG NEWC @@ -1207,7 +1226,7 @@ SETCP0 }> CALLREF ENDC - 43: + 41: s0 s3 XCHG CTOS LDDICT @@ -1231,39 +1250,39 @@ SETCP0 ENDC 3 1 BLKSWAP s0 s4 XCHG - 42 CALLDICT + 40 CALLDICT - 44: + 42: 2 GETGLOBVAR MYADDR ROT - 41 CALLDICT + 39 CALLDICT - 45: - 44 CALLDICT + 43: + 42 CALLDICT 8 2 BLKDROP2 - 38 CALLDICT + 36 CALLDICT - 46: + 44: MYADDR - 44 CALLDICT + 42 CALLDICT 4 2 BLKDROP2 s0 POP s3 s3 s0 XCHG3 - 47: + 45: s10 s1 XCPU ADD 8 2 BLKSWAP - 44 CALLDICT + 42 CALLDICT 2DUP - 38 CALLDICT + 36 CALLDICT 2 GETGLOBVAR MYADDR 6 2 -2 PU2XC - 43 CALLDICT + 41 CALLDICT 2DUP - 38 CALLDICT + 36 CALLDICT 0 PUSHINT 20000000 PUSHINT 0 PUSHINT @@ -1296,35 +1315,38 @@ SETCP0 s4 s1 s5 XCHG3 s3 s12 XCHG s1 s12 s0 XCHG3 - 39 CALLDICT + 37 CALLDICT s5 PUSH s0 s5 XCHG INC 0 PUSHINT MYADDR s1 PUSH - 37 CALLDICT - s3 s6 XCHG - s0 s5 XCHG - s0 s16 XCHG - s0 s5 XCHG - s2 s4 XCHG - s0 s3 XCHG + 35 CALLDICT + s4 PUSH + DEC + s4 s7 XCHG + s0 s6 XCHG s0 s17 XCHG - s0 s3 XCHG - s1 s0 s10 XCHG3 + s0 s6 XCHG + s3 s5 XCHG + s0 s4 XCHG + s0 s18 XCHG + s0 s4 XCHG + 1 3 BLKSWAP + s0 s11 XCHG <{ NEWC - 7 1 BLKSWAP + 8 1 BLKSWAP <{ 395134233 PUSHINT - s0 s8 XCHG2 + s0 s9 XCHG2 32 STU - s1 s6 XCHG + s1 s7 XCHG 64 STU - s0 s4 XCHG2 + s0 s5 XCHG2 STGRAMS - ROT + s0 s3 XCHG2 STSLICER s0 s1 XCHG s0 PUSH @@ -1344,6 +1366,24 @@ SETCP0 s0 s1 XCHG STSLICER NEWC + s2 PUSH + ISNULL + NOT + <{ + -1 PUSHINT + s0 s1 XCHG + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }> PUSHCONT + <{ + s2 POP + 0 PUSHINT + ROT + 1 STI + }> PUSHCONT + IFELSE ROT s0 PUSH ISNULL @@ -1366,19 +1406,19 @@ SETCP0 0 PUSHINT s0 s4 XCHG s3 s11 XCHG - 40000000 PUSHINT + 50000000 PUSHINT s0 s3 XCHG 0 PUSHINT s3 s1 s3 XCHG3 s0 s14 XCHG - 39 CALLDICT + 37 CALLDICT s5 s7 XCHG s4 s6 XCHG s3 s5 XCHG s4 s0 s3 XCHG3 s0 s2 XCHG - 48: + 46: s7 s10 XCHG s6 s9 XCHG s5 s8 XCHG @@ -1386,9 +1426,9 @@ SETCP0 s3 s9 XCHG s8 s10 s9 XCHG3 s8 PUSH - 44 CALLDICT + 42 CALLDICT 2DUP - 38 CALLDICT + 36 CALLDICT 0 PUSHINT 0 PUSHINT 64 PUSHINT @@ -1432,28 +1472,28 @@ SETCP0 s4 s14 XCHG s3 s12 XCHG s12 s2 XCHG2 - 39 CALLDICT + 37 CALLDICT s4 s7 XCHG 3 4 BLKSWAP - 49: + 47: 1 GETGLOBVAR 4 UNTUPLE s2 s3 XCHG 3 BLKDROP 9 1 BLKSWAP - 44 CALLDICT + 42 CALLDICT s0 s1 XCHG 4429 PUSHINT s0 s2 XCHG - 38 CALLDICT + 36 CALLDICT s0 s10 XCHG2 SDEQ s1 s9 XCHG THROWANYIFNOT 1 7 BLKSWAP - 50: + 48: 1 GETGLOBVAR 4 UNTUPLE s2 s3 XCHG @@ -1462,11 +1502,11 @@ SETCP0 SDEQ 132 THROWIFNOT - 51: + 49: s6 s7 XCHG 7 BLKDROP - 52: + 50: 1 GETGLOBVAR 4 UNTUPLE s0 POP @@ -1477,11 +1517,11 @@ SETCP0 s1 s2 XCHG THROWANYIFNOT TUCK - 47 CALLDICT + 45 CALLDICT - 53: + 51: - 54: + 52: 1 GETGLOBVAR 4 UNTUPLE s0 POP @@ -1492,64 +1532,32 @@ SETCP0 s1 s2 XCHG THROWANYIFNOT TUCK - 48 CALLDICT + 46 CALLDICT - 55: + 53: 8 1 BLKSWAP - 50 CALLDICT + 48 CALLDICT s5 POP s6 s7 XCHG s5 s6 XCHG 1 4 BLKSWAP - 56: - s8 s11 XCHG - s7 s10 XCHG - s6 s9 XCHG - s5 s11 XCHG - s4 s10 XCHG - s3 s9 XCHG - s11 s10 s10 XCHG3 - 49 CALLDICT - s7 s10 XCHG2 + 54: + s0 POP + s2 POP + 8 2 BLKSWAP + s9 PUSH + 47 CALLDICT + s7 s8 XCPU SUB - s8 PUSH - ISNULL - NOT - <{ - 0 PUSHINT - s0 s9 XCHG - 1 CALLDICT - 0 PUSHINT - 66 PUSHINT - s0 s10 XCHG - <{ - NEWC - s0 s1 XCHG - <{ - 3576854235 PUSHINT - ROT - 32 STU - 64 STU - }> CALLREF - ENDC - }> CALLREF - s4 s11 XCHG - s1 s3 s0 XCHG3 - s1 s10 XCHG - PUSHNULL - PUSHNULL - 39 CALLDICT - }> PUSHCONT - <{ - s7 POP - s7 POP - }> PUSHCONT - IFELSE - s5 s7 XCHG - s3 s6 XCHG - s5 s1 s3 XCHG3 - s4 s2 XCHG2 + 0 PUSHINT + s0 s10 s9 XCHG3 + 0 PUSHINT + PUSHNULL + PUSHNULL + PUSHNULL + 37 CALLDICT + 2 5 BLKSWAP owner: <{ @@ -1627,7 +1635,7 @@ SETCP0 }> CALLREF 1 8 BLKDROP2 }> CALLREF - 51 CALLDICT + 49 CALLDICT get_wallet_address: <{ @@ -1706,7 +1714,7 @@ SETCP0 1 8 BLKDROP2 }> CALLREF 1 8 BLKSWAP - 45 CALLDICT + 43 CALLDICT get_jetton_data: <{ @@ -1784,8 +1792,8 @@ SETCP0 }> CALLREF 1 8 BLKDROP2 }> CALLREF - 46 CALLDICT - 32 CALLDICT + 44 CALLDICT + 30 CALLDICT 113617: 123515602279859691144772641439386770278 PUSHINT diff --git a/sources/output/jetton_TONB.md b/sources/output/jetton_TONB.md index b797434..9e86721 100644 --- a/sources/output/jetton_TONB.md +++ b/sources/output/jetton_TONB.md @@ -1,6 +1,6 @@ # TACT Compilation Report Contract: TONB -BOC Size: 1684 bytes +BOC Size: 1708 bytes # Types Total Types: 18 @@ -22,8 +22,8 @@ TLB: `token_transfer#0f8a7ea5 queryId:uint64 amount:coins destination:address re Signature: `TokenTransfer{queryId:uint64,amount:coins,destination:address,responseDestination:Maybe address,customPayload:Maybe ^cell,forwardTonAmount:coins,forwardPayload:remainder}` ## TokenTransferInternal -TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address responseAddress:Maybe address forwardTonAmount:coins forwardPayload:remainder setLinker:Maybe address = TokenTransferInternal` -Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,responseAddress:Maybe address,forwardTonAmount:coins,forwardPayload:remainder,setLinker:Maybe address}` +TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address responseAddress:Maybe address forwardTonAmount:coins forwardPayload:remainder setLinker:Maybe int257 setLinkerAddress:Maybe address = TokenTransferInternal` +Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,responseAddress:Maybe address,forwardTonAmount:coins,forwardPayload:remainder,setLinker:Maybe int257,setLinkerAddress:Maybe address}` ## TokenNotification TLB: `token_notification#7362d09c queryId:uint64 amount:coins from:address forwardPayload:remainder = TokenNotification` diff --git a/sources/output/jetton_TONB.pkg b/sources/output/jetton_TONB.pkg index 6c710c6..a393164 100644 --- a/sources/output/jetton_TONB.pkg +++ b/sources/output/jetton_TONB.pkg @@ -1 +1 @@ -{"name":"TONB","code":"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","abi":"{\"name\":\"TONB\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TokenTransfer\",\"header\":260734629,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseDestination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"customPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenTransferInternal\",\"header\":395134233,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}},{\"name\":\"setLinker\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenNotification\",\"header\":1935855772,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenBurn\",\"header\":1499400124,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenBurnNotification\",\"header\":2078119902,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenExcesses\",\"header\":3576854235,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"TokenUpdateContent\",\"header\":201882270,\"fields\":[{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"JettonData\",\"header\":null,\"fields\":[{\"name\":\"totalSupply\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mintable\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"JettonWalletData\",\"header\":null,\"fields\":[{\"name\":\"balance\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"master\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"SetLinkerNeighbor\",\"header\":3019699393,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"InitLinker\",\"header\":1740669268,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"walletAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletData\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"WithdrawalRequests\",\"header\":null,\"fields\":[{\"name\":\"addresses\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"address\"}},{\"name\":\"amounts\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}},{\"name\":\"n_requests\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"ChangeOwner\",\"header\":256331011,\"fields\":[{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Deposit\",\"header\":569292295,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}}]},{\"name\":\"Withdraw\",\"header\":1616450832,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deposit\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Withdraw\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenUpdateContent\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenBurnNotification\"}}],\"getters\":[{\"name\":\"get_wallet_address\",\"arguments\":[{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"get_jetton_data\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"JettonData\",\"optional\":false}},{\"name\":\"owner\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"4429\":{\"message\":\"Invalid sender\"},\"6384\":{\"message\":\"not enough money for withdraw\"},\"13650\":{\"message\":\"Invalid bounced message\"},\"16059\":{\"message\":\"Invalid value\"},\"32366\":{\"message\":\"not enough money for deposit\"},\"62972\":{\"message\":\"Invalid balance\"}}}","init":{"code":"te6ccgEBBwEAhgABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBJWW1tcG0hfwjIzAhEdBYVE9s8yYGAJpQh/oCUAXPFiNus5Z/AcoAE8yWM3BQA8oA4soAASBulTBwAcsBks8W4gEgbpUwcAHLAZLPFuICyIEBAc8AASBulTBwAcsBks8W4skBzA==","args":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":true}}],"deployment":{"kind":"system-cell","system":"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"}},"compiler":{"name":"tact","version":"0.8.11"}} \ No newline at end of file +{"name":"TONB","code":"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","abi":"{\"name\":\"TONB\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TokenTransfer\",\"header\":260734629,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseDestination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"customPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenTransferInternal\",\"header\":395134233,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}},{\"name\":\"setLinker\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"setLinkerAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenNotification\",\"header\":1935855772,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenBurn\",\"header\":1499400124,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenBurnNotification\",\"header\":2078119902,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenExcesses\",\"header\":3576854235,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"TokenUpdateContent\",\"header\":201882270,\"fields\":[{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"JettonData\",\"header\":null,\"fields\":[{\"name\":\"totalSupply\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mintable\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"JettonWalletData\",\"header\":null,\"fields\":[{\"name\":\"balance\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"master\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"SetLinkerNeighbor\",\"header\":3019699393,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"InitLinker\",\"header\":1740669268,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"walletAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletData\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"WithdrawalRequests\",\"header\":null,\"fields\":[{\"name\":\"addresses\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"address\"}},{\"name\":\"amounts\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}},{\"name\":\"n_requests\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"ChangeOwner\",\"header\":256331011,\"fields\":[{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Deposit\",\"header\":569292295,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}}]},{\"name\":\"Withdraw\",\"header\":1616450832,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deposit\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Withdraw\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenUpdateContent\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenBurnNotification\"}}],\"getters\":[{\"name\":\"get_wallet_address\",\"arguments\":[{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"get_jetton_data\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"JettonData\",\"optional\":false}},{\"name\":\"owner\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"4429\":{\"message\":\"Invalid sender\"},\"6384\":{\"message\":\"not enough money for withdraw\"},\"13650\":{\"message\":\"Invalid bounced message\"},\"16059\":{\"message\":\"Invalid value\"},\"32366\":{\"message\":\"not enough money for deposit\"},\"62972\":{\"message\":\"Invalid balance\"}}}","init":{"code":"te6ccgEBBwEAhgABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBJWW1tcG0hfwjIzAhEdBYVE9s8yYGAJpQh/oCUAXPFiNus5Z/AcoAE8yWM3BQA8oA4soAASBulTBwAcsBks8W4gEgbpUwcAHLAZLPFuICyIEBAc8AASBulTBwAcsBks8W4skBzA==","args":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":true}}],"deployment":{"kind":"system-cell","system":"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"}},"compiler":{"name":"tact","version":"0.8.11"}} \ No newline at end of file diff --git a/sources/output/jetton_TONB.ts b/sources/output/jetton_TONB.ts index 3751e14..562cb59 100644 --- a/sources/output/jetton_TONB.ts +++ b/sources/output/jetton_TONB.ts @@ -247,7 +247,8 @@ export type TokenTransferInternal = { responseAddress: Address | null; forwardTonAmount: bigint; forwardPayload: Cell; - setLinker: Address | null; + setLinker: bigint | null; + setLinkerAddress: Address | null; } export function storeTokenTransferInternal(src: TokenTransferInternal) { @@ -261,7 +262,8 @@ export function storeTokenTransferInternal(src: TokenTransferInternal) { b_0.storeCoins(src.forwardTonAmount); b_0.storeBuilder(src.forwardPayload.asBuilder()); let b_1 = new Builder(); - b_1.storeAddress(src.setLinker); + if (src.setLinker !== null && src.setLinker !== undefined) { b_1.storeBit(true).storeInt(src.setLinker, 257); } else { b_1.storeBit(false); } + b_1.storeAddress(src.setLinkerAddress); b_0.storeRef(b_1.endCell()); }; } @@ -276,8 +278,9 @@ export function loadTokenTransferInternal(slice: Slice) { let _forwardTonAmount = sc_0.loadCoins(); let _forwardPayload = sc_0.asCell(); let sc_1 = sc_0.loadRef().beginParse(); - let _setLinker = sc_1.loadMaybeAddress(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker }; + let _setLinker = sc_1.loadBit() ? sc_1.loadIntBig(257) : null; + let _setLinkerAddress = sc_1.loadMaybeAddress(); + return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker, setLinkerAddress: _setLinkerAddress }; } function loadTupleTokenTransferInternal(source: TupleReader) { @@ -287,8 +290,9 @@ function loadTupleTokenTransferInternal(source: TupleReader) { let _responseAddress = source.readAddressOpt(); let _forwardTonAmount = source.readBigNumber(); let _forwardPayload = source.readCell(); - let _setLinker = source.readAddressOpt(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker }; + let _setLinker = source.readBigNumberOpt(); + let _setLinkerAddress = source.readAddressOpt(); + return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker, setLinkerAddress: _setLinkerAddress }; } function storeTupleTokenTransferInternal(source: TokenTransferInternal) { @@ -299,7 +303,8 @@ function storeTupleTokenTransferInternal(source: TokenTransferInternal) { builder.writeAddress(source.responseAddress); builder.writeNumber(source.forwardTonAmount); builder.writeSlice(source.forwardPayload); - builder.writeAddress(source.setLinker); + builder.writeNumber(source.setLinker); + builder.writeAddress(source.setLinkerAddress); return builder.build(); } @@ -960,8 +965,8 @@ function dictValueParserWithdraw(): DictionaryValue { } async function TONB_init(owner: Address, content: Cell | null) { const __init = 'te6ccgEBBwEAhgABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBJWW1tcG0hfwjIzAhEdBYVE9s8yYGAJpQh/oCUAXPFiNus5Z/AcoAE8yWM3BQA8oA4soAASBulTBwAcsBks8W4gEgbpUwcAHLAZLPFuICyIEBAc8AASBulTBwAcsBks8W4skBzA=='; - const __code = 'te6ccgECUQEABogAART/APSkE/S88sgLAQIBYgIDAgLKBAUCASASEwIB0gYHAgEgGhsEqRwIddJwh+VMCDXCx/eAtDTAwFxsMABkX+RcOIB+kAiUGZvBPhhApFb4CCCECHutge6j5cw2zwI2zwxEHgQZxBWEEUQNEEw8DTbPOAgwAAi10nBIbCAYCBAJAAsIG7y0ICAAINMfAYIQIe62B7ry4IH6AAEEOI8HW9s88DXbPOAgghBgWRUQuuMCIIIQDAh6nroYEAoLAy4w2zwI2zwxEHgQZxBWEEUQNEEw8DbbPBgMEARCj5cw2zwI2zwxEHgQZxBWEEUQNEEw8DfbPOCCEHvdl966GA0QDgAm0x8BghBgWRUQuvLggYEBAdcAAQAu0x8BghAMCHqeuvLggdIAAZHUkm0B4gEDQo+a2zwI2zw0EKsQmhCJEHgQZxBWEEVVAvA42zzgMPLAghgPEABM0x8BghB73ZfeuvLggdM/+gD6QAEB+kAh1wsBwwCRAZIxbeIUQzABGMj4QgHMVXDbPMntVBEAmlCH+gJQBc8WI26zln8BygATzJYzcFADygDiygABIG6VMHABywGSzxbiASBulTBwAcsBks8W4gLIgQEBzwABIG6VMHABywGSzxbiyQHMAQ2+KO7Z54GcGAIBSBQVAgFYFhcAlbd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4YTIikya+3yRcvbDO06rpAsE4IGc6tPOK/OkoWA6wtxMj2UAERrbztniqD+BbAGAERrxbtnngXeBBAGAEW7UTQ1AH4Yts8bBgZAKT6APpAAQHSAAGR1JJtAeLSAPpAIdcLAcMAkQGSMW3iAfpAIdcLAcMAkQGSMW3iAdQB0IEBAdcA+kAh1wsBwwCRAZIxbeIxECgQJxAmECUQJBAjAgEgHB0CASA9PgIBIB4fAgEgKisCASAgIQIBICIjAAFIAAVcjJgCASAkJQIBICYnAAM0IAAJPAj8CSAASxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQgAvcyHEBygFQBwHKAHABygJQBc8WUAP6AnABymgjbrMlbrOxjkZ/AcoAyHABygBwAcoAJG6zmn8BygAE8AFQBMyWNANwAcoA4iRus5p/AcoABPABUATMljQDcAHKAOJwAcoAAn8BygACyVjMlzMzAXABygDiIW6z4w/JAfsAgKCkAEn8BygAB8AEBzAAKMXABygACASAsLQIBIDM0AgEgLi8CASAwMQEXG1wBMjMBFAz2zzJgMgBNALQ9AQwbQGBYIQBgBD0D2+h8uCHAYFghCICgBD0F8j0AMlAA/AogARMbQTIzFAk2zzJgMgBTAPQ9AQwbQGCAOpLAYAQ9A9vofLghwGCAOpLIgKAEPQXyPQAyVUgBPAqgADxQNIEBAc8AAc8WAc8WyFggbpUwcAHLAZLPFuLJAcwCASA1NgIBIDc4AA8+EL4KFjwKYAANPAsbILwJoAATPgo8CxsQjBDMIAK7FGhoFVx8Cxc8Cb4QvgoVGYw8Ctc8CZwggkxLQBwC9s8IxA2RBUQPEHA8CclBaRw+Cgh8CUQNgUREAUQJAMREQNBCts8cAQQO4IKYloAA3BDEw7wJxBXEEYQNUQDAoDk6AQrIAds8yTsBDMhVYNs8yTwALIIQs/z0wVjLHwEgbpUwcAHLAZLPFuIAcIIQF41FGVAIyx8Wyz9QBPoCWM8WASBulTBwAcsBks8W4gH6AgHPFshYIG6VMHABywGSzxbiyQHMAgEgP0ABb9iEWIPQg0iC2IJQgcpdV4GKg9UJQ3WcdJuAT4ALhAIQVtnggloJgNNrb4E8kbm/EIK4gbIomoIUTwIBIEFCAgEgSUoCASBDRAIBIEdIAWMEHoQaRBYEEoQOUipKPAsXPAmcHCAQFRBEwIREQIREB/bPBBtFRBOEDxQwvAnEEdVI4EUAOT4QW8kECNfA1WA8CwBgRFNAvAmUArHBRny9FUGgAQzIVTDbPMlGAECCEFlfB7xQBcsfE8s/AfoCAc8WASBulTBwAcsBks8W4gAdPhBbyQQI18DJ8cF8uCEgAAkEGdfB4AIBIEtMAgEgTU4AKz4QW8kMIF+bjOCCJiWgL4S8vRm8C+AAASAAKz4QW8kMIEY8DOCCJiWgL4S8vRm8DCAAFxVcPAyNRBnEFZVA4AEKyAHbPMlQABaCENUydttYyx/LPw=='; - const __system = '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'; + const __code = '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'; + const __system = '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'; let systemCell = Cell.fromBase64(__system); let builder = new TupleBuilder(); builder.writeCell(systemCell); diff --git a/sources/output/jetton_TONBWallet.abi b/sources/output/jetton_TONBWallet.abi index 8d556e5..b204e44 100644 --- a/sources/output/jetton_TONBWallet.abi +++ b/sources/output/jetton_TONBWallet.abi @@ -1 +1 @@ -{"name":"TONBWallet","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseDestination","type":{"kind":"simple","type":"address","optional":true}},{"name":"customPayload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}},{"name":"setLinker","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"TokenUpdateContent","header":201882270,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":true}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"SetLinkerNeighbor","header":3019699393,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"InitLinker","header":1740669268,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}},{"name":"walletAmount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletData","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletAddress","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"WithdrawalRequests","header":null,"fields":[{"name":"addresses","type":{"kind":"dict","key":"int","value":"address"}},{"name":"amounts","type":{"kind":"dict","key":"int","value":"int"}},{"name":"n_requests","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"ChangeOwner","header":256331011,"fields":[{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Deposit","header":569292295,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}}]},{"name":"Withdraw","header":1616450832,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"TokenTransfer"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenTransferInternal"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenBurn"}}],"getters":[{"name":"get_wallet_data","arguments":[],"returnType":{"kind":"simple","type":"JettonWalletData","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"4429":{"message":"Invalid sender"},"6384":{"message":"not enough money for withdraw"},"13650":{"message":"Invalid bounced message"},"16059":{"message":"Invalid value"},"32366":{"message":"not enough money for deposit"},"62972":{"message":"Invalid balance"}}} \ No newline at end of file +{"name":"TONBWallet","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseDestination","type":{"kind":"simple","type":"address","optional":true}},{"name":"customPayload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}},{"name":"forwardTonAmount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}},{"name":"setLinker","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"setLinkerAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forwardPayload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"TokenUpdateContent","header":201882270,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":true}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"SetLinkerNeighbor","header":3019699393,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"InitLinker","header":1740669268,"fields":[{"name":"neighbor","type":{"kind":"simple","type":"address","optional":true}},{"name":"walletAmount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletData","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletAddress","type":{"kind":"simple","type":"address","optional":false}},{"name":"responseAddress","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"WithdrawalRequests","header":null,"fields":[{"name":"addresses","type":{"kind":"dict","key":"int","value":"address"}},{"name":"amounts","type":{"kind":"dict","key":"int","value":"int"}},{"name":"n_requests","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"ChangeOwner","header":256331011,"fields":[{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Deposit","header":569292295,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}}]},{"name":"Withdraw","header":1616450832,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"TokenTransfer"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenTransferInternal"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenBurn"}}],"getters":[{"name":"get_wallet_data","arguments":[],"returnType":{"kind":"simple","type":"JettonWalletData","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"4429":{"message":"Invalid sender"},"6384":{"message":"not enough money for withdraw"},"13650":{"message":"Invalid bounced message"},"16059":{"message":"Invalid value"},"32366":{"message":"not enough money for deposit"},"62972":{"message":"Invalid balance"}}} \ No newline at end of file diff --git a/sources/output/jetton_TONBWallet.code.boc b/sources/output/jetton_TONBWallet.code.boc index 75f0b824f957224beeac947ce200a2fd9520aaca..3852956de96575bcd6d5a34cded716c661cebbc2 100644 GIT binary patch delta 777 zcmeC7dWmTPu0WH{Gen#hV>~Z*LMd%3_@VRsYV46rx+eZDCA8wC}2FzIO)9D zqmzth7zD-s2~0V%hto%a@u)P%K7r_y3NFDR=L-+k>=h|}kTZUZ|7M=TX@B4I2Nce@|*}Q0QyaxVNR2P zc(1Eu0Ox6W@zeGJtiPB7n1PN%b_3%tCZZk7#HgS(nTJKAK8nGE>82gft=!Q|`}tY; zj&LpM<+Ye{*zjP^m17?d=DbmE*(WgNn+>N!f=jT&9uAL&eNctP0|W3}Q_JSB=VUN1T>FZ4Z(INf}ShVO0VEA9@}Z delta 639 zcmaFG-N((n_1&BzMkZrM2G*vD+{+m4CvH;FQZu-1!*bikTwsj(AQHiCS@ zELQ!K(PSpGFnTi9P4;8dlKz*@ zJ~ja+K#k`a7|)9V(TNC!yr~8SjHekVofms_lJN|KAdj8Elp}jMeH0jXN^|TJh(4*{ z5*%{g@LRDI?mfiI5HBN)KnKpu5Ho)Gc+_jH#8_OpJHjlaivE?BSwZxh~Ha)puRs>crfHr;lZ4cONIw?fZ>p;fgBEfdpI8W zuRD;?|uzz4G045j#4`&03+}saJlbFq-A5EUfsvvH_Al4*s)u`-t#A*4{_At#xlTWZJ F0RRp@> ((($fwdCount * $fwdFee) + (2 * 10000000)) + 10000000))); var ($init'code, $init'data) = $__gen_TONBWallet_init_child(__tact_context_sys, $self'master, $msg'destination); slice $walletAddress = $contractAddress(($init'code, $init'data)); - $send((true, $walletAddress, 0, 64, __gen_writecell_TokenTransferInternal(($msg'queryId, $msg'amount, $self'owner, $self'owner, $msg'forwardTonAmount, $msg'forwardPayload, null())), $init'code, $init'data)); - return (($self'balance, $self'owner, $self'master, $self'linker), ()); + $send((true, $walletAddress, 0, 64, __gen_writecell_TokenTransferInternal(($msg'queryId, $msg'amount, $self'owner, $self'owner, $msg'forwardTonAmount, $msg'forwardPayload, null(), null())), $init'code, $init'data)); + return (($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address), ()); } -(((int, slice, slice, slice)), ()) $__gen_TONBWallet_receive_TokenTransferInternal((int, slice, slice, slice) $self, (int, int, slice, slice, int, slice, slice) $msg) impure { - var ($self'balance, $self'owner, $self'master, $self'linker) = $self; - var ($msg'queryId, $msg'amount, $msg'from, $msg'responseAddress, $msg'forwardTonAmount, $msg'forwardPayload, $msg'setLinker) = $msg; +(((int, slice, slice, int, slice)), ()) $__gen_TONBWallet_receive_TokenTransferInternal((int, slice, slice, int, slice) $self, (int, int, slice, slice, int, slice, int, slice) $msg) impure { + var ($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address) = $self; + var ($msg'queryId, $msg'amount, $msg'from, $msg'responseAddress, $msg'forwardTonAmount, $msg'forwardPayload, $msg'setLinker, $msg'setLinkerAddress) = $msg; var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); if (null?($self'linker)) { $self'linker = $msg'setLinker; + $self'linker_address = $msg'setLinkerAddress; } - if ((__tact_address_neq($ctx'sender, $self'master) & __tact_address_neq($ctx'sender, $self'linker))) { + if ((__tact_address_neq($ctx'sender, $self'master) & __tact_address_neq($ctx'sender, $self'linker_address))) { var ($sinit'code, $sinit'data) = $__gen_TONBWallet_init_child(__tact_context_sys, $self'master, $msg'from); throw_unless(4429, __tact_address_eq($contractAddress(($sinit'code, $sinit'data)), $ctx'sender)); } @@ -358,31 +363,31 @@ _ $__gen_get_get_wallet_data() method_id(97026) { if (((~ null?($msg'responseAddress)) & ($msgValue > 0))) { $send((false, __tact_not_null($msg'responseAddress), $msgValue, 0, __gen_writecell_TokenExcesses(($msg'queryId)), null(), null())); } - return (($self'balance, $self'owner, $self'master, $self'linker), ()); + return (($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address), ()); } -(((int, slice, slice, slice)), ()) $__gen_TONBWallet_receive_TokenBurn((int, slice, slice, slice) $self, (int, int, slice, slice) $msg) impure { - var ($self'balance, $self'owner, $self'master, $self'linker) = $self; +(((int, slice, slice, int, slice)), ()) $__gen_TONBWallet_receive_TokenBurn((int, slice, slice, int, slice) $self, (int, int, slice, slice) $msg) impure { + var ($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address) = $self; var ($msg'queryId, $msg'amount, $msg'owner, $msg'responseAddress) = $msg; var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - throw_unless(4429, ((__tact_address_eq($ctx'sender, $self'owner) | __tact_address_eq($ctx'sender, $self'master)) | __tact_address_eq($ctx'sender, $self'linker))); + throw_unless(4429, ((__tact_address_eq($ctx'sender, $self'owner) | __tact_address_eq($ctx'sender, $self'master)) | __tact_address_eq($ctx'sender, $self'linker_address))); $self'balance = ($self'balance - $msg'amount); throw_unless(62972, ($self'balance >= 0)); int $fwdFee = $__gen_Context_readForwardFee(($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw)); - throw_unless(16059, ($ctx'value > (($fwdFee + (2 * 10000000)) + 10000000))); + throw_unless(16059, ($ctx'value > ((2 * 10000000) + 10000000))); $send((true, $self'master, 0, 64, __gen_writecell_TokenBurnNotification(($msg'queryId, $msg'amount, $self'owner, $self'owner)), null(), null())); - return (($self'balance, $self'owner, $self'master, $self'linker), ()); + return (($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address), ()); } -((int, slice, slice, slice), ()) $__gen_TONBWallet_receive_bounced((int, slice, slice, slice) $self, slice $msg) impure { - var ($self'balance, $self'owner, $self'master, $self'linker) = $self; +((int, slice, slice, int, slice), ()) $__gen_TONBWallet_receive_bounced((int, slice, slice, int, slice) $self, slice $msg) impure { + var ($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address) = $self; $msg~skip_bits(32); int $op = $msg~load_uint(32); int $queryId = $msg~load_uint(64); int $jettonAmount = $msg~load_coins(); throw_unless(13650, (($op == 395134233) | ($op == 2078119902))); $self'balance = ($self'balance + $jettonAmount); - return (($self'balance, $self'owner, $self'master, $self'linker), ()); + return (($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address), ()); } @@ -446,5 +451,5 @@ _ supported_interfaces() method_id { } _ get_abi_ipfs() { - return "ipfs://QmWqpvx8PLAjtTJAa4RuwzEXeejSonT37BiA5HxjDFbLvM"; + return "ipfs://QmNcnMjCZjwpaP9xLwcPNt8ziw2bt7pGUNu1PCVFvkfGtv"; } \ No newline at end of file diff --git a/sources/output/jetton_TONBWallet.code.fif b/sources/output/jetton_TONBWallet.code.fif index d30ee21..85694b9 100644 --- a/sources/output/jetton_TONBWallet.code.fif +++ b/sources/output/jetton_TONBWallet.code.fif @@ -181,13 +181,13 @@ PROGRAM{ }> __gen_write_TokenTransferInternal PROCREF:<{ 395134233 PUSHINT - s0 s8 XCHG2 + s0 s9 XCHG2 32 STU - s1 s6 XCHG + s1 s7 XCHG 64 STU - s0 s4 XCHG2 + s0 s5 XCHG2 STGRAMS - ROT + s0 s3 XCHG2 __tact_store_address INLINECALLDICT SWAP __tact_store_address_opt INLINECALLDICT @@ -196,6 +196,22 @@ PROGRAM{ SWAP STSLICER NEWC + s2 PUSH + ISNULL + NOT + IF:<{ + TRUE + SWAP + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }>ELSE<{ + s2 POP + FALSE + ROT + 1 STI + }> ROT __tact_store_address_opt INLINECALLDICT ENDC @@ -204,7 +220,7 @@ PROGRAM{ }> __gen_writecell_TokenTransferInternal PROCREF:<{ NEWC - 7 -ROLL + 8 -ROLL __gen_write_TokenTransferInternal INLINECALLDICT ENDC }> @@ -225,13 +241,23 @@ PROGRAM{ LDREF SWAP CTOS + 1 LDI + SWAP + IF:<{ + 257 PUSHINT + LDIX + }>ELSE<{ + PUSHNULL + SWAP + }> __tact_load_address_opt INLINECALLDICT NIP - s1 s7 XCHG - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 + s2 s8 XCHG + s2 s7 XCHG + s2 s6 XCHG + s2 s5 XCHG + s2 s4 XCHG + s2 s3 XCHG }> __gen_write_TokenNotification PROCREF:<{ 1935855772 PUSHINT @@ -298,14 +324,30 @@ PROGRAM{ ENDC }> __gen_write_TONBWallet PROCREF:<{ - s3 s4 XCHG2 + s4 s5 XCHG2 257 PUSHINT STIX - SWAP + ROT __tact_store_address INLINECALLDICT SWAP __tact_store_address INLINECALLDICT NEWC + s2 PUSH + ISNULL + NOT + IF:<{ + TRUE + SWAP + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }>ELSE<{ + s2 POP + FALSE + ROT + 1 STI + }> ROT __tact_store_address_opt INLINECALLDICT ENDC @@ -322,10 +364,20 @@ PROGRAM{ LDREF SWAP CTOS + 1 LDI + SWAP + IF:<{ + 257 PUSHINT + LDIX + }>ELSE<{ + PUSHNULL + SWAP + }> __tact_load_address_opt INLINECALLDICT NIP - s1 s4 XCHG - s3 s3 s0 XCHG3 + s2 s5 XCHG + s2 s4 XCHG + s2 s3 XCHG }> __gen_StateInit_get_code PROCINLINE:<{ DROP @@ -339,14 +391,14 @@ PROGRAM{ SWAP __tact_context_sys SETGLOB __gen_read_TONBWallet INLINECALLDICT - 1 4 BLKDROP2 + 1 5 BLKDROP2 }> __gen_store_TONBWallet PROCREF:<{ NEWC __tact_context_sys GETGLOB SWAP STREF - 4 -ROLL + 5 -ROLL __gen_write_TONBWallet INLINECALLDICT ENDC c4 POP @@ -469,13 +521,14 @@ PROGRAM{ 1 RSHIFT# }> $__gen_TONBWallet_init PROC:<{ + PUSHNULL PUSHNULL 0 PUSHINT - s0 s4 XCHG + s0 s5 XCHG NEWC STREF - s0 s4 XCHG - s3 s3 XCHG2 + s0 s5 XCHG + s4 s4 s4 XCHG3 __gen_write_TONBWallet INLINECALLDICT ENDC }> @@ -499,7 +552,7 @@ PROGRAM{ $__gen_TONBWallet_init CALLDICT }> $__gen_TONBWallet_get_wallet_data PROC:<{ - DROP + 2DROP __tact_context_sys GETGLOB s1 s2 PUSH2 $__gen_TONBWallet_init_child CALLDICT @@ -514,17 +567,17 @@ PROGRAM{ 2 2 BLKDROP2 __tact_context_get INLINECALLDICT 4429 PUSHINT - s3 s12 PUSH2 + s3 s13 PUSH2 __tact_address_eq INLINECALLDICT THROWANYIFNOT - s12 s7 XCPU + s13 s7 XCPU SUB 62972 PUSHINT OVER -1 GTINT THROWANYIFNOT s3 s3 s0 XCHG3 - s3 s12 PUXC + s3 s13 PUXC $__gen_Context_readForwardFee CALLDICT 1 PUSHINT s4 PUSH @@ -544,7 +597,7 @@ PROGRAM{ GREATER THROWANYIFNOT __tact_context_sys GETGLOB - s0 s7 s3 XCPUXC + s0 s8 s3 XCPUXC $__gen_TONBWallet_init_child CALLDICT 2DUP $contractAddress CALLDICT @@ -553,49 +606,56 @@ PROGRAM{ 0 PUSHINT 64 PUSHINT PUSHNULL - s13 PUSH - s3 s14 XCPU - s0 s3 XCHG - s9 s10 s9 XCHG3 + PUSHNULL + s15 PUSH + s0 s4 XCHG + 16 s() PUSH + s0 s4 XCHG + s3 s10 XCHG + s11 s10 s11 XCHG3 __gen_writecell_TokenTransferInternal INLINECALLDICT s5 s6 XCHG + s3 s4 XCHG -ROT $send CALLDICT }> $__gen_TONBWallet_receive_TokenTransferInternal PROC:<{ __tact_context_get INLINECALLDICT - s11 PUSH + s13 PUSH ISNULL IF:<{ - s11 POP - s3 s10 XCHG + s12 POP + s12 POP + s3 s11 XCHG + s2 s10 XCHG }>ELSE<{ s4 POP + s4 POP }> - s1 s11 PUSH2 + s0 s12 PUSH2 __tact_address_neq INLINECALLDICT - s2 s11 PUSH2 + s1 s11 PUSH2 __tact_address_neq INLINECALLDICT AND IF:<{ __tact_context_sys GETGLOB - s12 s8 PUSH2 + s13 s8 PUSH2 $__gen_TONBWallet_init_child CALLDICT SWAP 4429 PUSHINT s0 s2 XCHG $contractAddress CALLDICT - s3 PUSH + s2 PUSH __tact_address_eq INLINECALLDICT THROWANYIFNOT }> - s13 s8 XCPU + s14 s8 XCPU ADD 62972 PUSHINT OVER -1 GTINT THROWANYIFNOT - s13 PUSH + s3 PUSH __tact_my_balance INLINECALLDICT OVER SUB @@ -609,10 +669,12 @@ PROGRAM{ s6 PUSH 0 GTINT IF:<{ - s14 s4 XCHG2 + s3 s1 s15 XCHG3 + s4 s2 XCHG2 $__gen_Context_readForwardFee CALLDICT s3 s(-1) PUXC ADD + s1 s12 XCHG SUB FALSE 0 PUSHINT @@ -620,20 +682,20 @@ PROGRAM{ s8 s1 s3 XCHG3 s7 s4 XCHG2 __gen_writecell_TokenNotification INLINECALLDICT - s9 PUSH + s10 PUSH s4 s6 XCHG s3 s1 s3 XCHG3 s5 s5 XCHG2 PUSHNULL PUSHNULL $send CALLDICT - s0 s6 XCHG2 + s0 s7 XCHG2 }>ELSE<{ - s7 s14 XCHG + s7 s15 XCHG s8 s9 XCHG2 8 BLKDROP }> - s6 PUSH + s7 PUSH ISNULL NOT s2 PUSH @@ -641,19 +703,19 @@ PROGRAM{ AND IF:<{ FALSE - s0 s7 XCHG + s0 s8 XCHG __tact_not_null CALLDICT 0 PUSHINT s0 s4 XCHG __gen_writecell_TokenExcesses INLINECALLDICT - s4 s8 XCHG + s4 s9 XCHG s3 s3 s0 XCHG3 - s1 s8 XCHG + s1 s9 XCHG PUSHNULL PUSHNULL $send CALLDICT }>ELSE<{ - s6 POP + s7 POP 2DROP }> }> @@ -661,40 +723,37 @@ PROGRAM{ 2DROP __tact_context_get INLINECALLDICT 4429 PUSHINT - s3 s9 PUSH2 + s3 s10 PUSH2 __tact_address_eq INLINECALLDICT - s4 s9 PUSH2 + s4 s10 PUSH2 __tact_address_eq INLINECALLDICT OR s4 s8 PUSH2 __tact_address_eq INLINECALLDICT OR THROWANYIFNOT - s9 s4 XCPU + s10 s4 XCPU SUB 62972 PUSHINT OVER -1 GTINT THROWANYIFNOT s3 s3 s0 XCHG3 - s3 s9 PUXC + s3 s10 PUXC $__gen_Context_readForwardFee CALLDICT + DROP 16059 PUSHINT SWAP - 20000000 PUSHINT - ADD - 10000000 PUSHINT - ADD - s1 s2 XCHG + 30000000 PUSHINT GREATER THROWANYIFNOT TRUE 0 PUSHINT s0 s3 XCHG 64 PUSHINT - s3 s7 s7 XCPU2 + s3 s8 s8 XCPU2 __gen_writecell_TokenBurnNotification INLINECALLDICT - s3 s0 s5 XC2PU + s3 s0 s6 XC2PU s3 s3 XCHG2 PUSHNULL PUSHNULL @@ -719,9 +778,9 @@ PROGRAM{ OR s1 s2 XCHG THROWANYIFNOT - s1 s4 XCHG + s1 s5 XCHG ADD - s0 s3 XCHG + s0 s4 XCHG }> recv_internal PROC:<{ 0 PUSHINT @@ -755,7 +814,7 @@ PROGRAM{ IFJMP:<{ DROP __gen_load_TONBWallet INLINECALLDICT - 4 ROLL + 5 ROLL $__gen_TONBWallet_receive_bounced CALLDICT __gen_store_TONBWallet INLINECALLDICT }> @@ -765,9 +824,10 @@ PROGRAM{ IFJMP:<{ DROP __gen_load_TONBWallet INLINECALLDICT - s0 s4 XCHG + s0 s5 XCHG __gen_read_TokenTransfer INLINECALLDICT s7 POP + s10 s11 XCHG s9 s10 XCHG s8 s9 XCHG s7 s8 XCHG @@ -781,13 +841,14 @@ PROGRAM{ IFJMP:<{ DROP __gen_load_TONBWallet INLINECALLDICT - s0 s4 XCHG + s0 s5 XCHG __gen_read_TokenTransferInternal INLINECALLDICT - s7 POP + s8 POP + s11 s12 XCHG + s10 s11 XCHG s9 s10 XCHG s8 s9 XCHG - s7 s8 XCHG - 6 ROLL + 7 ROLL $__gen_TONBWallet_receive_TokenTransferInternal CALLDICT __gen_store_TONBWallet INLINECALLDICT }> @@ -795,9 +856,10 @@ PROGRAM{ EQUAL IFJMP:<{ __gen_load_TONBWallet INLINECALLDICT - s0 s4 XCHG + s0 s5 XCHG __gen_read_TokenBurn INLINECALLDICT s4 POP + s7 s8 XCHG s6 s7 XCHG s5 s6 XCHG s4 s5 XCHG @@ -814,6 +876,6 @@ PROGRAM{ 209778528950190195973528115415557644819 PUSHINT }> get_abi_ipfs PROC:<{ - x{697066733a2f2f516d577170767838504c416a74544a4161345275777a455865656a536f6e5433374269413548786a4446624c764d} PUSHSLICE + x{697066733a2f2f516d4e636e4d6a435a6a7770615039784c7763504e74387a6977326274377047554e753150435646766b66477476} PUSHSLICE }> }END>c diff --git a/sources/output/jetton_TONBWallet.code.rev.fif b/sources/output/jetton_TONBWallet.code.rev.fif index 4e8be97..1daee51 100644 --- a/sources/output/jetton_TONBWallet.code.rev.fif +++ b/sources/output/jetton_TONBWallet.code.rev.fif @@ -52,6 +52,17 @@ SETCP0 LDREF s0 s1 XCHG CTOS + 1 LDI + s0 s1 XCHG + <{ + 257 PUSHINT + LDI + }> PUSHCONT + <{ + PUSHNULL + s0 s1 XCHG + }> PUSHCONT + IFELSE LDMSGADDR s1 PUSH 2 PLDU @@ -65,28 +76,47 @@ SETCP0 }> PUSHCONT IFELSE s1 POP - s1 s4 XCHG - s3 s3 s0 XCHG3 + s2 s5 XCHG + s2 s4 XCHG + s2 s3 XCHG }> CALLREF - 1 4 BLKDROP2 + 1 5 BLKDROP2 }> CALLREF - 1 4 BLKSWAP + 1 5 BLKSWAP 42 CALLDICT <{ NEWC 2 GETGLOBVAR s0 s1 XCHG STREF - 4 1 BLKSWAP + 5 1 BLKSWAP <{ - s3 s4 XCHG2 + s4 s5 XCHG2 257 PUSHINT STIX - s0 s1 XCHG + ROT STSLICER s0 s1 XCHG STSLICER NEWC + s2 PUSH + ISNULL + NOT + <{ + -1 PUSHINT + s0 s1 XCHG + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }> PUSHCONT + <{ + s2 POP + 0 PUSHINT + ROT + 1 STI + }> PUSHCONT + IFELSE ROT s0 PUSH ISNULL @@ -132,6 +162,17 @@ SETCP0 LDREF s0 s1 XCHG CTOS + 1 LDI + s0 s1 XCHG + <{ + 257 PUSHINT + LDI + }> PUSHCONT + <{ + PUSHNULL + s0 s1 XCHG + }> PUSHCONT + IFELSE LDMSGADDR s1 PUSH 2 PLDU @@ -145,12 +186,13 @@ SETCP0 }> PUSHCONT IFELSE s1 POP - s1 s4 XCHG - s3 s3 s0 XCHG3 + s2 s5 XCHG + s2 s4 XCHG + s2 s3 XCHG }> CALLREF - 1 4 BLKDROP2 + 1 5 BLKDROP2 }> CALLREF - s0 s4 XCHG + s0 s5 XCHG <{ 32 LDU s0 s1 XCHG @@ -193,6 +235,7 @@ SETCP0 s3 s3 s0 XCHG3 }> CALLREF s7 POP + s10 s11 XCHG s9 s10 XCHG s8 s9 XCHG s7 s8 XCHG @@ -203,16 +246,34 @@ SETCP0 2 GETGLOBVAR s0 s1 XCHG STREF - 4 1 BLKSWAP + 5 1 BLKSWAP <{ - s3 s4 XCHG2 + s4 s5 XCHG2 257 PUSHINT STIX - s0 s1 XCHG + ROT STSLICER s0 s1 XCHG STSLICER NEWC + s2 PUSH + ISNULL + NOT + <{ + -1 PUSHINT + s0 s1 XCHG + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }> PUSHCONT + <{ + s2 POP + 0 PUSHINT + ROT + 1 STI + }> PUSHCONT + IFELSE ROT s0 PUSH ISNULL @@ -257,6 +318,17 @@ SETCP0 LDREF s0 s1 XCHG CTOS + 1 LDI + s0 s1 XCHG + <{ + 257 PUSHINT + LDI + }> PUSHCONT + <{ + PUSHNULL + s0 s1 XCHG + }> PUSHCONT + IFELSE LDMSGADDR s1 PUSH 2 PLDU @@ -270,12 +342,13 @@ SETCP0 }> PUSHCONT IFELSE s1 POP - s1 s4 XCHG - s3 s3 s0 XCHG3 + s2 s5 XCHG + s2 s4 XCHG + s2 s3 XCHG }> CALLREF - 1 4 BLKDROP2 + 1 5 BLKDROP2 }> CALLREF - s0 s4 XCHG + s0 s5 XCHG <{ 32 LDU s0 s1 XCHG @@ -305,6 +378,17 @@ SETCP0 LDREF s0 s1 XCHG CTOS + 1 LDI + s0 s1 XCHG + <{ + 257 PUSHINT + LDI + }> PUSHCONT + <{ + PUSHNULL + s0 s1 XCHG + }> PUSHCONT + IFELSE LDMSGADDR s1 PUSH 2 PLDU @@ -318,33 +402,53 @@ SETCP0 }> PUSHCONT IFELSE s1 POP - s1 s7 XCHG - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 + s2 s8 XCHG + s2 s7 XCHG + s2 s6 XCHG + s2 s5 XCHG + s2 s4 XCHG + s2 s3 XCHG }> CALLREF - s7 POP + s8 POP + s11 s12 XCHG + s10 s11 XCHG s9 s10 XCHG s8 s9 XCHG - s7 s8 XCHG - 1 6 BLKSWAP + 1 7 BLKSWAP 40 CALLDICT <{ NEWC 2 GETGLOBVAR s0 s1 XCHG STREF - 4 1 BLKSWAP + 5 1 BLKSWAP <{ - s3 s4 XCHG2 + s4 s5 XCHG2 257 PUSHINT STIX - s0 s1 XCHG + ROT STSLICER s0 s1 XCHG STSLICER NEWC + s2 PUSH + ISNULL + NOT + <{ + -1 PUSHINT + s0 s1 XCHG + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }> PUSHCONT + <{ + s2 POP + 0 PUSHINT + ROT + 1 STI + }> PUSHCONT + IFELSE ROT s0 PUSH ISNULL @@ -388,6 +492,17 @@ SETCP0 LDREF s0 s1 XCHG CTOS + 1 LDI + s0 s1 XCHG + <{ + 257 PUSHINT + LDI + }> PUSHCONT + <{ + PUSHNULL + s0 s1 XCHG + }> PUSHCONT + IFELSE LDMSGADDR s1 PUSH 2 PLDU @@ -401,12 +516,13 @@ SETCP0 }> PUSHCONT IFELSE s1 POP - s1 s4 XCHG - s3 s3 s0 XCHG3 + s2 s5 XCHG + s2 s4 XCHG + s2 s3 XCHG }> CALLREF - 1 4 BLKDROP2 + 1 5 BLKDROP2 }> CALLREF - s0 s4 XCHG + s0 s5 XCHG <{ 32 LDU s0 s1 XCHG @@ -434,6 +550,7 @@ SETCP0 s3 s3 s0 XCHG3 }> CALLREF s4 POP + s7 s8 XCHG s6 s7 XCHG s5 s6 XCHG s4 s5 XCHG @@ -444,16 +561,34 @@ SETCP0 2 GETGLOBVAR s0 s1 XCHG STREF - 4 1 BLKSWAP + 5 1 BLKSWAP <{ - s3 s4 XCHG2 + s4 s5 XCHG2 257 PUSHINT STIX - s0 s1 XCHG + ROT STSLICER s0 s1 XCHG STSLICER NEWC + s2 PUSH + ISNULL + NOT + <{ + -1 PUSHINT + s0 s1 XCHG + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }> PUSHCONT + <{ + s2 POP + 0 PUSHINT + ROT + 1 STI + }> PUSHCONT + IFELSE ROT s0 PUSH ISNULL @@ -648,22 +783,41 @@ SETCP0 1 RSHIFT 36: + PUSHNULL PUSHNULL 0 PUSHINT - s0 s4 XCHG + s0 s5 XCHG NEWC STREF - s0 s4 XCHG - s3 s3 XCHG2 + s0 s5 XCHG + s4 s4 s4 XCHG3 <{ - s3 s4 XCHG2 + s4 s5 XCHG2 257 PUSHINT STIX - s0 s1 XCHG + ROT STSLICER s0 s1 XCHG STSLICER NEWC + s2 PUSH + ISNULL + NOT + <{ + -1 PUSHINT + s0 s1 XCHG + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }> PUSHCONT + <{ + s2 POP + 0 PUSHINT + ROT + 1 STI + }> PUSHCONT + IFELSE ROT s0 PUSH ISNULL @@ -709,7 +863,7 @@ SETCP0 36 CALLDICT 38: - s0 POP + 2DROP 2 GETGLOBVAR s1 s2 PUSH2 37 CALLDICT @@ -720,17 +874,17 @@ SETCP0 1 GETGLOBVAR 4 UNTUPLE 4429 PUSHINT - s3 s12 PUSH2 + s3 s13 PUSH2 SDEQ THROWANYIFNOT - s12 s7 XCPU + s13 s7 XCPU SUB 62972 PUSHINT s1 PUSH -1 GTINT THROWANYIFNOT s3 s3 s0 XCHG3 - s3 s12 PUXC + s3 s13 PUXC 35 CALLDICT 1 PUSHINT s4 PUSH @@ -751,7 +905,7 @@ SETCP0 GREATER THROWANYIFNOT 2 GETGLOBVAR - 0 7 3 XCPUXC + 0 8 3 XCPUXC 37 CALLDICT 2DUP 33 CALLDICT @@ -760,22 +914,25 @@ SETCP0 0 PUSHINT 64 PUSHINT PUSHNULL - s13 PUSH - s3 s14 XCPU - s0 s3 XCHG - s9 s10 s9 XCHG3 + PUSHNULL + s15 PUSH + s0 s4 XCHG + s16 PUSH + s0 s4 XCHG + s3 s10 XCHG + s11 s10 s11 XCHG3 <{ NEWC - 7 1 BLKSWAP + 8 1 BLKSWAP <{ 395134233 PUSHINT - s0 s8 XCHG2 + s0 s9 XCHG2 32 STU - s1 s6 XCHG + s1 s7 XCHG 64 STU - s0 s4 XCHG2 + s0 s5 XCHG2 STGRAMS - ROT + s0 s3 XCHG2 STSLICER s0 s1 XCHG s0 PUSH @@ -795,6 +952,24 @@ SETCP0 s0 s1 XCHG STSLICER NEWC + s2 PUSH + ISNULL + NOT + <{ + -1 PUSHINT + s0 s1 XCHG + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }> PUSHCONT + <{ + s2 POP + 0 PUSHINT + ROT + 1 STI + }> PUSHCONT + IFELSE ROT s0 PUSH ISNULL @@ -815,49 +990,53 @@ SETCP0 ENDC }> CALLREF s5 s6 XCHG + s3 s4 XCHG ROTREV 34 CALLDICT 40: 1 GETGLOBVAR 4 UNTUPLE - s11 PUSH + s13 PUSH ISNULL <{ - s11 POP - s3 s10 XCHG + s12 POP + s12 POP + s3 s11 XCHG + s2 s10 XCHG }> PUSHCONT <{ s4 POP + s4 POP }> PUSHCONT IFELSE - s1 s11 PUSH2 + s0 s12 PUSH2 SDEQ NOT - s2 s11 PUSH2 + s1 s11 PUSH2 SDEQ NOT AND <{ 2 GETGLOBVAR - s12 s8 PUSH2 + s13 s8 PUSH2 37 CALLDICT s0 s1 XCHG 4429 PUSHINT s0 s2 XCHG 33 CALLDICT - s3 PUSH + s2 PUSH SDEQ THROWANYIFNOT }> PUSHCONT IF - s13 s8 XCPU + s14 s8 XCPU ADD 62972 PUSHINT s1 PUSH -1 GTINT THROWANYIFNOT - s13 PUSH + s3 PUSH BALANCE 0 INDEX s1 PUSH @@ -872,10 +1051,17 @@ SETCP0 s6 PUSH 0 GTINT <{ - s14 s4 XCHG2 + s7 s15 XCHG + s8 s9 XCHG2 + 8 BLKDROP + }> PUSHCONT + <{ + s3 s1 s15 XCHG3 + s4 s2 XCHG2 35 CALLDICT s3 s-1 PUXC ADD + s1 s12 XCHG SUB 0 PUSHINT 0 PUSHINT @@ -900,30 +1086,28 @@ SETCP0 }> CALLREF ENDC }> CALLREF - s9 PUSH + s10 PUSH s4 s6 XCHG s3 s1 s3 XCHG3 s5 s5 XCHG2 PUSHNULL PUSHNULL 34 CALLDICT - s0 s6 XCHG2 - }> PUSHCONT - <{ - s7 s14 XCHG - s8 s9 XCHG2 - 8 BLKDROP - }> PUSHCONT - IFELSE - s6 PUSH + s0 s7 XCHG2 + }> IFREFELSE + s7 PUSH ISNULL NOT s2 PUSH 0 GTINT AND + <{ + s7 POP + 2DROP + }> PUSHCONT <{ 0 PUSHINT - s0 s7 XCHG + s0 s8 XCHG 2 CALLDICT 0 PUSHINT s0 s4 XCHG @@ -938,56 +1122,48 @@ SETCP0 }> CALLREF ENDC }> CALLREF - s4 s8 XCHG + s4 s9 XCHG s3 s3 s0 XCHG3 - s1 s8 XCHG + s1 s9 XCHG PUSHNULL PUSHNULL 34 CALLDICT - }> PUSHCONT - <{ - s6 POP - 2DROP - }> PUSHCONT - IFELSE + }> IFREFELSE 41: 2DROP 1 GETGLOBVAR 4 UNTUPLE 4429 PUSHINT - s3 s9 PUSH2 + s3 s10 PUSH2 SDEQ - s4 s9 PUSH2 + s4 s10 PUSH2 SDEQ OR s4 s8 PUSH2 SDEQ OR THROWANYIFNOT - s9 s4 XCPU + s10 s4 XCPU SUB 62972 PUSHINT s1 PUSH -1 GTINT THROWANYIFNOT s3 s3 s0 XCHG3 - s3 s9 PUXC + s3 s10 PUXC 35 CALLDICT + s0 POP 16059 PUSHINT s0 s1 XCHG - 20000000 PUSHINT - ADD - 10000000 PUSHINT - ADD - s1 s2 XCHG + 30000000 PUSHINT GREATER THROWANYIFNOT -1 PUSHINT 0 PUSHINT s0 s3 XCHG 64 PUSHINT - 3 7 7 XCPU2 + 3 8 8 XCPU2 <{ NEWC 4 1 BLKSWAP @@ -1017,7 +1193,7 @@ SETCP0 }> CALLREF ENDC }> CALLREF - 3 0 5 XC2PU + 3 0 6 XC2PU s3 s3 XCHG2 PUSHNULL PUSHNULL @@ -1042,9 +1218,9 @@ SETCP0 OR s1 s2 XCHG THROWANYIFNOT - s1 s4 XCHG + s1 s5 XCHG ADD - s0 s3 XCHG + s0 s4 XCHG get_wallet_data: <{ @@ -1065,6 +1241,17 @@ SETCP0 LDREF s0 s1 XCHG CTOS + 1 LDI + s0 s1 XCHG + <{ + 257 PUSHINT + LDI + }> PUSHCONT + <{ + PUSHNULL + s0 s1 XCHG + }> PUSHCONT + IFELSE LDMSGADDR s1 PUSH 2 PLDU @@ -1078,10 +1265,11 @@ SETCP0 }> PUSHCONT IFELSE s1 POP - s1 s4 XCHG - s3 s3 s0 XCHG3 + s2 s5 XCHG + s2 s4 XCHG + s2 s3 XCHG }> CALLREF - 1 4 BLKDROP2 + 1 5 BLKDROP2 }> CALLREF 38 CALLDICT 30 CALLDICT diff --git a/sources/output/jetton_TONBWallet.init.boc b/sources/output/jetton_TONBWallet.init.boc index b9a4dfa44ce9e81108b299a335f0a96713e38888..ec72283c60f489bc15ed8fbbcbc0b2863d2c13f2 100644 GIT binary patch delta 85 zcmazpKRWl2!REs8WlvGVt5pxkT=z!fblfrr1N5rPBNYW0Gt*br2qf` delta 63 zcmXSn=GyvhP7xy`J0nBDL@s4L@zkvcgp~~h9nR-`R%2tZ2{377WIWHncwP*MPDCi= SO*JTBJk2=iyx60YjAsCK&J|4n diff --git a/sources/output/jetton_TONBWallet.init.fc b/sources/output/jetton_TONBWallet.init.fc index 65741a4..539a273 100644 --- a/sources/output/jetton_TONBWallet.init.fc +++ b/sources/output/jetton_TONBWallet.init.fc @@ -17,25 +17,26 @@ builder __tact_store_address_opt(builder b, slice address) inline { } } -builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, slice) v) inline_ref { - var (v'balance, v'owner, v'master, v'linker) = v; +builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, int, slice) v) inline_ref { + var (v'balance, v'owner, v'master, v'linker, v'linker_address) = v; build_0 = build_0.store_int(v'balance, 257); build_0 = __tact_store_address(build_0, v'owner); build_0 = __tact_store_address(build_0, v'master); var build_1 = begin_cell(); - build_1 = __tact_store_address_opt(build_1, v'linker); + build_1 = ~ null?(v'linker) ? build_1.store_int(true, 1).store_int(v'linker, 257) : build_1.store_int(false, 1); + build_1 = __tact_store_address_opt(build_1, v'linker_address); build_0 = store_ref(build_0, build_1.end_cell()); return build_0; } cell $__gen_TONBWallet_init(cell sys', slice $master, slice $owner) { - var (($self'balance, $self'owner, $self'master, $self'linker)) = (null(), null(), null(), null()); + var (($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address)) = (null(), null(), null(), null(), null()); $self'balance = 0; $self'owner = $owner; $self'master = $master; var b' = begin_cell(); b' = b'.store_ref(sys'); - b' = __gen_write_TONBWallet(b', ($self'balance, $self'owner, $self'master, $self'linker)); + b' = __gen_write_TONBWallet(b', ($self'balance, $self'owner, $self'master, $self'linker, $self'linker_address)); return b'.end_cell(); } diff --git a/sources/output/jetton_TONBWallet.init.fif b/sources/output/jetton_TONBWallet.init.fif index 91722ad..56fa9e6 100644 --- a/sources/output/jetton_TONBWallet.init.fif +++ b/sources/output/jetton_TONBWallet.init.fif @@ -28,14 +28,30 @@ PROGRAM{ }> }> __gen_write_TONBWallet PROCREF:<{ - s3 s4 XCHG2 + s4 s5 XCHG2 257 PUSHINT STIX - SWAP + ROT __tact_store_address INLINECALLDICT SWAP __tact_store_address INLINECALLDICT NEWC + s2 PUSH + ISNULL + NOT + IF:<{ + TRUE + SWAP + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }>ELSE<{ + s2 POP + FALSE + ROT + 1 STI + }> ROT __tact_store_address_opt INLINECALLDICT ENDC @@ -43,13 +59,14 @@ PROGRAM{ STREF }> $__gen_TONBWallet_init PROC:<{ + PUSHNULL PUSHNULL 0 PUSHINT - s0 s4 XCHG + s0 s5 XCHG NEWC STREF - s0 s4 XCHG - s3 s3 XCHG2 + s0 s5 XCHG + s4 s4 s4 XCHG3 __gen_write_TONBWallet INLINECALLDICT ENDC }> diff --git a/sources/output/jetton_TONBWallet.init.rev.fif b/sources/output/jetton_TONBWallet.init.rev.fif index 43d14fa..c40d504 100644 --- a/sources/output/jetton_TONBWallet.init.rev.fif +++ b/sources/output/jetton_TONBWallet.init.rev.fif @@ -3,22 +3,41 @@ SETCP0 recv_internal: 5: + PUSHNULL PUSHNULL 0 PUSHINT - s0 s4 XCHG + s0 s5 XCHG NEWC STREF - s0 s4 XCHG - s3 s3 XCHG2 + s0 s5 XCHG + s4 s4 s4 XCHG3 <{ - s3 s4 XCHG2 + s4 s5 XCHG2 257 PUSHINT STIX - s0 s1 XCHG + ROT STSLICER s0 s1 XCHG STSLICER NEWC + s2 PUSH + ISNULL + NOT + <{ + -1 PUSHINT + s0 s1 XCHG + 1 STI + s1 s2 XCHG + 257 PUSHINT + STIX + }> PUSHCONT + <{ + s2 POP + 0 PUSHINT + ROT + 1 STI + }> PUSHCONT + IFELSE ROT s0 PUSH ISNULL diff --git a/sources/output/jetton_TONBWallet.md b/sources/output/jetton_TONBWallet.md index 68394c6..595edb8 100644 --- a/sources/output/jetton_TONBWallet.md +++ b/sources/output/jetton_TONBWallet.md @@ -1,6 +1,6 @@ # TACT Compilation Report Contract: TONBWallet -BOC Size: 1422 bytes +BOC Size: 1514 bytes # Types Total Types: 18 @@ -22,8 +22,8 @@ TLB: `token_transfer#0f8a7ea5 queryId:uint64 amount:coins destination:address re Signature: `TokenTransfer{queryId:uint64,amount:coins,destination:address,responseDestination:Maybe address,customPayload:Maybe ^cell,forwardTonAmount:coins,forwardPayload:remainder}` ## TokenTransferInternal -TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address responseAddress:Maybe address forwardTonAmount:coins forwardPayload:remainder setLinker:Maybe address = TokenTransferInternal` -Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,responseAddress:Maybe address,forwardTonAmount:coins,forwardPayload:remainder,setLinker:Maybe address}` +TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address responseAddress:Maybe address forwardTonAmount:coins forwardPayload:remainder setLinker:Maybe int257 setLinkerAddress:Maybe address = TokenTransferInternal` +Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,responseAddress:Maybe address,forwardTonAmount:coins,forwardPayload:remainder,setLinker:Maybe int257,setLinkerAddress:Maybe address}` ## TokenNotification TLB: `token_notification#7362d09c queryId:uint64 amount:coins from:address forwardPayload:remainder = TokenNotification` diff --git a/sources/output/jetton_TONBWallet.pkg b/sources/output/jetton_TONBWallet.pkg index cc85eb1..25e1728 100644 --- a/sources/output/jetton_TONBWallet.pkg +++ b/sources/output/jetton_TONBWallet.pkg @@ -1 +1 @@ -{"name":"TONBWallet","code":"te6ccgECMwEABYIAART/APSkE/S88sgLAQIBYgIDAgLKBgcCASAEBQERv9gW2eeBN4D0EQBxvd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4TujwAfLZsB5P5B1ZLNZRCcAgEgCAkCAUgVFgIBYgoLAAOnQASJRwIddJwh+VMCDXCx/eAtDTAwFxsMABkX+RcOIB+kAiUGZvBPhhAo8JMNs8VQPwKts84CCCEA+KfqW64wIgghAXjUUZuoERMMDQALQgbvLQgIAyYw2zwE2zw3EJoQiRB4VQXwJ9s8EQ4TBDqPkzDbPATbPDcQmhCJEHhVBfAo2zzgghBZXwe8uhEPExAAbNMfAYIQD4p+pbry4IHTP/oA+kABAfpAIdcLAcMAkQGSMW3iAdIAAZHUkm0B4voAUWYWFRRDMAB+0x8BghAXjUUZuvLggdM/+gD6QAEB+kAh1wsBwwCRAZIxbeIB+gAg1AHQ+kAh1wsBwwCRAZIxbeIxFxYVFEMwAzKPkts8BNs8NBBnEFYQRVUC8CnbPOAw8sCCERITARbtRNDUAfhi2zxsFBQATNMfAYIQWV8HvLry4IHTP/oA+kABAfpAIdcLAcMAkQGSMW3iFEMwARjI+EIBzFUw2zzJ7VQjAESBAQHXAPpAAQH6QAEB1AHQ+kAh1wsBwwCRAZIxbeIxFEMwAgEgFxgCAUgoKQIBIBkaAgEgHyAAS1cFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0IAgEgGxwC9zIcQHKAVAHAcoAcAHKAlAFzxZQA/oCcAHKaCNusyVus7GORn8BygDIcAHKAHABygAkbrOafwHKAATwAlAEzJY0A3ABygDiJG6zmn8BygAE8AJQBMyWNANwAcoA4nABygACfwHKAALJWMyXMzMBcAHKAOIhbrPjD8kB+wCAdHgAlGwx+gAxcdch+gAx+gAwpwOrAIAASfwHKAAHwAgHMAAoxcAHKAAIBICEiAgEgJCUBFxtcATIzARQM9s8yYCMATQC0PQEMG0BgWCEAYAQ9A9vofLghwGBYIQiAoAQ9BfI9ADJQAPwJIAA8UDSBAQHPAAHPFgHPFshYIG6VMHABywGSzxbiyQHMABEMPhCUxLwJTCABuRsIvhBbySBEU1TPMcF8vRRx6GCAPX8IcL/8vRDMFI98CNxJMIAkjBy3oE+uwKoggkxLQCgggiYloCgErzy9PhCVCB08CVc8CF/UHZwgEBtLVE+A0mp2zwQVlnwIoCYBDMhVYNs8yScAcIIQF41FGVAIyx8Wyz9QBPoCWM8WASBulTBwAcsBks8W4gH6AgHPFshYIG6VMHABywGSzxbiyQHMAgEgKisAT0gCDXIdMf0z8x+gAwgTVSIoIQF41FGboDghB73ZfeuhOxEvL0FKADgC9z4QW8kK26TOxA6kTTiUxvHBbNTK8cFs7COEvhCU8jwJQGBEU0C8CEjxwXy9N5R2KCCAPX8IcL/8vQt+CdvECGhggiYloBmtgihggiYloCgoSbCAI6eUOTwI1IwoKFwcChIE1B02zwpEEZDE1BVbW3wIlAGlhB+UIlfCOKAsLQGjFv4QW8kgRFNUznHBVNJxwWxU0jHBbHy9FGUoYIA9fwhwv/y9EMwUjrwI4E+uwGCCTEtAKCCCJiWgKASvPL0f3ADgEBUM3fbPFQTBVAzbW3wIoDEBDMhVMNs8yS4BPCZusyLCALCOkXAH8AJwBNs8EEhDMBhtbfAikjZb4i8ALIIQc2LQnFAFyx8Tyz8B+gIBzxYBzxYBCsgB2zzJMAAWghDVMnbbWMsfyz8BDMhVMNs8yTIAQIIQe92X3lAFyx8Tyz8B+gIBzxYBIG6VMHABywGSzxbi","abi":"{\"name\":\"TONBWallet\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TokenTransfer\",\"header\":260734629,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseDestination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"customPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenTransferInternal\",\"header\":395134233,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}},{\"name\":\"setLinker\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenNotification\",\"header\":1935855772,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenBurn\",\"header\":1499400124,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenBurnNotification\",\"header\":2078119902,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenExcesses\",\"header\":3576854235,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"TokenUpdateContent\",\"header\":201882270,\"fields\":[{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"JettonData\",\"header\":null,\"fields\":[{\"name\":\"totalSupply\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mintable\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"JettonWalletData\",\"header\":null,\"fields\":[{\"name\":\"balance\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"master\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"SetLinkerNeighbor\",\"header\":3019699393,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"InitLinker\",\"header\":1740669268,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"walletAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletData\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"WithdrawalRequests\",\"header\":null,\"fields\":[{\"name\":\"addresses\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"address\"}},{\"name\":\"amounts\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}},{\"name\":\"n_requests\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"ChangeOwner\",\"header\":256331011,\"fields\":[{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Deposit\",\"header\":569292295,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}}]},{\"name\":\"Withdraw\",\"header\":1616450832,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenTransfer\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenTransferInternal\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenBurn\"}}],\"getters\":[{\"name\":\"get_wallet_data\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"JettonWalletData\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"4429\":{\"message\":\"Invalid sender\"},\"6384\":{\"message\":\"not enough money for withdraw\"},\"13650\":{\"message\":\"Invalid bounced message\"},\"16059\":{\"message\":\"Invalid value\"},\"32366\":{\"message\":\"not enough money for deposit\"},\"62972\":{\"message\":\"Invalid balance\"}}}","init":{"code":"te6ccgEBBwEAUAABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBF2W1wBMjMBFAz2zzJgYAPFA0gQEBzwABzxYBzxbIWCBulTBwAcsBks8W4skBzA==","args":[{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"deployment":{"kind":"system-cell","system":"te6cckECNQEABYwAAQHAAQEFoMEJAgEU/wD0pBP0vPLICwMCAWIHBAIBIAYFAHG93owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwThO6PAB8tmwHk/kHVks1lEJwBEb/YFtnngTeA9DMCAsomCAIBSBUJAgFICwoAT0gCDXIdMf0z8x+gAwgTVSIoIQF41FGboDghB73ZfeuhOxEvL0FKADgCASAPDAGjFv4QW8kgRFNUznHBVNJxwWxU0jHBbHy9FGUoYIA9fwhwv/y9EMwUjrwI4E+uwGCCTEtAKCCCJiWgKASvPL0f3ADgEBUM3fbPFQTBVAzbW3wIoA0BDMhVMNs8yQ4AQIIQe92X3lAFyx8Tyz8B+gIBzxYBIG6VMHABywGSzxbiAvc+EFvJCtukzsQOpE04lMbxwWzUyvHBbOwjhL4QlPI8CUBgRFNAvAhI8cF8vTeUdigggD1/CHC//L0LfgnbxAhoYIImJaAZrYIoYIImJaAoKEmwgCOnlDk8CNSMKChcHAoSBNQdNs8KRBGQxNQVW1t8CJQBpYQflCJXwjigExABPCZusyLCALCOkXAH8AJwBNs8EEhDMBhtbfAikjZb4hEBCsgB2zzJEgAWghDVMnbbWMsfyz8BDMhVMNs8yRQALIIQc2LQnFAFyx8Tyz8B+gIBzxYBzxYCASAfFgIBIBwXAgEgGxgBuRsIvhBbySBEU1TPMcF8vRRx6GCAPX8IcL/8vRDMFI98CNxJMIAkjBy3oE+uwKoggkxLQCgggiYloCgErzy9PhCVCB08CVc8CF/UHZwgEBtLVE+A0mp2zwQVlnwIoBkBDMhVYNs8yRoAcIIQF41FGVAIyx8Wyz9QBPoCWM8WASBulTBwAcsBks8W4gH6AgHPFshYIG6VMHABywGSzxbiyQHMABEMPhCUxLwJTCACASAeHQBNALQ9AQwbQGBYIQBgBD0D2+h8uCHAYFghCICgBD0F8j0AMlAA/AkgARcbXAEyMwEUDPbPMmAyAgEgJSACASAiIQAlGwx+gAxcdch+gAx+gAwpwOrAIAL3MhxAcoBUAcBygBwAcoCUAXPFlAD+gJwAcpoI26zJW6zsY5GfwHKAMhwAcoAcAHKACRus5p/AcoABPACUATMljQDcAHKAOIkbrOafwHKAATwAlAEzJY0A3ABygDicAHKAAJ/AcoAAslYzJczMwFwAcoA4iFus+MPyQH7AICQjAAoxcAHKAAASfwHKAAHwAgHMAEtXBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydCAIBICgnAAOnQAIBYiopAAtCBu8tCAgEiUcCHXScIflTAg1wsf3gLQ0wMBcbDAAZF/kXDiAfpAIlBmbwT4YQKPCTDbPFUD8CrbPOAgghAPin6luuMCIIIQF41FGbqDMxLysEOo+TMNs8BNs8NxCaEIkQeFUF8CjbPOCCEFlfB7y6My4xLAMyj5LbPATbPDQQZxBWEEVVAvAp2zzgMPLAgjMtMQBM0x8BghBZXwe8uvLggdM/+gD6QAEB+kAh1wsBwwCRAZIxbeIUQzAAftMfAYIQF41FGbry4IHTP/oA+kABAfpAIdcLAcMAkQGSMW3iAfoAINQB0PpAIdcLAcMAkQGSMW3iMRcWFRRDMAMmMNs8BNs8NxCaEIkQeFUF8CfbPDMwMQBs0x8BghAPin6luvLggdM/+gD6QAEB+kAh1wsBwwCRAZIxbeIB0gABkdSSbQHi+gBRZhYVFEMwARjI+EIBzFUw2zzJ7VQyADxQNIEBAc8AAc8WAc8WyFggbpUwcAHLAZLPFuLJAcwBFu1E0NQB+GLbPGwUNABEgQEB1wD6QAEB+kABAdQB0PpAIdcLAcMAkQGSMW3iMRRDMGRj05c="}},"compiler":{"name":"tact","version":"0.8.11"}} \ No newline at end of file +{"name":"TONBWallet","code":"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","abi":"{\"name\":\"TONBWallet\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TokenTransfer\",\"header\":260734629,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseDestination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"customPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenTransferInternal\",\"header\":395134233,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"forwardTonAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}},{\"name\":\"setLinker\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"setLinkerAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenNotification\",\"header\":1935855772,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forwardPayload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenBurn\",\"header\":1499400124,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenBurnNotification\",\"header\":2078119902,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenExcesses\",\"header\":3576854235,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"TokenUpdateContent\",\"header\":201882270,\"fields\":[{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"JettonData\",\"header\":null,\"fields\":[{\"name\":\"totalSupply\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mintable\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"JettonWalletData\",\"header\":null,\"fields\":[{\"name\":\"balance\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"master\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"SetLinkerNeighbor\",\"header\":3019699393,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"InitLinker\",\"header\":1740669268,\"fields\":[{\"name\":\"neighbor\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"walletAmount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletData\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"responseAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"WithdrawalRequests\",\"header\":null,\"fields\":[{\"name\":\"addresses\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"address\"}},{\"name\":\"amounts\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}},{\"name\":\"n_requests\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"ChangeOwner\",\"header\":256331011,\"fields\":[{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Deposit\",\"header\":569292295,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}}]},{\"name\":\"Withdraw\",\"header\":1616450832,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenTransfer\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenTransferInternal\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenBurn\"}}],\"getters\":[{\"name\":\"get_wallet_data\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"JettonWalletData\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"4429\":{\"message\":\"Invalid sender\"},\"6384\":{\"message\":\"not enough money for withdraw\"},\"13650\":{\"message\":\"Invalid bounced message\"},\"16059\":{\"message\":\"Invalid value\"},\"32366\":{\"message\":\"not enough money for deposit\"},\"62972\":{\"message\":\"Invalid balance\"}}}","init":{"code":"te6ccgEBBwEAZgABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBGWW1tcAXIzAVERNs8yYGAGZQRYEBAc8AWM8WAc8WyCJus5p/AcoAEoEBAc8AlTJwWMoA4lggbpUwcAHLAZLPFuLJAcw=","args":[{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"deployment":{"kind":"system-cell","system":"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"}},"compiler":{"name":"tact","version":"0.8.11"}} \ No newline at end of file diff --git a/sources/output/jetton_TONBWallet.ts b/sources/output/jetton_TONBWallet.ts index 56d5a4e..79d9f38 100644 --- a/sources/output/jetton_TONBWallet.ts +++ b/sources/output/jetton_TONBWallet.ts @@ -247,7 +247,8 @@ export type TokenTransferInternal = { responseAddress: Address | null; forwardTonAmount: bigint; forwardPayload: Cell; - setLinker: Address | null; + setLinker: bigint | null; + setLinkerAddress: Address | null; } export function storeTokenTransferInternal(src: TokenTransferInternal) { @@ -261,7 +262,8 @@ export function storeTokenTransferInternal(src: TokenTransferInternal) { b_0.storeCoins(src.forwardTonAmount); b_0.storeBuilder(src.forwardPayload.asBuilder()); let b_1 = new Builder(); - b_1.storeAddress(src.setLinker); + if (src.setLinker !== null && src.setLinker !== undefined) { b_1.storeBit(true).storeInt(src.setLinker, 257); } else { b_1.storeBit(false); } + b_1.storeAddress(src.setLinkerAddress); b_0.storeRef(b_1.endCell()); }; } @@ -276,8 +278,9 @@ export function loadTokenTransferInternal(slice: Slice) { let _forwardTonAmount = sc_0.loadCoins(); let _forwardPayload = sc_0.asCell(); let sc_1 = sc_0.loadRef().beginParse(); - let _setLinker = sc_1.loadMaybeAddress(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker }; + let _setLinker = sc_1.loadBit() ? sc_1.loadIntBig(257) : null; + let _setLinkerAddress = sc_1.loadMaybeAddress(); + return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker, setLinkerAddress: _setLinkerAddress }; } function loadTupleTokenTransferInternal(source: TupleReader) { @@ -287,8 +290,9 @@ function loadTupleTokenTransferInternal(source: TupleReader) { let _responseAddress = source.readAddressOpt(); let _forwardTonAmount = source.readBigNumber(); let _forwardPayload = source.readCell(); - let _setLinker = source.readAddressOpt(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker }; + let _setLinker = source.readBigNumberOpt(); + let _setLinkerAddress = source.readAddressOpt(); + return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload, setLinker: _setLinker, setLinkerAddress: _setLinkerAddress }; } function storeTupleTokenTransferInternal(source: TokenTransferInternal) { @@ -299,7 +303,8 @@ function storeTupleTokenTransferInternal(source: TokenTransferInternal) { builder.writeAddress(source.responseAddress); builder.writeNumber(source.forwardTonAmount); builder.writeSlice(source.forwardPayload); - builder.writeAddress(source.setLinker); + builder.writeNumber(source.setLinker); + builder.writeAddress(source.setLinkerAddress); return builder.build(); } @@ -959,9 +964,9 @@ function dictValueParserWithdraw(): DictionaryValue { } } async function TONBWallet_init(master: Address, owner: Address) { - const __init = 'te6ccgEBBwEAUAABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBF2W1wBMjMBFAz2zzJgYAPFA0gQEBzwABzxYBzxbIWCBulTBwAcsBks8W4skBzA=='; - const __code = 'te6ccgECMwEABYIAART/APSkE/S88sgLAQIBYgIDAgLKBgcCASAEBQERv9gW2eeBN4D0EQBxvd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4TujwAfLZsB5P5B1ZLNZRCcAgEgCAkCAUgVFgIBYgoLAAOnQASJRwIddJwh+VMCDXCx/eAtDTAwFxsMABkX+RcOIB+kAiUGZvBPhhAo8JMNs8VQPwKts84CCCEA+KfqW64wIgghAXjUUZuoERMMDQALQgbvLQgIAyYw2zwE2zw3EJoQiRB4VQXwJ9s8EQ4TBDqPkzDbPATbPDcQmhCJEHhVBfAo2zzgghBZXwe8uhEPExAAbNMfAYIQD4p+pbry4IHTP/oA+kABAfpAIdcLAcMAkQGSMW3iAdIAAZHUkm0B4voAUWYWFRRDMAB+0x8BghAXjUUZuvLggdM/+gD6QAEB+kAh1wsBwwCRAZIxbeIB+gAg1AHQ+kAh1wsBwwCRAZIxbeIxFxYVFEMwAzKPkts8BNs8NBBnEFYQRVUC8CnbPOAw8sCCERITARbtRNDUAfhi2zxsFBQATNMfAYIQWV8HvLry4IHTP/oA+kABAfpAIdcLAcMAkQGSMW3iFEMwARjI+EIBzFUw2zzJ7VQjAESBAQHXAPpAAQH6QAEB1AHQ+kAh1wsBwwCRAZIxbeIxFEMwAgEgFxgCAUgoKQIBIBkaAgEgHyAAS1cFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0IAgEgGxwC9zIcQHKAVAHAcoAcAHKAlAFzxZQA/oCcAHKaCNusyVus7GORn8BygDIcAHKAHABygAkbrOafwHKAATwAlAEzJY0A3ABygDiJG6zmn8BygAE8AJQBMyWNANwAcoA4nABygACfwHKAALJWMyXMzMBcAHKAOIhbrPjD8kB+wCAdHgAlGwx+gAxcdch+gAx+gAwpwOrAIAASfwHKAAHwAgHMAAoxcAHKAAIBICEiAgEgJCUBFxtcATIzARQM9s8yYCMATQC0PQEMG0BgWCEAYAQ9A9vofLghwGBYIQiAoAQ9BfI9ADJQAPwJIAA8UDSBAQHPAAHPFgHPFshYIG6VMHABywGSzxbiyQHMABEMPhCUxLwJTCABuRsIvhBbySBEU1TPMcF8vRRx6GCAPX8IcL/8vRDMFI98CNxJMIAkjBy3oE+uwKoggkxLQCgggiYloCgErzy9PhCVCB08CVc8CF/UHZwgEBtLVE+A0mp2zwQVlnwIoCYBDMhVYNs8yScAcIIQF41FGVAIyx8Wyz9QBPoCWM8WASBulTBwAcsBks8W4gH6AgHPFshYIG6VMHABywGSzxbiyQHMAgEgKisAT0gCDXIdMf0z8x+gAwgTVSIoIQF41FGboDghB73ZfeuhOxEvL0FKADgC9z4QW8kK26TOxA6kTTiUxvHBbNTK8cFs7COEvhCU8jwJQGBEU0C8CEjxwXy9N5R2KCCAPX8IcL/8vQt+CdvECGhggiYloBmtgihggiYloCgoSbCAI6eUOTwI1IwoKFwcChIE1B02zwpEEZDE1BVbW3wIlAGlhB+UIlfCOKAsLQGjFv4QW8kgRFNUznHBVNJxwWxU0jHBbHy9FGUoYIA9fwhwv/y9EMwUjrwI4E+uwGCCTEtAKCCCJiWgKASvPL0f3ADgEBUM3fbPFQTBVAzbW3wIoDEBDMhVMNs8yS4BPCZusyLCALCOkXAH8AJwBNs8EEhDMBhtbfAikjZb4i8ALIIQc2LQnFAFyx8Tyz8B+gIBzxYBzxYBCsgB2zzJMAAWghDVMnbbWMsfyz8BDMhVMNs8yTIAQIIQe92X3lAFyx8Tyz8B+gIBzxYBIG6VMHABywGSzxbi'; - const __system = 'te6cckECNQEABYwAAQHAAQEFoMEJAgEU/wD0pBP0vPLICwMCAWIHBAIBIAYFAHG93owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwThO6PAB8tmwHk/kHVks1lEJwBEb/YFtnngTeA9DMCAsomCAIBSBUJAgFICwoAT0gCDXIdMf0z8x+gAwgTVSIoIQF41FGboDghB73ZfeuhOxEvL0FKADgCASAPDAGjFv4QW8kgRFNUznHBVNJxwWxU0jHBbHy9FGUoYIA9fwhwv/y9EMwUjrwI4E+uwGCCTEtAKCCCJiWgKASvPL0f3ADgEBUM3fbPFQTBVAzbW3wIoA0BDMhVMNs8yQ4AQIIQe92X3lAFyx8Tyz8B+gIBzxYBIG6VMHABywGSzxbiAvc+EFvJCtukzsQOpE04lMbxwWzUyvHBbOwjhL4QlPI8CUBgRFNAvAhI8cF8vTeUdigggD1/CHC//L0LfgnbxAhoYIImJaAZrYIoYIImJaAoKEmwgCOnlDk8CNSMKChcHAoSBNQdNs8KRBGQxNQVW1t8CJQBpYQflCJXwjigExABPCZusyLCALCOkXAH8AJwBNs8EEhDMBhtbfAikjZb4hEBCsgB2zzJEgAWghDVMnbbWMsfyz8BDMhVMNs8yRQALIIQc2LQnFAFyx8Tyz8B+gIBzxYBzxYCASAfFgIBIBwXAgEgGxgBuRsIvhBbySBEU1TPMcF8vRRx6GCAPX8IcL/8vRDMFI98CNxJMIAkjBy3oE+uwKoggkxLQCgggiYloCgErzy9PhCVCB08CVc8CF/UHZwgEBtLVE+A0mp2zwQVlnwIoBkBDMhVYNs8yRoAcIIQF41FGVAIyx8Wyz9QBPoCWM8WASBulTBwAcsBks8W4gH6AgHPFshYIG6VMHABywGSzxbiyQHMABEMPhCUxLwJTCACASAeHQBNALQ9AQwbQGBYIQBgBD0D2+h8uCHAYFghCICgBD0F8j0AMlAA/AkgARcbXAEyMwEUDPbPMmAyAgEgJSACASAiIQAlGwx+gAxcdch+gAx+gAwpwOrAIAL3MhxAcoBUAcBygBwAcoCUAXPFlAD+gJwAcpoI26zJW6zsY5GfwHKAMhwAcoAcAHKACRus5p/AcoABPACUATMljQDcAHKAOIkbrOafwHKAATwAlAEzJY0A3ABygDicAHKAAJ/AcoAAslYzJczMwFwAcoA4iFus+MPyQH7AICQjAAoxcAHKAAASfwHKAAHwAgHMAEtXBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydCAIBICgnAAOnQAIBYiopAAtCBu8tCAgEiUcCHXScIflTAg1wsf3gLQ0wMBcbDAAZF/kXDiAfpAIlBmbwT4YQKPCTDbPFUD8CrbPOAgghAPin6luuMCIIIQF41FGbqDMxLysEOo+TMNs8BNs8NxCaEIkQeFUF8CjbPOCCEFlfB7y6My4xLAMyj5LbPATbPDQQZxBWEEVVAvAp2zzgMPLAgjMtMQBM0x8BghBZXwe8uvLggdM/+gD6QAEB+kAh1wsBwwCRAZIxbeIUQzAAftMfAYIQF41FGbry4IHTP/oA+kABAfpAIdcLAcMAkQGSMW3iAfoAINQB0PpAIdcLAcMAkQGSMW3iMRcWFRRDMAMmMNs8BNs8NxCaEIkQeFUF8CfbPDMwMQBs0x8BghAPin6luvLggdM/+gD6QAEB+kAh1wsBwwCRAZIxbeIB0gABkdSSbQHi+gBRZhYVFEMwARjI+EIBzFUw2zzJ7VQyADxQNIEBAc8AAc8WAc8WyFggbpUwcAHLAZLPFuLJAcwBFu1E0NQB+GLbPGwUNABEgQEB1wD6QAEB+kABAdQB0PpAIdcLAcMAkQGSMW3iMRRDMGRj05c='; + const __init = 'te6ccgEBBwEAZgABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBGWW1tcAXIzAVERNs8yYGAGZQRYEBAc8AWM8WAc8WyCJus5p/AcoAEoEBAc8AlTJwWMoA4lggbpUwcAHLAZLPFuLJAcw='; + const __code = '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'; + const __system = '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'; let systemCell = Cell.fromBase64(__system); let builder = new TupleBuilder(); builder.writeCell(systemCell); diff --git a/sources/tests/__snapshots__/jetton.spec.ts.snap b/sources/tests/__snapshots__/jetton.spec.ts.snap index a4bd40c..f1e9eca 100644 --- a/sources/tests/__snapshots__/jetton.spec.ts.snap +++ b/sources/tests/__snapshots__/jetton.spec.ts.snap @@ -13,14 +13,14 @@ exports[`jetton should deploy and deposit the wallet with the correct sum of mon }, "bounce": true, "from": "kQAI-3FJVc_ywSuY4vq0bYrzR7S4Och4y7bTU_i5yLOB3A6P", - "to": "kQCM9AmnDVgUtUtKjTYQmBC1nKt5dR8EsRWQvtvzNws01ZJu", + "to": "kQBvLWbJmRxsnDuBrGvOkN_QmzLpgeyyQf0XbfnIeM7XYTwh", "type": "internal", "value": 1200000000n, }, "type": "received", }, { - "gasUsed": 36303n, + "gasUsed": 37054n, "type": "processed", }, { @@ -31,8 +31,8 @@ exports[`jetton should deploy and deposit the wallet with the correct sum of mon "type": "cell", }, "bounce": false, - "from": "kQCM9AmnDVgUtUtKjTYQmBC1nKt5dR8EsRWQvtvzNws01ZJu", - "to": "kQB2vHcaIyjKkO_JMeWRZ8QN_zBjgfX7OHflzG9vrE3cUH-F", + "from": "kQBvLWbJmRxsnDuBrGvOkN_QmzLpgeyyQf0XbfnIeM7XYTwh", + "to": "kQDvdSDFqvr41l4MwWjbjCSwTka3iYJTlTEjj5rVuePsXsSa", "type": "internal", "value": 13474000n, }, @@ -43,15 +43,15 @@ exports[`jetton should deploy and deposit the wallet with the correct sum of mon "messages": [ { "body": { - "cell": "x{178D4519000000000000000043B9ACA0080119E8134E1AB0296A96951A6C2130216B3956F2EA3E09622B217DB7E66E1669AB00023EDC525573FCB04AE638BEAD1B62BCD1ED2E0E721E32EDB4D4FE2E722CE07702_} - x{800ED78EE3446519521DF9263CB22CF881BFE60C703EBF670EFCB98DEDF589BB8A1_}", + "cell": "x{178D4519000000000000000043B9ACA00800DE5ACD933238D938770358D79D21BFA13665D303D96483FA2EDBF390F19DAEC300023EDC525573FCB04AE638BEAD1B62BCD1ED2E0E721E32EDB4D4FE2E722CE07702_} + x{800000000000000000000000000000000000000000000000000000000000000020077BA9062D57D7C6B2F0660B46DC6125827235BC4C129CA9891C7CD6ADCF1F62F4_}", "type": "cell", }, "bounce": false, - "from": "kQCM9AmnDVgUtUtKjTYQmBC1nKt5dR8EsRWQvtvzNws01ZJu", - "to": "kQCs7NEVQDI566FHvxACpYud6bZ40nPH4s_v39XOEbexYPMS", + "from": "kQBvLWbJmRxsnDuBrGvOkN_QmzLpgeyyQf0XbfnIeM7XYTwh", + "to": "kQATwu07DUC3EW02Ouf3rQA9zbePcr9Z3bGajEVnEsilpexg", "type": "internal", - "value": 21584000n, + "value": 30513000n, }, ], "type": "sent", diff --git a/sources/tests/jetton.spec.ts b/sources/tests/jetton.spec.ts index 4e33ebc..211d0c4 100644 --- a/sources/tests/jetton.spec.ts +++ b/sources/tests/jetton.spec.ts @@ -19,7 +19,6 @@ describe('jetton', () => { // Mint await contract.send(owner, { value: toNano('1.2') }, { $$type: 'Deposit', amount: toNano('1') }); let log = await system.run(); - await system.run(); let events = tracker.events(); expect(events).toMatchSnapshot(); @@ -35,5 +34,12 @@ describe('jetton', () => { // Check owner expect((await contract.getOwner()).toString()).toEqual(owner.address.toString()); + // Withdraw + await contract.send(owner, { value: toNano('0.15') }, { $$type: 'Withdraw', amount: toNano('0.3') }); + log = await system.run(); + events = tracker.events(); + expect((events[5] as any).messages[0].value).toBeGreaterThan(toNano('0.29')); + + }); }); \ No newline at end of file diff --git a/sources/wallet.tact b/sources/wallet.tact index 9c6d34d..d248f44 100644 --- a/sources/wallet.tact +++ b/sources/wallet.tact @@ -13,7 +13,8 @@ contract TONBWallet { balance: Int; owner: Address; master: Address; - linker: Address?; + linker: Int?; + linker_address: Address?; init(master: Address, owner: Address) { self.balance = 0; @@ -54,7 +55,8 @@ contract TONBWallet { responseAddress: self.owner, forwardTonAmount: msg.forwardTonAmount, forwardPayload: msg.forwardPayload, - setLinker: null + setLinker: null, + setLinkerAddress: null }.toCell(), code: init.code, data: init.data @@ -67,8 +69,9 @@ contract TONBWallet { let ctx: Context = context(); if (self.linker == null) { self.linker = msg.setLinker; + self.linker_address = msg.setLinkerAddress; } - if (ctx.sender != self.master && ctx.sender != self.linker) { + if (ctx.sender != self.master && ctx.sender != self.linker_address) { let sinit: StateInit = initOf TONBWallet(self.master, msg.from); require(contractAddress(sinit) == ctx.sender, "Invalid sender"); } @@ -117,15 +120,15 @@ contract TONBWallet { // Check sender let ctx: Context = context(); - require(ctx.sender == self.owner || ctx.sender == self.master || ctx.sender == self.linker, "Invalid sender"); + require(ctx.sender == self.owner || ctx.sender == self.master || ctx.sender == self.linker_address, "Invalid sender"); // Update balance self.balance = self.balance - msg.amount; require(self.balance >= 0, "Invalid balance"); - // Gas checks + // // Gas checks let fwdFee: Int = ctx.readForwardFee(); - require(ctx.value > fwdFee + 2 * self.gasConsumption + self.minTonsForStorage, "Invalid value"); + require(ctx.value > 2 * self.gasConsumption + self.minTonsForStorage, "Invalid value"); // Burn tokens send(SendParameters{