@pizzaton/ton 0.0.0-stage → 0.1.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 (98) hide show
  1. package/CONTRACTS.md +239 -0
  2. package/README.md +505 -2
  3. package/dist/airdrop/index.d.mts +18 -0
  4. package/dist/airdrop/index.mjs +86 -0
  5. package/dist/connect/errors.d.mts +4 -0
  6. package/dist/connect/errors.mjs +21 -0
  7. package/dist/connect/index.d.mts +23 -0
  8. package/dist/connect/index.mjs +34 -0
  9. package/dist/contracts/catalog/index.d.mts +361 -0
  10. package/dist/contracts/catalog/index.mjs +403 -0
  11. package/dist/contracts/client.d.mts +18 -0
  12. package/dist/contracts/client.mjs +31 -0
  13. package/dist/contracts/codecs.d.mts +14 -0
  14. package/dist/contracts/codecs.mjs +61 -0
  15. package/dist/contracts/hipo.d.mts +138 -0
  16. package/dist/contracts/hipo.mjs +198 -0
  17. package/dist/contracts/index.d.mts +23 -0
  18. package/dist/contracts/index.mjs +20 -0
  19. package/dist/contracts/metadata.d.mts +38 -0
  20. package/dist/contracts/metadata.mjs +50 -0
  21. package/dist/contracts/module-client.d.mts +20 -0
  22. package/dist/contracts/module-client.mjs +34 -0
  23. package/dist/contracts/module.d.mts +8 -0
  24. package/dist/contracts/module.mjs +11 -0
  25. package/dist/contracts/wrappers/base.d.mts +18 -0
  26. package/dist/contracts/wrappers/base.mjs +31 -0
  27. package/dist/contracts/wrappers/index.d.mts +12 -0
  28. package/dist/contracts/wrappers/index.mjs +12 -0
  29. package/dist/contracts/wrappers/jvault-protocols.d.mts +206 -0
  30. package/dist/contracts/wrappers/jvault-protocols.mjs +432 -0
  31. package/dist/contracts/wrappers/jvault-support.d.mts +135 -0
  32. package/dist/contracts/wrappers/jvault-support.mjs +269 -0
  33. package/dist/contracts/wrappers/jvault.d.mts +123 -0
  34. package/dist/contracts/wrappers/jvault.mjs +258 -0
  35. package/dist/contracts/wrappers/memeland.d.mts +253 -0
  36. package/dist/contracts/wrappers/memeland.mjs +396 -0
  37. package/dist/contracts/wrappers/multix.d.mts +92 -0
  38. package/dist/contracts/wrappers/multix.mjs +156 -0
  39. package/dist/contracts/wrappers/pizzabox.d.mts +66 -0
  40. package/dist/contracts/wrappers/pizzabox.mjs +105 -0
  41. package/dist/contracts/wrappers/ton-raffles.d.mts +215 -0
  42. package/dist/contracts/wrappers/ton-raffles.mjs +398 -0
  43. package/dist/contracts/wrappers/tonresistor.d.mts +189 -0
  44. package/dist/contracts/wrappers/tonresistor.mjs +276 -0
  45. package/dist/core/address.d.mts +31 -0
  46. package/dist/core/address.mjs +53 -0
  47. package/dist/core/amount.d.mts +8 -0
  48. package/dist/core/amount.mjs +34 -0
  49. package/dist/core/bytes.d.mts +5 -0
  50. package/dist/core/bytes.mjs +18 -0
  51. package/dist/core/constants.d.mts +14 -0
  52. package/dist/core/constants.mjs +15 -0
  53. package/dist/core/errors.d.mts +9 -0
  54. package/dist/core/errors.mjs +16 -0
  55. package/dist/core/http.mjs +39 -0
  56. package/dist/core/index.d.mts +8 -0
  57. package/dist/core/index.mjs +8 -0
  58. package/dist/core/metadata.d.mts +12 -0
  59. package/dist/core/metadata.mjs +35 -0
  60. package/dist/core/network.d.mts +24 -0
  61. package/dist/core/network.mjs +41 -0
  62. package/dist/emulator/index.d.mts +20 -0
  63. package/dist/emulator/index.mjs +24 -0
  64. package/dist/index.d.mts +21 -0
  65. package/dist/index.mjs +19 -0
  66. package/dist/indexer/index.d.mts +90 -0
  67. package/dist/indexer/index.mjs +279 -0
  68. package/dist/jetton/details.d.mts +27 -0
  69. package/dist/jetton/details.mjs +116 -0
  70. package/dist/jetton/index.d.mts +54 -0
  71. package/dist/jetton/index.mjs +92 -0
  72. package/dist/jetton/versions.d.mts +12 -0
  73. package/dist/jetton/versions.mjs +50 -0
  74. package/dist/nft/collection.d.mts +57 -0
  75. package/dist/nft/collection.mjs +148 -0
  76. package/dist/nft/content.d.mts +34 -0
  77. package/dist/nft/content.mjs +142 -0
  78. package/dist/nft/index.d.mts +35 -0
  79. package/dist/nft/index.mjs +51 -0
  80. package/dist/nft/versions.d.mts +11 -0
  81. package/dist/nft/versions.mjs +29 -0
  82. package/dist/proof/index.d.mts +62 -0
  83. package/dist/proof/index.mjs +227 -0
  84. package/dist/provider/index.d.mts +32 -0
  85. package/dist/provider/index.mjs +1 -0
  86. package/dist/react/index.d.mts +13 -0
  87. package/dist/react/index.mjs +48 -0
  88. package/dist/server/index.d.mts +11 -0
  89. package/dist/server/index.mjs +55 -0
  90. package/dist/simulation/index.d.mts +112 -0
  91. package/dist/simulation/index.mjs +310 -0
  92. package/dist/transactions/index.d.mts +33 -0
  93. package/dist/transactions/index.mjs +51 -0
  94. package/dist/vesting/index.d.mts +12 -0
  95. package/dist/vesting/index.mjs +25 -0
  96. package/dist/wallet/index.d.mts +23 -0
  97. package/dist/wallet/index.mjs +71 -0
  98. package/package.json +176 -5
