@affluent-org/sdk 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/.prettierrc +11 -0
  2. package/Refactoring.md +548 -0
  3. package/dist/_compiled/Account.compiled.json +1 -0
  4. package/dist/_compiled/Receipt.compiled.json +1 -0
  5. package/dist/_compiled/WTONWallet.compiled.json +1 -0
  6. package/dist/_compiled/index.d.ts +4 -0
  7. package/dist/_compiled/index.js +12 -0
  8. package/dist/affluent.d.ts +14 -0
  9. package/dist/affluent.js +20 -0
  10. package/dist/constants/constants.d.ts +2 -0
  11. package/dist/constants/constants.js +5 -0
  12. package/dist/constants/contracts.d.ts +9 -0
  13. package/dist/constants/contracts.js +18 -0
  14. package/dist/context.d.ts +43 -0
  15. package/dist/context.js +90 -0
  16. package/dist/contracts/common/type.d.ts +16 -0
  17. package/dist/contracts/common/type.js +2 -0
  18. package/dist/contracts/common/utils.d.ts +3 -0
  19. package/dist/contracts/common/utils.js +16 -0
  20. package/dist/contracts/core/account/index.d.ts +38 -0
  21. package/dist/contracts/core/account/index.js +128 -0
  22. package/dist/contracts/core/account/type.d.ts +18 -0
  23. package/dist/contracts/core/account/type.js +2 -0
  24. package/dist/contracts/core/pool/index.d.ts +149 -0
  25. package/dist/contracts/core/pool/index.js +379 -0
  26. package/dist/contracts/core/pool/serializer.d.ts +15 -0
  27. package/dist/contracts/core/pool/serializer.js +307 -0
  28. package/dist/contracts/core/pool/type.d.ts +136 -0
  29. package/dist/contracts/core/pool/type.js +2 -0
  30. package/dist/contracts/dedust-farm/MockDedustFarm.d.ts +41 -0
  31. package/dist/contracts/dedust-farm/MockDedustFarm.js +79 -0
  32. package/dist/contracts/external/tonstaker.d.ts +18 -0
  33. package/dist/contracts/external/tonstaker.js +26 -0
  34. package/dist/contracts/factory/factory.d.ts +24 -0
  35. package/dist/contracts/factory/factory.js +58 -0
  36. package/dist/contracts/factory/type.d.ts +11 -0
  37. package/dist/contracts/factory/type.js +2 -0
  38. package/dist/contracts/farm/distributor.d.ts +43 -0
  39. package/dist/contracts/farm/distributor.js +83 -0
  40. package/dist/contracts/farm/receipt.d.ts +40 -0
  41. package/dist/contracts/farm/receipt.js +68 -0
  42. package/dist/contracts/irm/jump-irm/serializer.d.ts +4 -0
  43. package/dist/contracts/irm/jump-irm/serializer.js +26 -0
  44. package/dist/contracts/irm/jump-irm/type.d.ts +8 -0
  45. package/dist/contracts/irm/jump-irm/type.js +2 -0
  46. package/dist/contracts/jetton/jetton-minter.d.ts +23 -0
  47. package/dist/contracts/jetton/jetton-minter.js +46 -0
  48. package/dist/contracts/jetton/jetton-wallet.d.ts +67 -0
  49. package/dist/contracts/jetton/jetton-wallet.js +119 -0
  50. package/dist/contracts/jetton/type.d.ts +7 -0
  51. package/dist/contracts/jetton/type.js +2 -0
  52. package/dist/contracts/liquid_token/dedust/minter.d.ts +56 -0
  53. package/dist/contracts/liquid_token/dedust/minter.js +112 -0
  54. package/dist/contracts/liquid_token/dedust/wallet.d.ts +127 -0
  55. package/dist/contracts/liquid_token/dedust/wallet.js +213 -0
  56. package/dist/contracts/liquid_token/stonfi/LFStonfiJettonMinter.d.ts +53 -0
  57. package/dist/contracts/liquid_token/stonfi/LFStonfiJettonMinter.js +110 -0
  58. package/dist/contracts/liquid_token/stonfi/LFStonfiJettonWallet.d.ts +169 -0
  59. package/dist/contracts/liquid_token/stonfi/LFStonfiJettonWallet.js +288 -0
  60. package/dist/contracts/oracle/composite-onchain-oracle/index.d.ts +108 -0
  61. package/dist/contracts/oracle/composite-onchain-oracle/index.js +185 -0
  62. package/dist/contracts/oracle/parser.d.ts +7 -0
  63. package/dist/contracts/oracle/parser.js +77 -0
  64. package/dist/contracts/oracle/redstone-onchain-oracle/index.d.ts +56 -0
  65. package/dist/contracts/oracle/redstone-onchain-oracle/index.js +159 -0
  66. package/dist/contracts/oracle/redstone-onchain-oracle/serializer.d.ts +4 -0
  67. package/dist/contracts/oracle/redstone-onchain-oracle/serializer.js +137 -0
  68. package/dist/contracts/oracle/redstone-onchain-oracle/type.d.ts +57 -0
  69. package/dist/contracts/oracle/redstone-onchain-oracle/type.js +18 -0
  70. package/dist/contracts/oracle/redstone-oracle/serializer.d.ts +3 -0
  71. package/dist/contracts/oracle/redstone-oracle/serializer.js +30 -0
  72. package/dist/contracts/oracle/redstone-oracle/type.d.ts +9 -0
  73. package/dist/contracts/oracle/redstone-oracle/type.js +2 -0
  74. package/dist/contracts/oracle/redstone-parser.d.ts +9 -0
  75. package/dist/contracts/oracle/redstone-parser.js +58 -0
  76. package/dist/contracts/rfq/rfq_auction/index.d.ts +216 -0
  77. package/dist/contracts/rfq/rfq_auction/index.js +334 -0
  78. package/dist/contracts/rfq/rfq_batch/index.d.ts +346 -0
  79. package/dist/contracts/rfq/rfq_batch/index.js +448 -0
  80. package/dist/contracts/rfq/rfq_event_emitter/index.d.ts +132 -0
  81. package/dist/contracts/rfq/rfq_event_emitter/index.js +143 -0
  82. package/dist/contracts/stonfi-farm/MockStonfiFarmItem.d.ts +41 -0
  83. package/dist/contracts/stonfi-farm/MockStonfiFarmItem.js +83 -0
  84. package/dist/contracts/stonfi-farm/MockStonfiFarmMinter.d.ts +45 -0
  85. package/dist/contracts/stonfi-farm/MockStonfiFarmMinter.js +92 -0
  86. package/dist/contracts/unknown-contract/index.d.ts +14 -0
  87. package/dist/contracts/unknown-contract/index.js +18 -0
  88. package/dist/contracts/vault/share-vault/index.d.ts +206 -0
  89. package/dist/contracts/vault/share-vault/index.js +373 -0
  90. package/dist/contracts/vault/strategy-vault/codec.d.ts +710 -0
  91. package/dist/contracts/vault/strategy-vault/codec.js +1256 -0
  92. package/dist/contracts/vault/strategy-vault/computation.d.ts +11 -0
  93. package/dist/contracts/vault/strategy-vault/computation.js +56 -0
  94. package/dist/contracts/vault/strategy-vault/constants.d.ts +163 -0
  95. package/dist/contracts/vault/strategy-vault/constants.js +170 -0
  96. package/dist/contracts/vault/strategy-vault/index.d.ts +587 -0
  97. package/dist/contracts/vault/strategy-vault/index.js +406 -0
  98. package/dist/contracts/vault/strategy-vault/type.d.ts +115 -0
  99. package/dist/contracts/vault/strategy-vault/type.js +2 -0
  100. package/dist/contracts/wton/jetton-minter.d.ts +35 -0
  101. package/dist/contracts/wton/jetton-minter.js +71 -0
  102. package/dist/contracts/wton/jetton-wallet.d.ts +90 -0
  103. package/dist/contracts/wton/jetton-wallet.js +153 -0
  104. package/dist/contracts/wton/type.d.ts +7 -0
  105. package/dist/contracts/wton/type.js +2 -0
  106. package/dist/index.d.ts +34 -0
  107. package/dist/index.js +65 -0
  108. package/dist/lib/assert.d.ts +1 -0
  109. package/dist/lib/assert.js +9 -0
  110. package/dist/lib/query-cache.d.ts +5 -0
  111. package/dist/lib/query-cache.js +57 -0
  112. package/dist/lib/send-msg.d.ts +11 -0
  113. package/dist/lib/send-msg.js +9 -0
  114. package/dist/services/composite-oracle/computation.d.ts +55 -0
  115. package/dist/services/composite-oracle/computation.js +295 -0
  116. package/dist/services/composite-oracle/index.d.ts +45 -0
  117. package/dist/services/composite-oracle/index.js +110 -0
  118. package/dist/services/composite-oracle/query.d.ts +36 -0
  119. package/dist/services/composite-oracle/query.js +251 -0
  120. package/dist/services/composite-oracle/types.d.ts +82 -0
  121. package/dist/services/composite-oracle/types.js +11 -0
  122. package/dist/services/pool/computation.d.ts +75 -0
  123. package/dist/services/pool/computation.js +219 -0
  124. package/dist/services/pool/index.d.ts +94 -0
  125. package/dist/services/pool/index.js +139 -0
  126. package/dist/services/pool/oracle.d.ts +20 -0
  127. package/dist/services/pool/oracle.js +61 -0
  128. package/dist/services/pool/owner/index.d.ts +37 -0
  129. package/dist/services/pool/owner/index.js +76 -0
  130. package/dist/services/pool/owner/types.d.ts +18 -0
  131. package/dist/services/pool/owner/types.js +2 -0
  132. package/dist/services/pool/query.d.ts +64 -0
  133. package/dist/services/pool/query.js +282 -0
  134. package/dist/services/pool/user/index.d.ts +86 -0
  135. package/dist/services/pool/user/index.js +285 -0
  136. package/dist/services/pool/user/types.d.ts +44 -0
  137. package/dist/services/pool/user/types.js +2 -0
  138. package/dist/services/rfq-auction/index.d.ts +81 -0
  139. package/dist/services/rfq-auction/index.js +93 -0
  140. package/dist/services/rfq-auction/oracle.d.ts +19 -0
  141. package/dist/services/rfq-auction/oracle.js +60 -0
  142. package/dist/services/rfq-auction/query.d.ts +50 -0
  143. package/dist/services/rfq-auction/query.js +19 -0
  144. package/dist/services/rfq-auction/user/index.d.ts +63 -0
  145. package/dist/services/rfq-auction/user/index.js +218 -0
  146. package/dist/services/rfq-auction/user/types.d.ts +29 -0
  147. package/dist/services/rfq-auction/user/types.js +2 -0
  148. package/dist/services/rfq-batch/index.d.ts +78 -0
  149. package/dist/services/rfq-batch/index.js +132 -0
  150. package/dist/services/rfq-batch/oracle.d.ts +22 -0
  151. package/dist/services/rfq-batch/oracle.js +54 -0
  152. package/dist/services/rfq-batch/query.d.ts +46 -0
  153. package/dist/services/rfq-batch/query.js +34 -0
  154. package/dist/services/rfq-batch/user/index.d.ts +79 -0
  155. package/dist/services/rfq-batch/user/index.js +171 -0
  156. package/dist/services/rfq-batch/user/types.d.ts +37 -0
  157. package/dist/services/rfq-batch/user/types.js +2 -0
  158. package/dist/services/share-vault/computation.d.ts +24 -0
  159. package/dist/services/share-vault/computation.js +42 -0
  160. package/dist/services/share-vault/index.d.ts +90 -0
  161. package/dist/services/share-vault/index.js +128 -0
  162. package/dist/services/share-vault/manager/index.d.ts +40 -0
  163. package/dist/services/share-vault/manager/index.js +111 -0
  164. package/dist/services/share-vault/manager/types.d.ts +23 -0
  165. package/dist/services/share-vault/manager/types.js +2 -0
  166. package/dist/services/share-vault/owner/index.d.ts +64 -0
  167. package/dist/services/share-vault/owner/index.js +122 -0
  168. package/dist/services/share-vault/owner/types.d.ts +33 -0
  169. package/dist/services/share-vault/owner/types.js +2 -0
  170. package/dist/services/share-vault/query.d.ts +34 -0
  171. package/dist/services/share-vault/query.js +138 -0
  172. package/dist/services/share-vault/user/index.d.ts +33 -0
  173. package/dist/services/share-vault/user/index.js +106 -0
  174. package/dist/services/share-vault/user/types.d.ts +13 -0
  175. package/dist/services/share-vault/user/types.js +2 -0
  176. package/dist/services/strategy-vault/index.d.ts +2124 -0
  177. package/dist/services/strategy-vault/index.js +268 -0
  178. package/dist/services/strategy-vault/manager/index.d.ts +1968 -0
  179. package/dist/services/strategy-vault/manager/index.js +475 -0
  180. package/dist/services/strategy-vault/manager/types.d.ts +144 -0
  181. package/dist/services/strategy-vault/manager/types.js +2 -0
  182. package/dist/services/strategy-vault/oracle.d.ts +66 -0
  183. package/dist/services/strategy-vault/oracle.js +162 -0
  184. package/dist/services/strategy-vault/owner/index.d.ts +277 -0
  185. package/dist/services/strategy-vault/owner/index.js +333 -0
  186. package/dist/services/strategy-vault/owner/types.d.ts +146 -0
  187. package/dist/services/strategy-vault/owner/types.js +2 -0
  188. package/dist/services/strategy-vault/query.d.ts +138 -0
  189. package/dist/services/strategy-vault/query.js +59 -0
  190. package/dist/services/strategy-vault/user/index.d.ts +89 -0
  191. package/dist/services/strategy-vault/user/index.js +219 -0
  192. package/dist/services/strategy-vault/user/types.d.ts +46 -0
  193. package/dist/services/strategy-vault/user/types.js +2 -0
  194. package/dist/types/sender.d.ts +7 -0
  195. package/dist/types/sender.js +2 -0
  196. package/dist/utils/action-parser.d.ts +7 -0
  197. package/dist/utils/action-parser.js +20 -0
  198. package/dist/utils/external-message-hash.d.ts +45 -0
  199. package/dist/utils/external-message-hash.js +65 -0
  200. package/dist/utils/oracle/redstone/readonlyCachedRedstone.d.ts +3 -0
  201. package/dist/utils/oracle/redstone/readonlyCachedRedstone.js +25 -0
  202. package/dist/utils/oracle/redstone/redstoneHelper.d.ts +21 -0
  203. package/dist/utils/oracle/redstone/redstoneHelper.js +228 -0
  204. package/dist/utils/parser.d.ts +40 -0
  205. package/dist/utils/parser.js +580 -0
  206. package/dist/utils/pending-tracker/index.d.ts +14 -0
  207. package/dist/utils/pending-tracker/index.js +34 -0
  208. package/dist/utils/pending-tracker/trackable-sender.d.ts +16 -0
  209. package/dist/utils/pending-tracker/trackable-sender.js +87 -0
  210. package/dist/utils/pending-tracker/type.d.ts +78 -0
  211. package/dist/utils/pending-tracker/type.js +2 -0
  212. package/dist/utils/pending-tracker/v3-client.d.ts +31 -0
  213. package/dist/utils/pending-tracker/v3-client.js +104 -0
  214. package/dist/utils/risk_calculator/risk_calculator.d.ts +45 -0
  215. package/dist/utils/risk_calculator/risk_calculator.js +332 -0
  216. package/dist/utils/utils.d.ts +5 -0
  217. package/dist/utils/utils.js +12 -0
  218. package/package.json +46 -0
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RFQEventEmitter = void 0;
4
+ const core_1 = require("@ton/core");
5
+ const rfq_auction_1 = require("../rfq_auction");
6
+ class RFQEventEmitter {
7
+ address;
8
+ init;
9
+ constructor(address, init) {
10
+ this.address = address;
11
+ this.init = init;
12
+ }
13
+ static Op = {
14
+ EmitEvent: 0xc8e85296,
15
+ };
16
+ static Error = {
17
+ UnknownOp: 0xffff,
18
+ Unauthorized: 1000,
19
+ };
20
+ static createFromAddress(address) {
21
+ return new RFQEventEmitter(address);
22
+ }
23
+ static createFromConfig(config, code, workchain = 0) {
24
+ const data = (0, core_1.beginCell)().storeRef(config.rfqAuctionCode).storeRef(config.rfqBatchCode).endCell();
25
+ const init = { code, data };
26
+ return new RFQEventEmitter((0, core_1.contractAddress)(workchain, init), init);
27
+ }
28
+ async sendDeploy(provider, via, value) {
29
+ await provider.internal(via, {
30
+ value,
31
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
32
+ body: (0, core_1.beginCell)().endCell(),
33
+ });
34
+ }
35
+ static parseRFQEvent(cell) {
36
+ try {
37
+ const body = cell.beginParse();
38
+ const opCode = body.loadUint(32);
39
+ const queryId = body.loadUintBig(64);
40
+ const rfqIndex = body.loadCoins();
41
+ const ownerAddress = body.loadAddress();
42
+ const excessesAddress = body.loadAddress();
43
+ const op = body.loadUint(32);
44
+ const result = {
45
+ rfqIndex,
46
+ ownerAddress,
47
+ excessesAddress,
48
+ op: op,
49
+ };
50
+ if (op === rfq_auction_1.RFQAuction.Op.Initialize) {
51
+ const storage = body.loadRef();
52
+ const data = rfq_auction_1.RFQAuction.parseRFQStorage(storage);
53
+ return {
54
+ type: "RFQAuction.Op.Initialize",
55
+ ...result,
56
+ parsed: true,
57
+ storage: data,
58
+ };
59
+ }
60
+ else if (op === rfq_auction_1.RFQAuction.Op.VerifiedWallet) {
61
+ const asset = body.loadAddress();
62
+ return {
63
+ type: "RFQAuction.Op.VerifiedWallet",
64
+ ...result,
65
+ parsed: true,
66
+ asset: asset,
67
+ };
68
+ }
69
+ else if (op === rfq_auction_1.RFQAuction.Op.Deposit) {
70
+ return {
71
+ type: "RFQAuction.Op.Deposit",
72
+ ...result,
73
+ parsed: true,
74
+ };
75
+ }
76
+ else if (op === rfq_auction_1.RFQAuction.Op.Bid) {
77
+ const data = body.loadRef().beginParse();
78
+ const bidder = data.loadAddress();
79
+ const bidValue = data.loadCoins();
80
+ const escrowAmount = data.loadCoins();
81
+ const lt = data.loadUint(256);
82
+ return {
83
+ type: "RFQAuction.Op.Bid",
84
+ ...result,
85
+ parsed: true,
86
+ bidder,
87
+ bidValue,
88
+ escrowAmount,
89
+ lt,
90
+ };
91
+ }
92
+ else if (op === rfq_auction_1.RFQAuction.Op.Settle) {
93
+ const bidder = body.loadMaybeAddress();
94
+ const settleAmount = body.loadCoins();
95
+ return {
96
+ type: "RFQAuction.Op.Settle",
97
+ ...result,
98
+ parsed: true,
99
+ bidder,
100
+ settleAmount,
101
+ };
102
+ }
103
+ else if (op === rfq_auction_1.RFQAuction.Op.CancelRFQ) {
104
+ return {
105
+ type: "RFQAuction.Op.CancelRFQ",
106
+ ...result,
107
+ parsed: true,
108
+ };
109
+ }
110
+ else if (op === rfq_auction_1.RFQAuction.Op.CancelBid) {
111
+ const bidder = body.loadAddress();
112
+ return {
113
+ type: "RFQAuction.Op.CancelBid",
114
+ ...result,
115
+ parsed: true,
116
+ bidder,
117
+ };
118
+ }
119
+ else if (op === rfq_auction_1.RFQAuction.Op.ClearBids) {
120
+ const count = body.loadCoins();
121
+ const isRemaining = body.loadBit();
122
+ return {
123
+ type: "RFQAuction.Op.ClearBids",
124
+ ...result,
125
+ parsed: true,
126
+ count,
127
+ isRemaining,
128
+ };
129
+ }
130
+ return {
131
+ rfqIndex,
132
+ ownerAddress,
133
+ excessesAddress,
134
+ op: op,
135
+ parsed: false,
136
+ };
137
+ }
138
+ catch (e) {
139
+ return null;
140
+ }
141
+ }
142
+ }
143
+ exports.RFQEventEmitter = RFQEventEmitter;
@@ -0,0 +1,41 @@
1
+ import { Address, Cell, Contract, ContractProvider, Sender } from "@ton/core";
2
+ export type StonfiFarmConfig = {
3
+ owner: Address;
4
+ lpToken: Address;
5
+ rewardToken: Address;
6
+ farmItemCode: Cell;
7
+ };
8
+ export declare function stonfiFarmConfigToCell(config: StonfiFarmConfig): Cell;
9
+ export declare const Opcodes: {
10
+ setPrice: number;
11
+ };
12
+ export declare class MockStonfiFarmItem implements Contract {
13
+ readonly address: Address;
14
+ readonly init?: {
15
+ code: Cell;
16
+ data: Cell;
17
+ } | undefined;
18
+ constructor(address: Address, init?: {
19
+ code: Cell;
20
+ data: Cell;
21
+ } | undefined);
22
+ static createFromAddress(address: Address): MockStonfiFarmItem;
23
+ static createFromConfig(config: StonfiFarmConfig, code: Cell, workchain?: number): MockStonfiFarmItem;
24
+ sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
25
+ sendSetPrice(provider: ContractProvider, via: Sender, opts: {
26
+ value: bigint;
27
+ assetId: bigint;
28
+ price: bigint;
29
+ queryID?: number;
30
+ }): Promise<void>;
31
+ getState(provider: ContractProvider): Promise<import("@ton/core").ContractState>;
32
+ getFarmItemData(provider: ContractProvider): Promise<{
33
+ minter: Address | null;
34
+ index: bigint;
35
+ owner: Address | null;
36
+ amount: bigint | null;
37
+ reward_amount: bigint | null;
38
+ last_claim_time: bigint | null;
39
+ }>;
40
+ getFarmItemAddress(provider: ContractProvider, index: bigint): Promise<Address | null>;
41
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockStonfiFarmItem = exports.Opcodes = void 0;
4
+ exports.stonfiFarmConfigToCell = stonfiFarmConfigToCell;
5
+ const core_1 = require("@ton/core");
6
+ function stonfiFarmConfigToCell(config) {
7
+ return (0, core_1.beginCell)()
8
+ .storeCoins(0)
9
+ .storeAddress(config.owner)
10
+ .storeAddress(config.lpToken)
11
+ .storeAddress(config.rewardToken)
12
+ .storeRef(config.farmItemCode)
13
+ .endCell();
14
+ }
15
+ exports.Opcodes = {
16
+ setPrice: 0xf990365,
17
+ };
18
+ class MockStonfiFarmItem {
19
+ address;
20
+ init;
21
+ constructor(address, init) {
22
+ this.address = address;
23
+ this.init = init;
24
+ }
25
+ static createFromAddress(address) {
26
+ return new MockStonfiFarmItem(address);
27
+ }
28
+ static createFromConfig(config, code, workchain = 0) {
29
+ const data = stonfiFarmConfigToCell(config);
30
+ const init = { code, data };
31
+ return new MockStonfiFarmItem((0, core_1.contractAddress)(workchain, init), init);
32
+ }
33
+ async sendDeploy(provider, via, value) {
34
+ await provider.internal(via, {
35
+ value,
36
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
37
+ body: (0, core_1.beginCell)().endCell(),
38
+ });
39
+ }
40
+ async sendSetPrice(provider, via, opts) {
41
+ await provider.internal(via, {
42
+ value: opts.value,
43
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
44
+ body: (0, core_1.beginCell)()
45
+ .storeUint(exports.Opcodes.setPrice, 32)
46
+ .storeUint(opts.queryID ?? 0, 64)
47
+ .storeUint(opts.assetId, 64)
48
+ .storeCoins(opts.price)
49
+ .endCell(),
50
+ });
51
+ }
52
+ async getState(provider) {
53
+ return await provider.getState();
54
+ }
55
+ async getFarmItemData(provider) {
56
+ const result = await provider.get("get_farm_item_data", []);
57
+ const minter = result.stack.readAddressOpt();
58
+ const index = result.stack.readBigNumber();
59
+ const owner = result.stack.readAddressOpt();
60
+ const amount = result.stack.readBigNumberOpt();
61
+ const reward_amount = result.stack.readBigNumberOpt();
62
+ const last_claim_time = result.stack.readBigNumberOpt();
63
+ return {
64
+ minter,
65
+ index,
66
+ owner,
67
+ amount,
68
+ reward_amount,
69
+ last_claim_time,
70
+ };
71
+ }
72
+ async getFarmItemAddress(provider, index) {
73
+ const result = await provider.get("get_item_address", [
74
+ {
75
+ type: "int",
76
+ value: index,
77
+ },
78
+ ]);
79
+ const address = result.stack.readAddressOpt();
80
+ return address;
81
+ }
82
+ }
83
+ exports.MockStonfiFarmItem = MockStonfiFarmItem;
@@ -0,0 +1,45 @@
1
+ import { Address, Cell, Contract, ContractProvider, Sender } from "@ton/core";
2
+ export type StonfiFarmConfig = {
3
+ owner: Address;
4
+ lpToken: Address;
5
+ rewardToken: Address;
6
+ farmItemCode: Cell;
7
+ };
8
+ export declare function stonfiFarmConfigToCell(config: StonfiFarmConfig): Cell;
9
+ export declare const Opcodes: {
10
+ setPrice: number;
11
+ setLPWallet: number;
12
+ };
13
+ export declare class MockStonfiFarmMinter implements Contract {
14
+ readonly address: Address;
15
+ readonly init?: {
16
+ code: Cell;
17
+ data: Cell;
18
+ } | undefined;
19
+ constructor(address: Address, init?: {
20
+ code: Cell;
21
+ data: Cell;
22
+ } | undefined);
23
+ static createFromAddress(address: Address): MockStonfiFarmMinter;
24
+ static createFromConfig(config: StonfiFarmConfig, code: Cell, workchain?: number): MockStonfiFarmMinter;
25
+ sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
26
+ sendSetLPAddr(provider: ContractProvider, via: Sender, value: bigint, opts: {
27
+ queryID?: bigint;
28
+ lp: Address;
29
+ reward: Address;
30
+ }): Promise<void>;
31
+ sendSetPrice(provider: ContractProvider, via: Sender, opts: {
32
+ value: bigint;
33
+ assetId: bigint;
34
+ price: bigint;
35
+ queryID?: number;
36
+ }): Promise<void>;
37
+ getState(provider: ContractProvider): Promise<import("@ton/core").ContractState>;
38
+ getFarmData(provider: ContractProvider): Promise<{
39
+ index: bigint;
40
+ owner: Address | null;
41
+ lpToken: Address | null;
42
+ rewardToken: Address | null;
43
+ }>;
44
+ getFarmItemAddress(provider: ContractProvider, index: bigint): Promise<Address>;
45
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockStonfiFarmMinter = exports.Opcodes = void 0;
4
+ exports.stonfiFarmConfigToCell = stonfiFarmConfigToCell;
5
+ const core_1 = require("@ton/core");
6
+ function stonfiFarmConfigToCell(config) {
7
+ return (0, core_1.beginCell)()
8
+ .storeCoins(0)
9
+ .storeAddress(config.owner)
10
+ .storeAddress(config.lpToken)
11
+ .storeAddress(config.rewardToken)
12
+ .storeRef(config.farmItemCode)
13
+ .endCell();
14
+ }
15
+ exports.Opcodes = {
16
+ setPrice: 0xf990365,
17
+ setLPWallet: 0xd29c540a,
18
+ };
19
+ class MockStonfiFarmMinter {
20
+ address;
21
+ init;
22
+ constructor(address, init) {
23
+ this.address = address;
24
+ this.init = init;
25
+ }
26
+ static createFromAddress(address) {
27
+ return new MockStonfiFarmMinter(address);
28
+ }
29
+ static createFromConfig(config, code, workchain = 0) {
30
+ const data = stonfiFarmConfigToCell(config);
31
+ const init = { code, data };
32
+ return new MockStonfiFarmMinter((0, core_1.contractAddress)(workchain, init), init);
33
+ }
34
+ async sendDeploy(provider, via, value) {
35
+ await provider.internal(via, {
36
+ value,
37
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
38
+ body: (0, core_1.beginCell)().endCell(),
39
+ });
40
+ }
41
+ async sendSetLPAddr(provider, via, value, opts) {
42
+ await provider.internal(via, {
43
+ value,
44
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
45
+ body: (0, core_1.beginCell)()
46
+ .storeUint(exports.Opcodes.setLPWallet, 32)
47
+ .storeUint(opts.queryID ?? 0, 64)
48
+ .storeAddress(opts.lp)
49
+ .storeAddress(opts.reward)
50
+ .endCell(),
51
+ });
52
+ }
53
+ async sendSetPrice(provider, via, opts) {
54
+ await provider.internal(via, {
55
+ value: opts.value,
56
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
57
+ body: (0, core_1.beginCell)()
58
+ .storeUint(exports.Opcodes.setPrice, 32)
59
+ .storeUint(opts.queryID ?? 0, 64)
60
+ .storeUint(opts.assetId, 64)
61
+ .storeCoins(opts.price)
62
+ .endCell(),
63
+ });
64
+ }
65
+ async getState(provider) {
66
+ return await provider.getState();
67
+ }
68
+ async getFarmData(provider) {
69
+ const result = await provider.get("get_farm_data", []);
70
+ const index = result.stack.readBigNumber();
71
+ const owner = result.stack.readAddressOpt();
72
+ const lpToken = result.stack.readAddressOpt();
73
+ const rewardToken = result.stack.readAddressOpt();
74
+ return {
75
+ index,
76
+ owner,
77
+ lpToken,
78
+ rewardToken,
79
+ };
80
+ }
81
+ async getFarmItemAddress(provider, index) {
82
+ const result = await provider.get("get_item_address", [
83
+ {
84
+ type: "int",
85
+ value: index,
86
+ },
87
+ ]);
88
+ const address = result.stack.readAddress();
89
+ return address;
90
+ }
91
+ }
92
+ exports.MockStonfiFarmMinter = MockStonfiFarmMinter;
@@ -0,0 +1,14 @@
1
+ import { Address, Cell, Contract, ContractProvider } from "@ton/core";
2
+ export declare class UnknownContract implements Contract {
3
+ readonly address: Address;
4
+ readonly init?: {
5
+ code: Cell;
6
+ data: Cell;
7
+ } | undefined;
8
+ constructor(address: Address, init?: {
9
+ code: Cell;
10
+ data: Cell;
11
+ } | undefined);
12
+ static createFromAddress(address: Address): UnknownContract;
13
+ getState(provider: ContractProvider): Promise<import("@ton/core").ContractState>;
14
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnknownContract = void 0;
4
+ class UnknownContract {
5
+ address;
6
+ init;
7
+ constructor(address, init) {
8
+ this.address = address;
9
+ this.init = init;
10
+ }
11
+ static createFromAddress(address) {
12
+ return new UnknownContract(address);
13
+ }
14
+ async getState(provider) {
15
+ return await provider.getState();
16
+ }
17
+ }
18
+ exports.UnknownContract = UnknownContract;
@@ -0,0 +1,206 @@
1
+ import { Address, Cell, Contract, Builder, ContractProvider, Sender, Slice } from "@ton/core";
2
+ export declare class ShareVault implements Contract {
3
+ readonly address: Address;
4
+ readonly init?: {
5
+ code: Cell;
6
+ data: Cell;
7
+ } | undefined;
8
+ constructor(address: Address, init?: {
9
+ code: Cell;
10
+ data: Cell;
11
+ } | undefined);
12
+ static Op: {
13
+ SetWhitelistPools: number;
14
+ SetTargetWeight: number;
15
+ SetGasFee: number;
16
+ ChangeManager: number;
17
+ UpgradeCode: number;
18
+ ChangeAdmin: number;
19
+ SupplyToPool: number;
20
+ WithdrawFromPool: number;
21
+ Supply: number;
22
+ Withdraw: number;
23
+ RequestAssetWalletAddress: number;
24
+ ActionNotification: number;
25
+ ProvideAggregatedPool: number;
26
+ TakeAggregatedPool: number;
27
+ };
28
+ static Error: {
29
+ UnknownOp: number;
30
+ InvalidWallet: number;
31
+ InvalidAddress: number;
32
+ NotFoundPoolState: number;
33
+ ActionTimeout: number;
34
+ InvalidBurnRequest: number;
35
+ NotWhitelistedPool: number;
36
+ NotEnoughCash: number;
37
+ NotEnoughBalance: number;
38
+ };
39
+ static Gas: {
40
+ baseFee: bigint;
41
+ };
42
+ static createFromAddress(address: Address): ShareVault;
43
+ sendMsgBody(provider: ContractProvider, via: Sender, value: bigint, body: Cell): Promise<Cell>;
44
+ sendSetTargetWeight(provider: ContractProvider, via: Sender, value: bigint, opts: {
45
+ queryID?: number;
46
+ pool: Address;
47
+ targetWeight: number;
48
+ }): Promise<Cell>;
49
+ sendSetGasFee(provider: ContractProvider, via: Sender, value: bigint, opts: {
50
+ queryID?: bigint;
51
+ gasFee: ShareVaultGasConfig;
52
+ }): Promise<Cell>;
53
+ sendSupplyToPool(provider: ContractProvider, via: Sender, value: bigint, opts: {
54
+ queryID?: number;
55
+ pool: Address;
56
+ amount: bigint;
57
+ }): Promise<Cell>;
58
+ sendWithdrawFromPool(provider: ContractProvider, via: Sender, value: bigint, opts: {
59
+ queryID?: number;
60
+ pool: Address;
61
+ isShare: Boolean;
62
+ amount: bigint;
63
+ }): Promise<Cell>;
64
+ sendChangeManager(provider: ContractProvider, via: Sender, value: bigint, opts: {
65
+ queryID?: number;
66
+ address: Address;
67
+ }): Promise<void>;
68
+ sendChangeAdmin(provider: ContractProvider, via: Sender, value: bigint, opts: {
69
+ queryID?: number;
70
+ address: Address;
71
+ }): Promise<void>;
72
+ static createChangeAdminMsgBody(opts: {
73
+ queryID?: number;
74
+ address: Address;
75
+ }): Cell;
76
+ static parseChangeAdminMsgBody(cell: Cell): {
77
+ op: number;
78
+ queryID: number;
79
+ address: Address;
80
+ };
81
+ static createSetGasConfigMsgBody(params: {
82
+ queryID?: bigint;
83
+ gasFee: ShareVaultGasConfig;
84
+ }): Cell;
85
+ static createSetWhitelistPoolsMsgBody(params: {
86
+ queryID?: bigint;
87
+ whitelists: [Address, 0 | 1][];
88
+ }): Cell;
89
+ static createChangeManagerMsgBody(params: {
90
+ queryID?: bigint;
91
+ manager: Address;
92
+ }): Cell;
93
+ static createWhitelistsCell(whitelists: [Address, 0 | 1][]): Cell;
94
+ getWalletAddress(provider: ContractProvider, address: Address): Promise<Address>;
95
+ getPoolAggregatorAddress(provider: ContractProvider, address: Address): Promise<Address>;
96
+ static calculateGasFee(actionOp: number, baseFee: bigint, poolCount: number, gas: ShareVaultGasConfig, isWTON?: boolean): bigint;
97
+ getJettonData(provider: ContractProvider): Promise<{
98
+ totalSupply: bigint;
99
+ admin: Address;
100
+ content: string | null;
101
+ }>;
102
+ sendUpgradeCode(provider: ContractProvider, via: Sender, value: bigint, opts: {
103
+ queryID?: number;
104
+ newCode: Cell;
105
+ }): Promise<void>;
106
+ getVaultData(provider: ContractProvider): Promise<{
107
+ totalSupply: bigint;
108
+ owner: Address | null;
109
+ manager: Address | null;
110
+ asset: Address;
111
+ balance: bigint;
112
+ cash: bigint;
113
+ totalTargetWeight: bigint;
114
+ nextAggregatorIndex: bigint;
115
+ isWtonVault: boolean;
116
+ assetWallet: Address | null;
117
+ whitelistedPools: Record<string, {
118
+ isWhitelisted: boolean;
119
+ targetWeight: bigint;
120
+ supply: bigint;
121
+ } & {
122
+ address: Address;
123
+ }>;
124
+ minimumGasFee: {
125
+ supply: bigint;
126
+ withdraw: bigint;
127
+ factorialSupply: bigint;
128
+ factorialWithdraw: bigint;
129
+ mintVaultShareTokens: bigint;
130
+ };
131
+ code: Cell;
132
+ address: Address;
133
+ }>;
134
+ static parseVaultData(_data: Cell): {
135
+ totalSupply: bigint;
136
+ owner: Address | null;
137
+ manager: Address | null;
138
+ asset: Address;
139
+ balance: bigint;
140
+ cash: bigint;
141
+ totalTargetWeight: bigint;
142
+ nextAggregatorIndex: bigint;
143
+ isWtonVault: boolean;
144
+ assetWallet: Address | null;
145
+ whitelistedPools: Record<string, {
146
+ isWhitelisted: boolean;
147
+ targetWeight: bigint;
148
+ supply: bigint;
149
+ } & {
150
+ address: Address;
151
+ }>;
152
+ minimumGasFee: {
153
+ supply: bigint;
154
+ withdraw: bigint;
155
+ factorialSupply: bigint;
156
+ factorialWithdraw: bigint;
157
+ mintVaultShareTokens: bigint;
158
+ };
159
+ };
160
+ static parseGasConfig(cell: Cell): {
161
+ supply: bigint;
162
+ withdraw: bigint;
163
+ factorialSupply: bigint;
164
+ factorialWithdraw: bigint;
165
+ mintVaultShareTokens: bigint;
166
+ };
167
+ static createSupplyForwardPayload(opts: {
168
+ responseAddress: Address;
169
+ jettonForwardTonAmount?: bigint;
170
+ jettonForwardPayload?: Cell;
171
+ actionForwardTonAmount?: bigint;
172
+ actionForwardPayload?: Cell;
173
+ }): Cell;
174
+ static createWithdrawForwardPayload(opts?: {
175
+ jettonForwardTonAmount?: bigint;
176
+ jettonForwardPayload?: Cell;
177
+ actionForwardTonAmount?: bigint;
178
+ actionForwardPayload?: Cell;
179
+ }): Cell;
180
+ static createSetGasFeeMsgBody(opts: {
181
+ queryID?: number;
182
+ gasFee: Cell;
183
+ }): Cell;
184
+ static parseSetGasFeeMsgBody(cell: Cell): {
185
+ op: number;
186
+ queryID: number;
187
+ gasFee: Cell;
188
+ };
189
+ getState(provider: ContractProvider): Promise<import("@ton/core").ContractState>;
190
+ static createUpgradeCodeMsgBody(opts: {
191
+ queryID?: number;
192
+ newCode: Cell;
193
+ }): Cell;
194
+ }
195
+ declare const DictioryValueAccountWhitelistPool: {
196
+ serialize: (src: any, builder: Builder) => void;
197
+ parse: (src: Slice) => {
198
+ isWhitelisted: boolean;
199
+ targetWeight: bigint;
200
+ supply: bigint;
201
+ };
202
+ };
203
+ export type WhitelistedPoolData = ReturnType<(typeof DictioryValueAccountWhitelistPool)["parse"]>;
204
+ export type ShareVaultState = Awaited<ReturnType<ShareVault["getVaultData"]>>;
205
+ export type ShareVaultGasConfig = ReturnType<(typeof ShareVault)["parseGasConfig"]>;
206
+ export {};