@@ -0,0 +1,135 @@
1
+ import { ContractWrapper } from "./base.mjs";
2
+ import { Address, Cell, ContractProvider, Sender } from "@ton/core";
3
+ //#region src/contracts/wrappers/jvault-support.d.ts
4
+ /** Native wrappers for the auxiliary JVault staking contracts. */
5
+ export declare const JVAULT_SUPPORT_SOURCE_REVISIONS: {
6
+ readonly fixedStaking: "63cbc8137a7dca0269bcdd9089a9dcc37acbb727";
7
+ readonly floatingStaking: "51c86b4469fd99b3e2ebdff6f8cdad9fee067b4c";
8
+ readonly decentralizedLaunchpad: "83f59e126e5e885f2d7da792998a5d569c0aa944";
9
+ };
10
+ export interface JVaultFixedPoolsAdminConfig {
11
+ readonly stakingPoolCode: Cell;
12
+ readonly nftItemCode: Cell;
13
+ readonly creationFee: bigint;
14
+ readonly ownerAddress: Address;
15
+ readonly distributionAddress: Address;
16
+ }
17
+ export declare function buildJVaultFixedPoolsAdminData(config: JVaultFixedPoolsAdminConfig): Cell;
18
+ export interface JVaultPoolAdminCodeUpdate {
19
+ readonly stakingPoolCode: Cell;
20
+ readonly nftItemCode: Cell;
21
+ readonly sharecomsCode: Cell;
22
+ readonly jvtNftCode: Cell;
23
+ }
24
+ declare abstract class JVaultPoolsAdminBase extends ContractWrapper {
25
+ getSharecomsByPool(provider: ContractProvider, poolAddress: Address): Promise<Address>;
26
+ getCreationFee(provider: ContractProvider): Promise<bigint>;
27
+ getOwners(provider: ContractProvider): Promise<{
28
+ team: Address;
29
+ conversion: Address;
30
+ }>;
31
+ getCodes(provider: ContractProvider): Promise<{
32
+ stakingPool: Cell;
33
+ nftItem: Cell;
34
+ sharecoms: Cell;
35
+ jvtNft: Cell;
36
+ }>;
37
+ getVersion(provider: ContractProvider): Promise<number>;
38
+ sendDepositJettons(provider: ContractProvider, via: Sender, value: bigint, jettonAmount: bigint, queryId?: bigint, forwardPayload?: Cell): Promise<void>;
39
+ sendWithdrawJetton(provider: ContractProvider, via: Sender, value: bigint, jettonWallet: Address, amount: bigint, queryId?: bigint): Promise<void>;
40
+ sendWithdrawTon(provider: ContractProvider, via: Sender, value: bigint, queryId?: bigint): Promise<void>;
41
+ sendAny(provider: ContractProvider, via: Sender, value: bigint, message: Cell, queryId?: bigint): Promise<void>;
42
+ sendChangeCreationFee(provider: ContractProvider, via: Sender, value: bigint, fee: bigint, queryId?: bigint): Promise<void>;
43
+ sendChangeCodes(provider: ContractProvider, via: Sender, value: bigint, codes: JVaultPoolAdminCodeUpdate, queryId?: bigint): Promise<void>;
44
+ sendChangeTeam(provider: ContractProvider, via: Sender, value: bigint, address: Address, queryId?: bigint): Promise<void>;
45
+ sendChangeConversion(provider: ContractProvider, via: Sender, value: bigint, address: Address, queryId?: bigint): Promise<void>;
46
+ sendChangeJettonWallet(provider: ContractProvider, via: Sender, value: bigint, address: Address, queryId?: bigint): Promise<void>;
47
+ sendChangeStaking(provider: ContractProvider, via: Sender, value: bigint, address: Address, queryId?: bigint): Promise<void>;
48
+ sendChangeContentFee(provider: ContractProvider, via: Sender, value: bigint, fee: bigint, queryId?: bigint): Promise<void>;
49
+ sendSetData(provider: ContractProvider, via: Sender, value: bigint, data: Cell, queryId?: bigint): Promise<void>;
50
+ sendSetCode(provider: ContractProvider, via: Sender, value: bigint, code: Cell, queryId?: bigint): Promise<void>;
51
+ sendChangeHost(provider: ContractProvider, via: Sender, value: bigint, host: Cell, queryId?: bigint): Promise<void>;
52
+ }
53
+ export interface JVaultFloatingPoolsAdminConfig {
54
+ readonly creationFee: bigint;
55
+ readonly changeFee: bigint;
56
+ readonly stakingAddress: Address;
57
+ readonly stakingWalletAddress: Address;
58
+ readonly sharecomsCode: Cell;
59
+ readonly stakingPoolCode: Cell;
60
+ readonly nftItemCode: Cell;
61
+ readonly teamAddress: Address;
62
+ readonly conversionAddress: Address;
63
+ readonly host: Cell;
64
+ readonly jvtNftCode: Cell;
65
+ }
66
+ export declare function buildJVaultFloatingPoolsAdminData(config: JVaultFloatingPoolsAdminConfig): Cell;
67
+ export declare class JVaultFixedPoolsAdmin extends JVaultPoolsAdminBase {
68
+ static createFromAddress(address: Address): JVaultFixedPoolsAdmin;
69
+ static createFromConfig(config: JVaultFixedPoolsAdminConfig, code: Cell, workchain?: number): JVaultFixedPoolsAdmin;
70
+ }
71
+ export declare class JVaultFloatingPoolsAdmin extends JVaultPoolsAdminBase {
72
+ static createFromAddress(address: Address): JVaultFloatingPoolsAdmin;
73
+ static createFromConfig(config: JVaultFloatingPoolsAdminConfig, code: Cell, workchain?: number): JVaultFloatingPoolsAdmin;
74
+ }
75
+ export interface JVaultSharecomsConfig {
76
+ readonly poolAddress: Address;
77
+ readonly poolAdminAddress: Address;
78
+ readonly stakingAddress: Address;
79
+ readonly jettonWalletAddress: Address;
80
+ readonly nftItemCode: Cell;
81
+ readonly lastCommissionTime?: number;
82
+ readonly allCommissions?: bigint;
83
+ }
84
+ export declare function buildJVaultSharecomsData(config: JVaultSharecomsConfig): Cell;
85
+ export declare class JVaultFloatingSharecoms extends ContractWrapper {
86
+ static createFromAddress(address: Address): JVaultFloatingSharecoms;
87
+ static createFromConfig(config: JVaultSharecomsConfig, code: Cell, workchain?: number): JVaultFloatingSharecoms;
88
+ getJettonWalletAddress(provider: ContractProvider): Promise<Address>;
89
+ getCommissionsPerDivider(provider: ContractProvider): Promise<bigint>;
90
+ getLastClaimedCommissionTime(provider: ContractProvider, nftId: bigint): Promise<bigint>;
91
+ getClaimableCommissionsByTime(provider: ContractProvider, time: bigint, stakedJvt: bigint): Promise<bigint>;
92
+ getDicts(provider: ContractProvider): Promise<{
93
+ nfts: Cell;
94
+ commissions: Cell;
95
+ }>;
96
+ getStorageData(provider: ContractProvider): Promise<{
97
+ pool: Address;
98
+ poolAdmin: Address;
99
+ lastCommissionTime: bigint;
100
+ allCommissions: bigint;
101
+ staking: Address;
102
+ jettonWallet: Address;
103
+ jettonWalletSet: boolean;
104
+ nftItemCode: Cell;
105
+ nfts: Cell;
106
+ nftCount: number;
107
+ commissions: Cell;
108
+ }>;
109
+ getVersion(provider: ContractProvider): Promise<number>;
110
+ sendWithdrawJetton(provider: ContractProvider, via: Sender, value: bigint, jettonWallet: Address, amount: bigint, queryId?: bigint): Promise<void>;
111
+ sendWithdrawTon(provider: ContractProvider, via: Sender, value: bigint, queryId?: bigint): Promise<void>;
112
+ sendSetJettonWallet(provider: ContractProvider, via: Sender, value: bigint, address: Address, queryId?: bigint): Promise<void>;
113
+ }
114
+ export interface JVaultSbtItemDataConfig {
115
+ readonly index: bigint;
116
+ readonly collection: Address;
117
+ }
118
+ export declare function buildJVaultSbtItemData(config: JVaultSbtItemDataConfig): Cell;
119
+ export declare class JVaultSbtSingle extends ContractWrapper {
120
+ static createFromAddress(address: Address): JVaultSbtSingle;
121
+ static createFromConfig(config: JVaultSbtItemDataConfig, code: Cell, workchain?: number): JVaultSbtSingle;
122
+ sendDeploy(provider: ContractProvider, via: Sender, value: bigint, owner: Address, content: Cell, authority?: Address | null): Promise<void>;
123
+ sendProveOwnership(provider: ContractProvider, via: Sender, value: bigint, destination: Address, forwardPayload: Cell, withContent: boolean, queryId?: bigint): Promise<void>;
124
+ sendBuyWhitelist(provider: ContractProvider, via: Sender, value: bigint, destination: Address, level: number, referral?: Address | null): Promise<void>;
125
+ getNftData(provider: ContractProvider): Promise<{
126
+ initialized: boolean;
127
+ index: bigint;
128
+ collection: Address;
129
+ owner: Address | null;
130
+ content: Cell;
131
+ }>;
132
+ getAuthorityAddress(provider: ContractProvider): Promise<Address>;
133
+ getRevokedTime(provider: ContractProvider): Promise<bigint>;
134
+ }
135
+ //#endregion
@@ -0,0 +1,269 @@
1
+ import { buildJettonTransferBody } from "../../jetton/index.mjs";
2
+ import { ContractWrapper } from "./base.mjs";
3
+ import { JVAULT_SOURCE_REVISIONS } from "./jvault-protocols.mjs";
4
+ import { Cell, Dictionary, beginCell, contractAddress } from "@ton/core";
5
+ //#region src/contracts/wrappers/jvault-support.ts
6
+ /** Native wrappers for the auxiliary JVault staking contracts. */
7
+ const JVAULT_SUPPORT_SOURCE_REVISIONS = {
8
+ fixedStaking: JVAULT_SOURCE_REVISIONS.fixedStaking,
9
+ floatingStaking: JVAULT_SOURCE_REVISIONS.floatingStaking,
10
+ decentralizedLaunchpad: JVAULT_SOURCE_REVISIONS.decentralizedLaunchpad
11
+ };
12
+ const OP = {
13
+ transferNotification: 1935855772,
14
+ takeWalletAddress: 3513996288,
15
+ excesses: 3576854235,
16
+ withdrawJetton: 3,
17
+ withdrawTon: 4,
18
+ sendAny: 5,
19
+ changeCreationFee: 10,
20
+ changeCodes: 11,
21
+ changeTeam: 12,
22
+ changeConversion: 13,
23
+ changeJettonWallet: 14,
24
+ changeStaking: 15,
25
+ changeContentFee: 16,
26
+ setData: 65534,
27
+ setCode: 65535,
28
+ changeHost: 1399416858,
29
+ proveOwnership: 81711432,
30
+ buyWhitelist: 81711432
31
+ };
32
+ const header = (opcode, queryId = 0n) => beginCell().storeUint(opcode, 32).storeUint(queryId, 64);
33
+ function buildJVaultFixedPoolsAdminData(config) {
34
+ return beginCell().storeRef(Cell.EMPTY).storeRef(config.stakingPoolCode).storeRef(config.nftItemCode).storeCoins(config.creationFee).storeAddress(config.ownerAddress).storeAddress(config.distributionAddress).endCell();
35
+ }
36
+ var JVaultPoolsAdminBase = class extends ContractWrapper {
37
+ async getSharecomsByPool(provider, poolAddress) {
38
+ return (await this.get(provider, "get_sharecoms_by_pool", [{
39
+ type: "slice",
40
+ cell: beginCell().storeAddress(poolAddress).endCell()
41
+ }])).readAddress();
42
+ }
43
+ async getCreationFee(provider) {
44
+ return (await this.get(provider, "get_creation_fee")).readBigNumber();
45
+ }
46
+ async getOwners(provider) {
47
+ const stack = await this.get(provider, "get_owners");
48
+ return {
49
+ team: stack.readAddress(),
50
+ conversion: stack.readAddress()
51
+ };
52
+ }
53
+ async getCodes(provider) {
54
+ const stack = await this.get(provider, "get_codes");
55
+ return {
56
+ stakingPool: stack.readCell(),
57
+ nftItem: stack.readCell(),
58
+ sharecoms: stack.readCell(),
59
+ jvtNft: stack.readCell()
60
+ };
61
+ }
62
+ async getVersion(provider) {
63
+ return (await this.get(provider, "get_version")).readNumber();
64
+ }
65
+ async sendDepositJettons(provider, via, value, jettonAmount, queryId = 0n, forwardPayload) {
66
+ const transfer = {
67
+ amount: jettonAmount,
68
+ destination: this.address,
69
+ responseDestination: via.address ?? this.address,
70
+ forwardAmount: 0n,
71
+ queryId
72
+ };
73
+ await this.send(provider, via, value, buildJettonTransferBody(forwardPayload ? {
74
+ ...transfer,
75
+ forwardPayload
76
+ } : transfer));
77
+ }
78
+ async sendWithdrawJetton(provider, via, value, jettonWallet, amount, queryId = 0n) {
79
+ await this.send(provider, via, value, header(OP.withdrawJetton, queryId).storeAddress(jettonWallet).storeCoins(amount).endCell());
80
+ }
81
+ async sendWithdrawTon(provider, via, value, queryId = 0n) {
82
+ await this.send(provider, via, value, header(OP.withdrawTon, queryId).endCell());
83
+ }
84
+ async sendAny(provider, via, value, message, queryId = 0n) {
85
+ await this.send(provider, via, value, header(OP.sendAny, queryId).storeRef(message).endCell());
86
+ }
87
+ async sendChangeCreationFee(provider, via, value, fee, queryId = 0n) {
88
+ await this.send(provider, via, value, header(OP.changeCreationFee, queryId).storeCoins(fee).endCell());
89
+ }
90
+ async sendChangeCodes(provider, via, value, codes, queryId = 0n) {
91
+ await this.send(provider, via, value, header(OP.changeCodes, queryId).storeRef(codes.stakingPoolCode).storeRef(codes.nftItemCode).storeRef(codes.sharecomsCode).storeRef(codes.jvtNftCode).endCell());
92
+ }
93
+ async sendChangeTeam(provider, via, value, address, queryId = 0n) {
94
+ await this.send(provider, via, value, header(OP.changeTeam, queryId).storeAddress(address).endCell());
95
+ }
96
+ async sendChangeConversion(provider, via, value, address, queryId = 0n) {
97
+ await this.send(provider, via, value, header(OP.changeConversion, queryId).storeAddress(address).endCell());
98
+ }
99
+ async sendChangeJettonWallet(provider, via, value, address, queryId = 0n) {
100
+ await this.send(provider, via, value, header(OP.changeJettonWallet, queryId).storeAddress(address).endCell());
101
+ }
102
+ async sendChangeStaking(provider, via, value, address, queryId = 0n) {
103
+ await this.send(provider, via, value, header(OP.changeStaking, queryId).storeAddress(address).endCell());
104
+ }
105
+ async sendChangeContentFee(provider, via, value, fee, queryId = 0n) {
106
+ await this.send(provider, via, value, header(OP.changeContentFee, queryId).storeCoins(fee).endCell());
107
+ }
108
+ async sendSetData(provider, via, value, data, queryId = 0n) {
109
+ await this.send(provider, via, value, header(OP.setData, queryId).storeRef(data).endCell());
110
+ }
111
+ async sendSetCode(provider, via, value, code, queryId = 0n) {
112
+ await this.send(provider, via, value, header(OP.setCode, queryId).storeRef(code).endCell());
113
+ }
114
+ async sendChangeHost(provider, via, value, host, queryId = 0n) {
115
+ await this.send(provider, via, value, header(OP.changeHost, queryId).storeRef(host).endCell());
116
+ }
117
+ };
118
+ function buildJVaultFloatingPoolsAdminData(config) {
119
+ return beginCell().storeCoins(config.creationFee).storeCoins(config.changeFee).storeAddress(config.stakingAddress).storeAddress(config.stakingWalletAddress).storeRef(config.sharecomsCode).storeRef(config.stakingPoolCode).storeRef(config.nftItemCode).storeRef(beginCell().storeAddress(config.teamAddress).storeAddress(config.conversionAddress).storeRef(config.host).storeRef(config.jvtNftCode).endCell()).endCell();
120
+ }
121
+ var JVaultFixedPoolsAdmin = class JVaultFixedPoolsAdmin extends JVaultPoolsAdminBase {
122
+ static createFromAddress(address) {
123
+ return new JVaultFixedPoolsAdmin(address);
124
+ }
125
+ static createFromConfig(config, code, workchain = 0) {
126
+ const init = {
127
+ code,
128
+ data: buildJVaultFixedPoolsAdminData(config)
129
+ };
130
+ return new JVaultFixedPoolsAdmin(contractAddress(workchain, init), init);
131
+ }
132
+ };
133
+ var JVaultFloatingPoolsAdmin = class JVaultFloatingPoolsAdmin extends JVaultPoolsAdminBase {
134
+ static createFromAddress(address) {
135
+ return new JVaultFloatingPoolsAdmin(address);
136
+ }
137
+ static createFromConfig(config, code, workchain = 0) {
138
+ const init = {
139
+ code,
140
+ data: buildJVaultFloatingPoolsAdminData(config)
141
+ };
142
+ return new JVaultFloatingPoolsAdmin(contractAddress(workchain, init), init);
143
+ }
144
+ };
145
+ function buildJVaultSharecomsData(config) {
146
+ const nfts = Dictionary.empty(Dictionary.Keys.BigUint(256), {
147
+ serialize: (value, builder) => builder.storeUint(value, 32),
148
+ parse: (slice) => slice.loadUint(32)
149
+ });
150
+ const commissions = Dictionary.empty(Dictionary.Keys.Uint(32), {
151
+ serialize: (value, builder) => builder.storeUint(value, 256),
152
+ parse: (slice) => slice.loadUintBig(256)
153
+ });
154
+ return beginCell().storeAddress(config.poolAddress).storeAddress(config.poolAdminAddress).storeUint(config.lastCommissionTime ?? 0, 32).storeCoins(config.allCommissions ?? 0n).storeRef(beginCell().storeAddress(config.stakingAddress).storeAddress(config.jettonWalletAddress).storeBit(0).endCell()).storeRef(config.nftItemCode).storeDict(nfts).storeUint(0, 16).storeDict(commissions).endCell();
155
+ }
156
+ var JVaultFloatingSharecoms = class JVaultFloatingSharecoms extends ContractWrapper {
157
+ static createFromAddress(address) {
158
+ return new JVaultFloatingSharecoms(address);
159
+ }
160
+ static createFromConfig(config, code, workchain = 0) {
161
+ const init = {
162
+ code,
163
+ data: buildJVaultSharecomsData(config)
164
+ };
165
+ return new JVaultFloatingSharecoms(contractAddress(workchain, init), init);
166
+ }
167
+ async getJettonWalletAddress(provider) {
168
+ return (await this.get(provider, "get_jetton_wallet_adress")).readAddress();
169
+ }
170
+ async getCommissionsPerDivider(provider) {
171
+ return (await this.get(provider, "get_commissions_per_devider")).readBigNumber();
172
+ }
173
+ async getLastClaimedCommissionTime(provider, nftId) {
174
+ return (await this.get(provider, "get_last_claimed_commission_time", [{
175
+ type: "int",
176
+ value: nftId
177
+ }])).readBigNumber();
178
+ }
179
+ async getClaimableCommissionsByTime(provider, time, stakedJvt) {
180
+ return (await this.get(provider, "get_claimable_commissions_by_time", [{
181
+ type: "int",
182
+ value: time
183
+ }, {
184
+ type: "int",
185
+ value: stakedJvt
186
+ }])).readBigNumber();
187
+ }
188
+ async getDicts(provider) {
189
+ const stack = await this.get(provider, "get_dicts");
190
+ return {
191
+ nfts: stack.readCell(),
192
+ commissions: stack.readCell()
193
+ };
194
+ }
195
+ async getStorageData(provider) {
196
+ const stack = await this.get(provider, "get_storage_data");
197
+ return {
198
+ pool: stack.readAddress(),
199
+ poolAdmin: stack.readAddress(),
200
+ lastCommissionTime: stack.readBigNumber(),
201
+ allCommissions: stack.readBigNumber(),
202
+ staking: stack.readAddress(),
203
+ jettonWallet: stack.readAddress(),
204
+ jettonWalletSet: stack.readBoolean(),
205
+ nftItemCode: stack.readCell(),
206
+ nfts: stack.readCell(),
207
+ nftCount: stack.readNumber(),
208
+ commissions: stack.readCell()
209
+ };
210
+ }
211
+ async getVersion(provider) {
212
+ return (await this.get(provider, "get_version")).readNumber();
213
+ }
214
+ async sendWithdrawJetton(provider, via, value, jettonWallet, amount, queryId = 0n) {
215
+ await this.send(provider, via, value, header(OP.withdrawJetton, queryId).storeAddress(jettonWallet).storeCoins(amount).endCell());
216
+ }
217
+ async sendWithdrawTon(provider, via, value, queryId = 0n) {
218
+ await this.send(provider, via, value, header(OP.withdrawTon, queryId).endCell());
219
+ }
220
+ async sendSetJettonWallet(provider, via, value, address, queryId = 0n) {
221
+ await this.send(provider, via, value, header(OP.takeWalletAddress, queryId).storeAddress(address).endCell());
222
+ }
223
+ };
224
+ function buildJVaultSbtItemData(config) {
225
+ return beginCell().storeUint(config.index, 64).storeAddress(config.collection).endCell();
226
+ }
227
+ var JVaultSbtSingle = class JVaultSbtSingle extends ContractWrapper {
228
+ static createFromAddress(address) {
229
+ return new JVaultSbtSingle(address);
230
+ }
231
+ static createFromConfig(config, code, workchain = 0) {
232
+ const init = {
233
+ code,
234
+ data: buildJVaultSbtItemData(config)
235
+ };
236
+ return new JVaultSbtSingle(contractAddress(workchain, init), init);
237
+ }
238
+ async sendDeploy(provider, via, value, owner, content, authority) {
239
+ await this.send(provider, via, value, beginCell().storeAddress(owner).storeRef(content).storeAddress(authority ?? null).endCell());
240
+ }
241
+ async sendProveOwnership(provider, via, value, destination, forwardPayload, withContent, queryId = 0n) {
242
+ await this.send(provider, via, value, header(OP.proveOwnership, queryId).storeAddress(destination).storeRef(forwardPayload).storeBit(withContent).endCell());
243
+ }
244
+ async sendBuyWhitelist(provider, via, value, destination, level, referral) {
245
+ if (!Number.isInteger(level) || level < 0 || level > 3) throw new RangeError("level must fit in uint2");
246
+ const payloadBuilder = beginCell().storeUint(level, 2);
247
+ if (referral) payloadBuilder.storeRef(beginCell().storeAddress(referral).endCell());
248
+ const payload = payloadBuilder.endCell();
249
+ await this.sendProveOwnership(provider, via, value, destination, payload, false);
250
+ }
251
+ async getNftData(provider) {
252
+ const stack = await this.get(provider, "get_nft_data");
253
+ return {
254
+ initialized: stack.readBoolean(),
255
+ index: stack.readBigNumber(),
256
+ collection: stack.readAddress(),
257
+ owner: stack.readAddressOpt(),
258
+ content: stack.readCell()
259
+ };
260
+ }
261
+ async getAuthorityAddress(provider) {
262
+ return (await this.get(provider, "get_authority_address")).readAddress();
263
+ }
264
+ async getRevokedTime(provider) {
265
+ return (await this.get(provider, "get_revoked_time")).readBigNumber();
266
+ }
267
+ };
268
+ //#endregion
269
+ export { JVAULT_SUPPORT_SOURCE_REVISIONS, JVaultFixedPoolsAdmin, JVaultFloatingPoolsAdmin, JVaultFloatingSharecoms, JVaultSbtSingle, buildJVaultFixedPoolsAdminData, buildJVaultFloatingPoolsAdminData, buildJVaultSbtItemData, buildJVaultSharecomsData };
@@ -0,0 +1,123 @@
1
+ import { ContractWrapper } from "./base.mjs";
2
+ import { Address, Cell, ContractProvider, Sender } from "@ton/core";
3
+ //#region src/contracts/wrappers/jvault.d.ts
4
+ /** JVault staking-v2 source: https://github.com/JVault-app/staking-v2 */
5
+ export declare const JVAULT_STAKING_V2_COMMIT = "f7e83860ba7138c88bf63da13884f54d04589191";
6
+ export declare const JVAULT_OPCODES: {
7
+ readonly transferJetton: 260734629;
8
+ readonly claimRewards: 2027548937;
9
+ readonly unstakeJettons: 1234866786;
10
+ readonly unstakeRequest: 23647415;
11
+ readonly cancelUnstakeRequest: 2760970010;
12
+ readonly addRewardJettons: 275213031;
13
+ readonly addRewards: 3675696277;
14
+ readonly claimCommissions: 3165188199;
15
+ readonly claimReferralRewards: 2027548937;
16
+ readonly deployNewPool: 3666222871;
17
+ readonly setLockWallet: 3513996288;
18
+ readonly deployReferrerWallets: 3736195191;
19
+ readonly changeCreationFee: 1725256331;
20
+ readonly changeContent: 247632384;
21
+ readonly updatePoolsCode: 3736195208;
22
+ readonly updateCodes: 2244551631;
23
+ readonly sendWithdrawTon: 3854050959;
24
+ readonly requestUpdateReferrer: 1438866240;
25
+ readonly sendReferrerRewards: 3087954386;
26
+ readonly updateReferrer: 124708064;
27
+ readonly upgradeReferrerWallet: 2529429272;
28
+ readonly setData: 942936554;
29
+ };
30
+ export interface JVaultStakeForwardPayload {
31
+ readonly lockPeriodDays: number;
32
+ readonly referrer?: Address | null;
33
+ }
34
+ export declare function buildJVaultStakeForwardPayload(input: JVaultStakeForwardPayload): Cell;
35
+ export interface JVaultStakeBody {
36
+ readonly jettonAmount: bigint;
37
+ readonly pool: Address;
38
+ readonly owner: Address;
39
+ readonly lockPeriodDays: number;
40
+ readonly referrer?: Address | null;
41
+ readonly queryId?: bigint;
42
+ }
43
+ export declare function buildJVaultStakeBody(input: JVaultStakeBody): Cell;
44
+ export interface JVaultAddRewardsBody {
45
+ readonly jettonAmount: bigint;
46
+ readonly pool: Address;
47
+ readonly owner: Address;
48
+ readonly startTime: number;
49
+ readonly endTime: number;
50
+ readonly queryId?: bigint;
51
+ }
52
+ export declare function buildJVaultAddRewardsBody(input: JVaultAddRewardsBody): Cell;
53
+ export interface JVaultDeployPoolPeriod {
54
+ readonly days: number;
55
+ readonly tvlLimit: bigint | null;
56
+ readonly rewardMultiplierPerMille: number;
57
+ readonly depositCommissionBps: number;
58
+ readonly unstakeCommissionBps: number;
59
+ }
60
+ export interface JVaultDeployPoolPayload {
61
+ readonly factory: Address;
62
+ readonly lockJettonMaster: Address;
63
+ readonly sender: Address;
64
+ readonly poolName: string;
65
+ readonly jettonSymbol: string;
66
+ readonly jettonFullName: string;
67
+ readonly jettonDecimals: number;
68
+ readonly minDeposit: bigint;
69
+ readonly maxDeposit: bigint | null;
70
+ readonly periods: readonly JVaultDeployPoolPeriod[];
71
+ readonly whitelist?: readonly Address[];
72
+ readonly rewardsCommissionBps: number;
73
+ readonly creationFee: bigint;
74
+ readonly imageUrl: string;
75
+ readonly queryId?: bigint;
76
+ }
77
+ /** Encodes PoolFactory::deploy_new_pool from staking-v2/functions.fc. */
78
+ export declare function buildJVaultDeployPoolBody(input: JVaultDeployPoolPayload): Cell;
79
+ export declare class JVaultStakingPool extends ContractWrapper {
80
+ static createFromAddress(address: Address): JVaultStakingPool;
81
+ static createFromConfig(config: {
82
+ code: Cell;
83
+ data: Cell;
84
+ }, workchain?: number): JVaultStakingPool;
85
+ sendAddRewardJettons(provider: ContractProvider, via: Sender, wallets: readonly Address[], value: bigint, queryIdValue?: bigint): Promise<void>;
86
+ sendAddRewards(provider: ContractProvider, via: Sender, input: JVaultAddRewardsBody, value: bigint): Promise<void>;
87
+ sendClaimCommissions(provider: ContractProvider, via: Sender, value: bigint, queryIdValue?: bigint): Promise<void>;
88
+ sendSetLockWallet(provider: ContractProvider, via: Sender, wallet: Address, value: bigint, queryIdValue?: bigint): Promise<void>;
89
+ getStorageData(provider: ContractProvider): Promise<import("@ton/core").TupleReader>;
90
+ getStakeWalletAddress(provider: ContractProvider, owner: Address, lockPeriodSeconds: number): Promise<Address>;
91
+ }
92
+ export declare class JVaultStakeWallet extends ContractWrapper {
93
+ static createFromAddress(address: Address): JVaultStakeWallet;
94
+ sendUnstakeRequest(provider: ContractProvider, via: Sender, amount: bigint, value: bigint, queryIdValue?: bigint): Promise<void>;
95
+ sendUnstake(provider: ContractProvider, via: Sender, amount: bigint, force: boolean, value: bigint, queryIdValue?: bigint): Promise<void>;
96
+ sendCancelUnstake(provider: ContractProvider, via: Sender, requestTimes: readonly number[], value: bigint, queryIdValue?: bigint): Promise<void>;
97
+ sendClaimRewards(provider: ContractProvider, via: Sender, poolJettonWallets: readonly Address[], value: bigint, queryIdValue?: bigint): Promise<void>;
98
+ getStorageData(provider: ContractProvider): Promise<import("@ton/core").TupleReader>;
99
+ }
100
+ export declare class JVaultPoolFactory extends ContractWrapper {
101
+ static createFromAddress(address: Address): JVaultPoolFactory;
102
+ sendDeployPool(provider: ContractProvider, via: Sender, payload: Cell, value: bigint): Promise<void>;
103
+ sendDeployPoolBody(provider: ContractProvider, via: Sender, input: JVaultDeployPoolPayload, value: bigint): Promise<void>;
104
+ sendDeployReferrerWallets(provider: ContractProvider, via: Sender, owners: readonly Address[], value: bigint, queryIdValue?: bigint): Promise<void>;
105
+ getStorageData(provider: ContractProvider): Promise<import("@ton/core").TupleReader>;
106
+ getPoolAddressByIndex(provider: ContractProvider, index: number): Promise<Address>;
107
+ }
108
+ export declare class JVaultReferrerWallet extends ContractWrapper {
109
+ static createFromAddress(address: Address): JVaultReferrerWallet;
110
+ sendClaimRewards(provider: ContractProvider, via: Sender, entries: readonly JVaultReferralClaimEntry[], value: bigint, queryIdValue?: bigint): Promise<void>;
111
+ getStorageData(provider: ContractProvider): Promise<import("@ton/core").TupleReader>;
112
+ }
113
+ export interface JVaultReferralClaimEntry {
114
+ readonly poolId: number;
115
+ readonly poolJettonWallets: readonly Address[];
116
+ }
117
+ /** Encodes ReferrerWallet::claim_rewards' HashmapE(32, coins + wallet set). */
118
+ export declare function buildJVaultReferralClaimBody(entries: readonly JVaultReferralClaimEntry[], queryIdValue?: bigint): Cell;
119
+ export declare class JVaultInviteeWallet extends ContractWrapper {
120
+ static createFromAddress(address: Address): JVaultInviteeWallet;
121
+ getStorageData(provider: ContractProvider): Promise<import("@ton/core").TupleReader>;
122
+ }
123
+ //#endregion