@pizzaton/ton 0.0.0-stage → 0.1.0
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.
- package/CONTRACTS.md +239 -0
- package/README.md +481 -2
- package/dist/airdrop/index.d.mts +18 -0
- package/dist/airdrop/index.mjs +86 -0
- package/dist/connect/errors.d.mts +4 -0
- package/dist/connect/errors.mjs +21 -0
- package/dist/connect/index.d.mts +23 -0
- package/dist/connect/index.mjs +34 -0
- package/dist/contracts/catalog/index.d.mts +361 -0
- package/dist/contracts/catalog/index.mjs +403 -0
- package/dist/contracts/client.d.mts +18 -0
- package/dist/contracts/client.mjs +31 -0
- package/dist/contracts/codecs.d.mts +14 -0
- package/dist/contracts/codecs.mjs +61 -0
- package/dist/contracts/hipo.d.mts +138 -0
- package/dist/contracts/hipo.mjs +198 -0
- package/dist/contracts/index.d.mts +23 -0
- package/dist/contracts/index.mjs +20 -0
- package/dist/contracts/metadata.d.mts +38 -0
- package/dist/contracts/metadata.mjs +50 -0
- package/dist/contracts/module-client.d.mts +20 -0
- package/dist/contracts/module-client.mjs +34 -0
- package/dist/contracts/module.d.mts +8 -0
- package/dist/contracts/module.mjs +11 -0
- package/dist/contracts/wrappers/base.d.mts +18 -0
- package/dist/contracts/wrappers/base.mjs +31 -0
- package/dist/contracts/wrappers/index.d.mts +12 -0
- package/dist/contracts/wrappers/index.mjs +12 -0
- package/dist/contracts/wrappers/jvault-protocols.d.mts +206 -0
- package/dist/contracts/wrappers/jvault-protocols.mjs +432 -0
- package/dist/contracts/wrappers/jvault-support.d.mts +135 -0
- package/dist/contracts/wrappers/jvault-support.mjs +269 -0
- package/dist/contracts/wrappers/jvault.d.mts +123 -0
- package/dist/contracts/wrappers/jvault.mjs +258 -0
- package/dist/contracts/wrappers/memeland.d.mts +253 -0
- package/dist/contracts/wrappers/memeland.mjs +396 -0
- package/dist/contracts/wrappers/multix.d.mts +92 -0
- package/dist/contracts/wrappers/multix.mjs +156 -0
- package/dist/contracts/wrappers/pizzabox.d.mts +66 -0
- package/dist/contracts/wrappers/pizzabox.mjs +105 -0
- package/dist/contracts/wrappers/ton-raffles.d.mts +215 -0
- package/dist/contracts/wrappers/ton-raffles.mjs +398 -0
- package/dist/contracts/wrappers/tonresistor.d.mts +189 -0
- package/dist/contracts/wrappers/tonresistor.mjs +276 -0
- package/dist/core/address.d.mts +25 -0
- package/dist/core/address.mjs +45 -0
- package/dist/core/amount.d.mts +8 -0
- package/dist/core/amount.mjs +34 -0
- package/dist/core/bytes.d.mts +5 -0
- package/dist/core/bytes.mjs +18 -0
- package/dist/core/constants.d.mts +14 -0
- package/dist/core/constants.mjs +15 -0
- package/dist/core/errors.d.mts +9 -0
- package/dist/core/errors.mjs +16 -0
- package/dist/core/http.mjs +39 -0
- package/dist/core/index.d.mts +8 -0
- package/dist/core/index.mjs +8 -0
- package/dist/core/metadata.d.mts +12 -0
- package/dist/core/metadata.mjs +35 -0
- package/dist/core/network.d.mts +24 -0
- package/dist/core/network.mjs +41 -0
- package/dist/emulator/index.d.mts +20 -0
- package/dist/emulator/index.mjs +24 -0
- package/dist/index.d.mts +21 -0
- package/dist/index.mjs +19 -0
- package/dist/indexer/index.d.mts +90 -0
- package/dist/indexer/index.mjs +279 -0
- package/dist/jetton/details.d.mts +27 -0
- package/dist/jetton/details.mjs +116 -0
- package/dist/jetton/index.d.mts +54 -0
- package/dist/jetton/index.mjs +92 -0
- package/dist/jetton/versions.d.mts +12 -0
- package/dist/jetton/versions.mjs +50 -0
- package/dist/nft/collection.d.mts +57 -0
- package/dist/nft/collection.mjs +148 -0
- package/dist/nft/content.d.mts +34 -0
- package/dist/nft/content.mjs +142 -0
- package/dist/nft/index.d.mts +35 -0
- package/dist/nft/index.mjs +51 -0
- package/dist/nft/versions.d.mts +11 -0
- package/dist/nft/versions.mjs +29 -0
- package/dist/provider/index.d.mts +32 -0
- package/dist/provider/index.mjs +1 -0
- package/dist/react/index.d.mts +13 -0
- package/dist/react/index.mjs +48 -0
- package/dist/server/index.d.mts +11 -0
- package/dist/server/index.mjs +55 -0
- package/dist/simulation/index.d.mts +112 -0
- package/dist/simulation/index.mjs +310 -0
- package/dist/transactions/index.d.mts +33 -0
- package/dist/transactions/index.mjs +51 -0
- package/dist/vesting/index.d.mts +12 -0
- package/dist/vesting/index.mjs +25 -0
- package/dist/wallet/index.d.mts +23 -0
- package/dist/wallet/index.mjs +71 -0
- package/package.json +169 -5
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { invariant } from "../core/errors.mjs";
|
|
2
|
+
import { assertTonAmount } from "../core/amount.mjs";
|
|
3
|
+
import { JettonWalletContract } from "../jetton/index.mjs";
|
|
4
|
+
import { ContractWrapper } from "./wrappers/base.mjs";
|
|
5
|
+
import { Address, beginCell } from "@ton/core";
|
|
6
|
+
//#region src/contracts/wrappers/hipo.ts
|
|
7
|
+
/** Hipo Finance contract source revision pinned for this integration. */
|
|
8
|
+
const HIPO_CONTRACT_COMMIT = "f7ca3db515b72b0f8e3fe63ffc64ca749e9765e0";
|
|
9
|
+
const HIPO_OPCODES = {
|
|
10
|
+
depositCoins: 1027039654,
|
|
11
|
+
unstakeTokens: 1499400124
|
|
12
|
+
};
|
|
13
|
+
const HIPO_UNSTAKE_MODES = {
|
|
14
|
+
auto: 0,
|
|
15
|
+
instant: 1,
|
|
16
|
+
best: 2
|
|
17
|
+
};
|
|
18
|
+
const HIPO_MAINNET_ADDRESSES = {
|
|
19
|
+
treasury: "EQCLyZHP4Xe8fpchQz76O-_RmUhaVc_9BAoGyJrwJrcbz2eZ",
|
|
20
|
+
parent: "EQDPdq8xjAhytYqfGSX8KcFWIReCufsB9Wdg0pLlYSO_h76w",
|
|
21
|
+
hpoJetton: "EQDQEUr0LPi8m6D6F0Wrvuok7tZbAcr0yn2Y7hK291MMzMjM",
|
|
22
|
+
burner: "EQDcjZDWvotoVE0X4HSdt2pR3b2sBZ4XikzSVSdPiqdQMLRK"
|
|
23
|
+
};
|
|
24
|
+
/** Build Hipo's treasury deposit message from the pinned TL-B schema. */
|
|
25
|
+
function buildHipoDepositBody(input = {}) {
|
|
26
|
+
assertQueryId(input.queryId);
|
|
27
|
+
const coins = input.coins ?? 0n;
|
|
28
|
+
const ownershipAssignedAmount = input.ownershipAssignedAmount ?? 0n;
|
|
29
|
+
assertTonAmount(coins, "Hipo deposit amount");
|
|
30
|
+
assertTonAmount(ownershipAssignedAmount, "Hipo ownership-assigned amount");
|
|
31
|
+
return beginCell().storeUint(HIPO_OPCODES.depositCoins, 32).storeUint(input.queryId ?? 0n, 64).storeAddress(input.owner ?? null).storeCoins(coins).storeCoins(ownershipAssignedAmount).storeAddress(input.referrer ?? null).endCell();
|
|
32
|
+
}
|
|
33
|
+
/** Build the optional mode/notification payload from Hipo's integration ABI. */
|
|
34
|
+
function buildHipoUnstakeCustomPayload(input = {}) {
|
|
35
|
+
if (input.mode === void 0 && input.ownershipAssignedAmount === void 0) return null;
|
|
36
|
+
const mode = input.mode ?? HIPO_UNSTAKE_MODES.auto;
|
|
37
|
+
const ownershipAssignedAmount = input.ownershipAssignedAmount ?? 0n;
|
|
38
|
+
invariant(mode === HIPO_UNSTAKE_MODES.auto || mode === HIPO_UNSTAKE_MODES.instant || mode === HIPO_UNSTAKE_MODES.best, "INVALID_TRANSACTION", "Hipo unstake mode must be auto, instant, or best");
|
|
39
|
+
assertTonAmount(ownershipAssignedAmount, "Hipo ownership-assigned amount");
|
|
40
|
+
return beginCell().storeUint(mode, 4).storeCoins(ownershipAssignedAmount).endCell();
|
|
41
|
+
}
|
|
42
|
+
/** Build the Hipo-specific Jetton burn/unstake message. */
|
|
43
|
+
function buildHipoUnstakeBody(input) {
|
|
44
|
+
assertQueryId(input.queryId);
|
|
45
|
+
assertTonAmount(input.tokens, "Hipo unstake token amount");
|
|
46
|
+
invariant(input.tokens > 0n, "INVALID_AMOUNT", "Hipo unstake token amount must be greater than zero");
|
|
47
|
+
const customPayload = buildHipoUnstakeCustomPayload(input);
|
|
48
|
+
return beginCell().storeUint(HIPO_OPCODES.unstakeTokens, 32).storeUint(input.queryId ?? 0n, 64).storeCoins(input.tokens).storeAddress(input.returnExcess ?? null).storeMaybeRef(customPayload).endCell();
|
|
49
|
+
}
|
|
50
|
+
/** Decode Hipo's stable 24-field prefix and any known append-only tail fields. */
|
|
51
|
+
function parseHipoTreasuryState(stack) {
|
|
52
|
+
invariant(stack.remaining >= 24, "PROVIDER_ERROR", `Hipo treasury state returned ${stack.remaining} values; expected at least 24`);
|
|
53
|
+
const state = {
|
|
54
|
+
totalCoins: stack.readBigNumber(),
|
|
55
|
+
totalTokens: stack.readBigNumber(),
|
|
56
|
+
totalStaking: stack.readBigNumber(),
|
|
57
|
+
totalUnstaking: stack.readBigNumber(),
|
|
58
|
+
totalBorrowersStake: stack.readBigNumber(),
|
|
59
|
+
deficit: stack.readBigNumber(),
|
|
60
|
+
parent: stack.readAddressOpt(),
|
|
61
|
+
participations: stack.readCellOpt(),
|
|
62
|
+
roundsImbalance: stack.readBigNumber(),
|
|
63
|
+
stopped: stack.readBoolean(),
|
|
64
|
+
instantMint: stack.readBoolean(),
|
|
65
|
+
loanCodes: stack.readCell(),
|
|
66
|
+
previousRate: stack.readBigNumber(),
|
|
67
|
+
currentRate: stack.readBigNumber(),
|
|
68
|
+
windowDuration: stack.readBigNumber(),
|
|
69
|
+
lastSettledRound: stack.readBigNumber(),
|
|
70
|
+
halter: stack.readAddress(),
|
|
71
|
+
governor: stack.readAddress(),
|
|
72
|
+
proposedGovernor: stack.readCellOpt(),
|
|
73
|
+
governanceFee: stack.readBigNumber(),
|
|
74
|
+
borrowerFee: stack.readBigNumber(),
|
|
75
|
+
collectionCodes: stack.readCell(),
|
|
76
|
+
billCodes: stack.readCell(),
|
|
77
|
+
oldParents: stack.readCellOpt()
|
|
78
|
+
};
|
|
79
|
+
const tail = {};
|
|
80
|
+
if (stack.remaining >= 2) {
|
|
81
|
+
tail.midRate = stack.readBigNumber();
|
|
82
|
+
tail.midRound = stack.readBigNumber();
|
|
83
|
+
}
|
|
84
|
+
if (stack.remaining > 0) tail.rewardShare = stack.readBigNumber();
|
|
85
|
+
if (stack.remaining > 0) tail.totalRequestFees = stack.readBigNumber();
|
|
86
|
+
if (stack.remaining > 0) tail.minEfficiency = stack.readBigNumber();
|
|
87
|
+
if (stack.remaining > 0) tail.minRequestStake = stack.readBigNumber();
|
|
88
|
+
if (stack.remaining > 0) tail.stakeCapFloor = stack.readBigNumber();
|
|
89
|
+
return {
|
|
90
|
+
...state,
|
|
91
|
+
...tail,
|
|
92
|
+
unknownAppendValueCount: stack.remaining
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/** Hipo's liquid-staking treasury. */
|
|
96
|
+
var HipoTreasury = class HipoTreasury extends ContractWrapper {
|
|
97
|
+
constructor(address) {
|
|
98
|
+
super(address);
|
|
99
|
+
}
|
|
100
|
+
static createFromAddress(address) {
|
|
101
|
+
return new HipoTreasury(address);
|
|
102
|
+
}
|
|
103
|
+
static createMainnet() {
|
|
104
|
+
return HipoTreasury.createFromAddress(Address.parse(HIPO_MAINNET_ADDRESSES.treasury));
|
|
105
|
+
}
|
|
106
|
+
async sendDepositCoins(provider, via, input, attachedValue) {
|
|
107
|
+
await this.send(provider, via, attachedValue, buildHipoDepositBody(input));
|
|
108
|
+
}
|
|
109
|
+
async getTreasuryState(provider) {
|
|
110
|
+
return parseHipoTreasuryState(await this.get(provider, "get_treasury_state"));
|
|
111
|
+
}
|
|
112
|
+
async getTreasuryFees(provider, ownershipAssignedAmount = 0n) {
|
|
113
|
+
assertTonAmount(ownershipAssignedAmount, "Hipo ownership-assigned amount");
|
|
114
|
+
const stack = await this.get(provider, "get_treasury_fees", [{
|
|
115
|
+
type: "int",
|
|
116
|
+
value: ownershipAssignedAmount
|
|
117
|
+
}]);
|
|
118
|
+
return {
|
|
119
|
+
requestLoanFee: stack.readBigNumber(),
|
|
120
|
+
depositCoinsFee: stack.readBigNumber(),
|
|
121
|
+
unstakeAllTokensFee: stack.readBigNumber()
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
/** hGRAM Jetton master/parent. */
|
|
126
|
+
var HipoParent = class HipoParent extends ContractWrapper {
|
|
127
|
+
constructor(address) {
|
|
128
|
+
super(address);
|
|
129
|
+
}
|
|
130
|
+
static createFromAddress(address) {
|
|
131
|
+
return new HipoParent(address);
|
|
132
|
+
}
|
|
133
|
+
static createMainnet() {
|
|
134
|
+
return HipoParent.createFromAddress(Address.parse(HIPO_MAINNET_ADDRESSES.parent));
|
|
135
|
+
}
|
|
136
|
+
async getWalletAddress(provider, owner) {
|
|
137
|
+
return (await this.get(provider, "get_wallet_address", [{
|
|
138
|
+
type: "slice",
|
|
139
|
+
cell: beginCell().storeAddress(owner).endCell()
|
|
140
|
+
}])).readAddress();
|
|
141
|
+
}
|
|
142
|
+
async getJettonData(provider) {
|
|
143
|
+
const stack = await this.get(provider, "get_jetton_data");
|
|
144
|
+
return {
|
|
145
|
+
totalSupply: stack.readBigNumber(),
|
|
146
|
+
mintable: stack.readBoolean(),
|
|
147
|
+
adminAddress: stack.readAddress(),
|
|
148
|
+
content: stack.readCell(),
|
|
149
|
+
walletCode: stack.readCell()
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
/** User hGRAM Jetton wallet; unstake messages are sent by the wallet owner. */
|
|
154
|
+
var HipoWallet = class HipoWallet extends ContractWrapper {
|
|
155
|
+
jettonWallet;
|
|
156
|
+
constructor(address) {
|
|
157
|
+
super(address);
|
|
158
|
+
this.jettonWallet = JettonWalletContract.create(address);
|
|
159
|
+
}
|
|
160
|
+
static createFromAddress(address) {
|
|
161
|
+
return new HipoWallet(address);
|
|
162
|
+
}
|
|
163
|
+
async getBalance(provider) {
|
|
164
|
+
return this.jettonWallet.getBalance(provider);
|
|
165
|
+
}
|
|
166
|
+
async getWalletData(provider) {
|
|
167
|
+
return this.jettonWallet.getWalletData(provider);
|
|
168
|
+
}
|
|
169
|
+
async sendTransfer(provider, via, input, attachedValue) {
|
|
170
|
+
await this.jettonWallet.sendTransfer(provider, via, input, attachedValue);
|
|
171
|
+
}
|
|
172
|
+
async getWalletState(provider) {
|
|
173
|
+
const stack = await this.get(provider, "get_wallet_state");
|
|
174
|
+
return {
|
|
175
|
+
tokens: stack.readBigNumber(),
|
|
176
|
+
staking: stack.readCellOpt(),
|
|
177
|
+
unstaking: stack.readBigNumber()
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
async getWalletFees(provider) {
|
|
181
|
+
const stack = await this.get(provider, "get_wallet_fees");
|
|
182
|
+
return {
|
|
183
|
+
sendTokensFee: stack.readBigNumber(),
|
|
184
|
+
unstakeTokensFee: stack.readBigNumber(),
|
|
185
|
+
upgradeWalletFee: stack.readBigNumber(),
|
|
186
|
+
walletStorageFee: stack.readBigNumber()
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
async sendUnstakeTokens(provider, via, input, attachedValue) {
|
|
190
|
+
await this.send(provider, via, attachedValue, buildHipoUnstakeBody(input));
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
function assertQueryId(queryId) {
|
|
194
|
+
if (queryId === void 0) return;
|
|
195
|
+
invariant(queryId >= 0n && queryId < 1n << 64n, "INVALID_TRANSACTION", "Hipo query id must fit in an unsigned 64-bit integer");
|
|
196
|
+
}
|
|
197
|
+
//#endregion
|
|
198
|
+
export { HIPO_CONTRACT_COMMIT, HIPO_MAINNET_ADDRESSES, HIPO_OPCODES, HIPO_UNSTAKE_MODES, HipoParent, HipoTreasury, HipoWallet, buildHipoDepositBody, buildHipoUnstakeBody, buildHipoUnstakeCustomPayload, parseHipoTreasuryState };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ContractAuditReference, ContractDescriptor, ContractFamily, ContractProductionApproval, ContractReadiness, ContractSourceReference, UpgradePolicy, assertProductionApproved, createContractDescriptor } from "./metadata.mjs";
|
|
2
|
+
import { CONTRACT_CATALOG, ContractCatalogId, getContractDescriptor } from "./catalog/index.mjs";
|
|
3
|
+
import { ContractSendOptions, TonContractClient } from "./client.mjs";
|
|
4
|
+
import { addressFlagDictionary, crc32, uint256CoinsDictionary, uint32FlagDictionary } from "./codecs.mjs";
|
|
5
|
+
import { ContractModule, createContractModule } from "./module.mjs";
|
|
6
|
+
import { ContractModuleClient, ContractModuleClientOptions } from "./module-client.mjs";
|
|
7
|
+
import { Address, Cell, StateInit } from "@ton/core";
|
|
8
|
+
//#region src/contracts/index.d.ts
|
|
9
|
+
export interface TonContractModule<TConfig, TState, TAction> {
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly version: number;
|
|
12
|
+
createStateInit(config: TConfig): StateInit;
|
|
13
|
+
deriveAddress(config: TConfig): Address;
|
|
14
|
+
decodeState(data: Cell): TState;
|
|
15
|
+
buildMessage(action: TAction): Cell;
|
|
16
|
+
}
|
|
17
|
+
export interface ContractModuleRegistry {
|
|
18
|
+
register<TConfig, TState, TAction>(module: TonContractModule<TConfig, TState, TAction>): void;
|
|
19
|
+
get(id: string, version: number): TonContractModule<unknown, unknown, unknown> | undefined;
|
|
20
|
+
}
|
|
21
|
+
export declare function createContractModuleRegistry(): ContractModuleRegistry;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { CONTRACT_CATALOG, ContractAuditReference, ContractCatalogId, ContractDescriptor, ContractFamily, ContractModule, ContractModuleClient, ContractModuleClientOptions, ContractProductionApproval, ContractReadiness, ContractSendOptions, ContractSourceReference, TonContractClient, UpgradePolicy, addressFlagDictionary, assertProductionApproved, crc32, createContractDescriptor, createContractModule, getContractDescriptor, uint256CoinsDictionary, uint32FlagDictionary };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { assertProductionApproved, createContractDescriptor } from "./metadata.mjs";
|
|
2
|
+
import { CONTRACT_CATALOG, getContractDescriptor } from "./catalog/index.mjs";
|
|
3
|
+
import { TonContractClient } from "./client.mjs";
|
|
4
|
+
import { addressFlagDictionary, crc32, uint256CoinsDictionary, uint32FlagDictionary } from "./codecs.mjs";
|
|
5
|
+
import { createContractModule } from "./module.mjs";
|
|
6
|
+
import { ContractModuleClient } from "./module-client.mjs";
|
|
7
|
+
//#region src/contracts/index.ts
|
|
8
|
+
function createContractModuleRegistry() {
|
|
9
|
+
const modules = /* @__PURE__ */ new Map();
|
|
10
|
+
return {
|
|
11
|
+
register(module) {
|
|
12
|
+
const key = `${module.id}@${module.version}`;
|
|
13
|
+
if (modules.has(key)) throw new Error(`Contract module already registered: ${key}`);
|
|
14
|
+
modules.set(key, module);
|
|
15
|
+
},
|
|
16
|
+
get: (id, version) => modules.get(`${id}@${version}`)
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { CONTRACT_CATALOG, ContractModuleClient, TonContractClient, addressFlagDictionary, assertProductionApproved, crc32, createContractDescriptor, createContractModule, createContractModuleRegistry, getContractDescriptor, uint256CoinsDictionary, uint32FlagDictionary };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
//#region src/contracts/metadata.d.ts
|
|
2
|
+
export type ContractFamily = "airdrop" | "auction" | "launchpad" | "lending" | "locker" | "nft" | "proof" | "sale" | "staking" | "swap" | "token" | "vesting";
|
|
3
|
+
export type ContractReadiness = "official-reference" | "audit-evidence" | "experimental" | "research-only" | "production-approved";
|
|
4
|
+
export type UpgradePolicy = "immutable" | "admin-controlled" | "unknown";
|
|
5
|
+
export interface ContractSourceReference {
|
|
6
|
+
readonly repositoryUrl: string;
|
|
7
|
+
readonly commit: string;
|
|
8
|
+
readonly commitUrl: string;
|
|
9
|
+
readonly ref?: string;
|
|
10
|
+
readonly license?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ContractAuditReference {
|
|
13
|
+
readonly auditor: string;
|
|
14
|
+
readonly reportUrl: string;
|
|
15
|
+
readonly auditedCommits: readonly string[];
|
|
16
|
+
readonly scope: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ContractProductionApproval {
|
|
19
|
+
readonly approvedBy: string;
|
|
20
|
+
readonly approvedAt: string;
|
|
21
|
+
readonly sourceCommit: string;
|
|
22
|
+
readonly codeHash: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ContractDescriptor {
|
|
25
|
+
readonly id: string;
|
|
26
|
+
readonly version: number;
|
|
27
|
+
readonly family: ContractFamily;
|
|
28
|
+
readonly readiness: ContractReadiness;
|
|
29
|
+
readonly source: ContractSourceReference;
|
|
30
|
+
readonly upgradePolicy: UpgradePolicy;
|
|
31
|
+
readonly privilegedRoles: readonly string[];
|
|
32
|
+
readonly warnings: readonly string[];
|
|
33
|
+
readonly audit?: ContractAuditReference;
|
|
34
|
+
readonly productionApproval?: ContractProductionApproval;
|
|
35
|
+
}
|
|
36
|
+
export declare function createContractDescriptor(descriptor: ContractDescriptor): ContractDescriptor;
|
|
37
|
+
export declare function assertProductionApproved(descriptor: ContractDescriptor): void;
|
|
38
|
+
//#endregion
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//#region src/contracts/metadata.ts
|
|
2
|
+
const COMMIT_SHA = /^[0-9a-f]{40}$/i;
|
|
3
|
+
function createContractDescriptor(descriptor) {
|
|
4
|
+
if (!descriptor.id.trim()) throw new TypeError("Contract descriptor id cannot be empty");
|
|
5
|
+
if (!Number.isSafeInteger(descriptor.version) || descriptor.version < 1) throw new TypeError("Contract descriptor version must be a positive integer");
|
|
6
|
+
if (!isHttpsUrl(descriptor.source.repositoryUrl)) throw new TypeError("Contract repository URL must use HTTPS");
|
|
7
|
+
if (!COMMIT_SHA.test(descriptor.source.commit)) throw new TypeError("Contract source commit must be a full Git commit SHA");
|
|
8
|
+
if (!isHttpsUrl(descriptor.source.commitUrl)) throw new TypeError("Contract commit URL must use HTTPS");
|
|
9
|
+
if (descriptor.audit) {
|
|
10
|
+
if (!isHttpsUrl(descriptor.audit.reportUrl)) throw new TypeError("Contract audit URL must use HTTPS");
|
|
11
|
+
if (descriptor.audit.auditedCommits.some((commit) => !COMMIT_SHA.test(commit))) throw new TypeError("Audited commits must be full Git commit SHAs");
|
|
12
|
+
}
|
|
13
|
+
if (descriptor.productionApproval) {
|
|
14
|
+
if (!descriptor.productionApproval.approvedBy.trim()) throw new TypeError("Production approval must identify an approver");
|
|
15
|
+
if (Number.isNaN(Date.parse(descriptor.productionApproval.approvedAt))) throw new TypeError("Production approval timestamp is invalid");
|
|
16
|
+
if (descriptor.productionApproval.sourceCommit !== descriptor.source.commit) throw new TypeError("Production approval must reference the descriptor source commit");
|
|
17
|
+
if (!descriptor.productionApproval.codeHash.trim()) throw new TypeError("Production approval must record the deployed code hash");
|
|
18
|
+
}
|
|
19
|
+
const source = {
|
|
20
|
+
...descriptor.source,
|
|
21
|
+
...descriptor.source.ref === void 0 ? {} : { ref: descriptor.source.ref },
|
|
22
|
+
...descriptor.source.license === void 0 ? {} : { license: descriptor.source.license }
|
|
23
|
+
};
|
|
24
|
+
const audit = descriptor.audit ? {
|
|
25
|
+
...descriptor.audit,
|
|
26
|
+
auditedCommits: Object.freeze([...descriptor.audit.auditedCommits])
|
|
27
|
+
} : void 0;
|
|
28
|
+
const productionApproval = descriptor.productionApproval ? Object.freeze({ ...descriptor.productionApproval }) : void 0;
|
|
29
|
+
const result = {
|
|
30
|
+
...descriptor,
|
|
31
|
+
source: Object.freeze(source),
|
|
32
|
+
privilegedRoles: Object.freeze([...descriptor.privilegedRoles]),
|
|
33
|
+
warnings: Object.freeze([...descriptor.warnings]),
|
|
34
|
+
...audit === void 0 ? {} : { audit: Object.freeze(audit) },
|
|
35
|
+
...productionApproval === void 0 ? {} : { productionApproval }
|
|
36
|
+
};
|
|
37
|
+
return Object.freeze(result);
|
|
38
|
+
}
|
|
39
|
+
function assertProductionApproved(descriptor) {
|
|
40
|
+
if (descriptor.readiness !== "production-approved" || descriptor.productionApproval === void 0) throw new Error(`Contract ${descriptor.id}@${descriptor.version} has no production approval. Add an explicitly reviewed production descriptor after artifact verification and audit.`);
|
|
41
|
+
}
|
|
42
|
+
function isHttpsUrl(value) {
|
|
43
|
+
try {
|
|
44
|
+
return new URL(value).protocol === "https:";
|
|
45
|
+
} catch {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
export { assertProductionApproved, createContractDescriptor };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ContractSendOptions } from "./client.mjs";
|
|
2
|
+
import { ContractModule } from "./module.mjs";
|
|
3
|
+
import { Address, Cell, Contract, ContractProvider, Sender, TupleItem } from "@ton/core";
|
|
4
|
+
//#region src/contracts/module-client.d.ts
|
|
5
|
+
export interface ContractModuleClientOptions<TContract extends Contract> {
|
|
6
|
+
readonly contract: TContract;
|
|
7
|
+
readonly provider: ContractProvider;
|
|
8
|
+
readonly sender?: Sender;
|
|
9
|
+
}
|
|
10
|
+
export declare class ContractModuleClient<TConfig, TState, TAction, TContract extends Contract = Contract> {
|
|
11
|
+
readonly module: ContractModule<TConfig, TState, TAction>;
|
|
12
|
+
private readonly client;
|
|
13
|
+
constructor(module: ContractModule<TConfig, TState, TAction>, options: ContractModuleClientOptions<TContract>);
|
|
14
|
+
get address(): Address;
|
|
15
|
+
buildMessage(action: TAction): Cell;
|
|
16
|
+
send(action: TAction, options: Omit<ContractSendOptions, "body">): Promise<void>;
|
|
17
|
+
get(method: string | number, args?: readonly TupleItem[]): Promise<import("@ton/core").TupleReader>;
|
|
18
|
+
withSender(sender: Sender): ContractModuleClient<TConfig, TState, TAction, TContract>;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { TonContractClient } from "./client.mjs";
|
|
2
|
+
//#region src/contracts/module-client.ts
|
|
3
|
+
var ContractModuleClient = class ContractModuleClient {
|
|
4
|
+
module;
|
|
5
|
+
client;
|
|
6
|
+
constructor(module, options) {
|
|
7
|
+
this.module = module;
|
|
8
|
+
this.client = new TonContractClient(options.contract, options.provider, options.sender);
|
|
9
|
+
}
|
|
10
|
+
get address() {
|
|
11
|
+
return this.client.contract.address;
|
|
12
|
+
}
|
|
13
|
+
buildMessage(action) {
|
|
14
|
+
return this.module.buildMessage(action);
|
|
15
|
+
}
|
|
16
|
+
async send(action, options) {
|
|
17
|
+
await this.client.send({
|
|
18
|
+
...options,
|
|
19
|
+
body: this.buildMessage(action)
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async get(method, args = []) {
|
|
23
|
+
return this.client.get(method, args);
|
|
24
|
+
}
|
|
25
|
+
withSender(sender) {
|
|
26
|
+
return new ContractModuleClient(this.module, {
|
|
27
|
+
contract: this.client.contract,
|
|
28
|
+
provider: this.client.provider,
|
|
29
|
+
sender
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
export { ContractModuleClient };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ContractDescriptor } from "./metadata.mjs";
|
|
2
|
+
import { TonContractModule } from "./index.mjs";
|
|
3
|
+
//#region src/contracts/module.d.ts
|
|
4
|
+
export interface ContractModule<TConfig, TState, TAction> extends TonContractModule<TConfig, TState, TAction> {
|
|
5
|
+
readonly descriptor: ContractDescriptor;
|
|
6
|
+
}
|
|
7
|
+
export declare function createContractModule<TConfig, TState, TAction>(module: TonContractModule<TConfig, TState, TAction>, descriptor: ContractDescriptor): ContractModule<TConfig, TState, TAction>;
|
|
8
|
+
//#endregion
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/contracts/module.ts
|
|
2
|
+
function createContractModule(module, descriptor) {
|
|
3
|
+
if (module.id !== descriptor.id) throw new TypeError(`Module id ${module.id} does not match descriptor id ${descriptor.id}`);
|
|
4
|
+
if (module.version !== descriptor.version) throw new TypeError(`Module version ${module.version} does not match descriptor version ${descriptor.version}`);
|
|
5
|
+
return Object.freeze({
|
|
6
|
+
...module,
|
|
7
|
+
descriptor
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { createContractModule };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Address, Cell, Contract, ContractProvider, Sender, StateInit, TupleItem, TupleReader } from "@ton/core";
|
|
2
|
+
//#region src/contracts/wrappers/base.d.ts
|
|
3
|
+
export type ContractInit = StateInit;
|
|
4
|
+
/**
|
|
5
|
+
* Common adapter for source-verified contracts.
|
|
6
|
+
*
|
|
7
|
+
* The protocol wrappers only describe a contract's wire format and public get
|
|
8
|
+
* methods. Sending, sender binding, bounce policy, and provider interaction are
|
|
9
|
+
* deliberately delegated to the shared @pizzaton/ton client.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class ContractWrapper implements Contract {
|
|
12
|
+
readonly address: Address;
|
|
13
|
+
readonly init?: ContractInit | undefined;
|
|
14
|
+
protected constructor(address: Address, init?: ContractInit | undefined);
|
|
15
|
+
protected send(provider: ContractProvider, via: Sender, value: bigint, body?: Cell, bounce?: boolean): Promise<void>;
|
|
16
|
+
protected get(provider: ContractProvider, method: string | number, args?: readonly TupleItem[]): Promise<TupleReader>;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { TonContractClient } from "../client.mjs";
|
|
2
|
+
import { Cell, SendMode } from "@ton/core";
|
|
3
|
+
//#region src/contracts/wrappers/base.ts
|
|
4
|
+
/**
|
|
5
|
+
* Common adapter for source-verified contracts.
|
|
6
|
+
*
|
|
7
|
+
* The protocol wrappers only describe a contract's wire format and public get
|
|
8
|
+
* methods. Sending, sender binding, bounce policy, and provider interaction are
|
|
9
|
+
* deliberately delegated to the shared @pizzaton/ton client.
|
|
10
|
+
*/
|
|
11
|
+
var ContractWrapper = class {
|
|
12
|
+
address;
|
|
13
|
+
init;
|
|
14
|
+
constructor(address, init) {
|
|
15
|
+
this.address = address;
|
|
16
|
+
this.init = init;
|
|
17
|
+
}
|
|
18
|
+
async send(provider, via, value, body = Cell.EMPTY, bounce = true) {
|
|
19
|
+
await new TonContractClient(this, provider, via).send({
|
|
20
|
+
value,
|
|
21
|
+
body,
|
|
22
|
+
bounce,
|
|
23
|
+
sendMode: SendMode.PAY_GAS_SEPARATELY
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
async get(provider, method, args = []) {
|
|
27
|
+
return new TonContractClient(this, provider).get(method, args);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export { ContractWrapper };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { uint256CoinsDictionary } from "../codecs.mjs";
|
|
2
|
+
import { ContractInit, ContractWrapper } from "./base.mjs";
|
|
3
|
+
import { HIPO_CONTRACT_COMMIT, HIPO_MAINNET_ADDRESSES, HIPO_OPCODES, HIPO_UNSTAKE_MODES, HipoDepositInput, HipoJettonData, HipoParent, HipoTreasury, HipoTreasuryFees, HipoTreasuryState, HipoUnstakeInput, HipoUnstakeMode, HipoWallet, HipoWalletFees, HipoWalletState, buildHipoDepositBody, buildHipoUnstakeBody, buildHipoUnstakeCustomPayload, parseHipoTreasuryState } from "../hipo.mjs";
|
|
4
|
+
import { JVAULT_OPCODES, JVAULT_STAKING_V2_COMMIT, JVaultAddRewardsBody, JVaultDeployPoolPayload, JVaultDeployPoolPeriod, JVaultInviteeWallet, JVaultPoolFactory, JVaultReferralClaimEntry, JVaultReferrerWallet, JVaultStakeBody, JVaultStakeForwardPayload, JVaultStakeWallet, JVaultStakingPool, buildJVaultAddRewardsBody, buildJVaultDeployPoolBody, buildJVaultReferralClaimBody, buildJVaultStakeBody, buildJVaultStakeForwardPayload } from "./jvault.mjs";
|
|
5
|
+
import { JVAULT_SOURCE_REVISIONS, JVaultAirdropMain, JVaultAirdropMainConfig, JVaultAirdropUser, JVaultAirdropUserConfig, JVaultFixedCollectionConfig, JVaultFixedStakingCollection, JVaultFixedStakingNftItem, JVaultFloatingStakingCollection, JVaultFloatingStakingNftItem, JVaultIcoSale, JVaultLaunchpadSftItem, JVaultRefWallet, JVaultRefWalletConfig, JVaultReferenceTerms, JVaultSaleAdmin, JVaultSftItemConfig, JVaultSftItemUpdate, JVaultVesting, JVaultVestingConfig, JVaultVestingFactory, JVaultVestingFactoryConfig, JettonAmountDictionary, buildJVaultAirdropMainData, buildJVaultAirdropUserData, buildJVaultFixedCollectionData, buildJVaultRefWalletData, buildJVaultReferenceDictionary, buildJVaultSftItemData, buildJVaultSftItemUpdateBody, buildJVaultVestingCodeDictionary, buildJVaultVestingData, buildJVaultVestingFactoryData } from "./jvault-protocols.mjs";
|
|
6
|
+
import { JVAULT_SUPPORT_SOURCE_REVISIONS, JVaultFixedPoolsAdmin, JVaultFixedPoolsAdminConfig, JVaultFloatingPoolsAdmin, JVaultFloatingPoolsAdminConfig, JVaultFloatingSharecoms, JVaultPoolAdminCodeUpdate, JVaultSbtItemDataConfig, JVaultSbtSingle, JVaultSharecomsConfig, buildJVaultFixedPoolsAdminData, buildJVaultFloatingPoolsAdminData, buildJVaultSbtItemData, buildJVaultSharecomsData } from "./jvault-support.mjs";
|
|
7
|
+
import { MEMELAND_CONTRACTS_COMMIT, MEMELAND_GAS, MEMELAND_OPCODES, MemelandBclData, MemelandBclFactory, MemelandBclJettonMinter, MemelandBclJettonWallet, MemelandBuyInput, MemelandDeployCoinInput, MemelandDeployCoinOptions, MemelandFactoryConfig, MemelandFactoryData, MemelandFeeCollector, MemelandFeeCollectorConfig, MemelandFeeConfig, MemelandFirstBuyInput, MemelandWalletConfig, buildMemelandBuyBody, buildMemelandDeployCoinBody, buildMemelandFactoryData, buildMemelandFeeCollectorData, buildMemelandReferralPayout, buildMemelandSellBody, buildMemelandUnlockBody, buildMemelandWalletData } from "./memeland.mjs";
|
|
8
|
+
import { MULTIX_DAO_COMMIT, MULTIX_OPCODES, MULTIX_STORAGE_COMMIT, MULTIX_STORAGE_OPCODES, MultixDaoConfig, MultixDaoContract, MultixStorageConfig, MultixStorageContract, MultixUnlockOptions, buildMultixStorageData, buildMultixUnlockOptions } from "./multix.mjs";
|
|
9
|
+
import { PIZZABOX_GAS, PIZZABOX_OPCODES, PizzaBoxLockBill, PizzaBoxLockStorage, PizzaBoxVestingMetadata, PizzaBoxVestingPayloadInput, buildPizzaBoxQuickLockPayload, buildPizzaBoxQuickUnlockBody, buildPizzaBoxVestingPayload, buildPizzaBoxVestingUnlockBody, readPizzaBoxVestingStorage } from "./pizzabox.mjs";
|
|
10
|
+
import { NftLaunchpadSaleConfig, PizzaTonJettonLockerBill, PizzaTonJettonLockerCollection, TON_RAFFLES_SOURCE_REVISIONS, TonRafflesAirdropEntry, TonRafflesAirdropHelper, TonRafflesAirdropHelperConfig, TonRafflesJettonPricedNftSale, TonRafflesJettonSaleConfig, TonRafflesJettonSalePrices, TonRafflesModernNftSale, TonRafflesModernSaleConfig, TonRafflesNftAuctionV2, TonRafflesNftItem, TonRafflesNftLaunchpadSale, TonRafflesNftLendingMaster, TonRafflesNftStakingHelper, TonRafflesNftStakingMaster, TonRafflesNftSwapV2, TonRafflesOffchainProofTask, TonRafflesScalableAirdrop, TonRafflesScalableAirdropConfig, TonRafflesShoppingCart, TonRafflesStakingHelperConfig, TonRafflesSwapAsset, buildNftLaunchpadSaleData, buildOffchainProofDataToSign, buildTonRafflesAirdropEntries, buildTonRafflesAirdropHelperData, buildTonRafflesJettonSaleData, buildTonRafflesJettonSalePrices, buildTonRafflesModernSaleData, buildTonRafflesScalableAirdropData, buildTonRafflesStakingHelperData } from "./ton-raffles.mjs";
|
|
11
|
+
import { TONRESISTOR_BONDING_CURVE_COMMIT, TONRESISTOR_OPCODES, TonResistorBondingCurve, TonResistorBondingCurveMaster, TonResistorCurveConfig, TonResistorCurveData, TonResistorForwardPayload, TonResistorJettonMinter, TonResistorJettonWallet, TonResistorJettonWalletConfig, TonResistorLaunchConfig, TonResistorMasterConfig, TonResistorMasterData, buildTonResistorCurveData, buildTonResistorJettonBurn, buildTonResistorJettonTransfer, buildTonResistorJettonWalletData, buildTonResistorLaunchConfig, buildTonResistorMasterData } from "./tonresistor.mjs";
|
|
12
|
+
export { ContractInit, ContractWrapper, HIPO_CONTRACT_COMMIT, HIPO_MAINNET_ADDRESSES, HIPO_OPCODES, HIPO_UNSTAKE_MODES, HipoDepositInput, HipoJettonData, HipoParent, HipoTreasury, HipoTreasuryFees, HipoTreasuryState, HipoUnstakeInput, HipoUnstakeMode, HipoWallet, HipoWalletFees, HipoWalletState, JVAULT_OPCODES, JVAULT_SOURCE_REVISIONS, JVAULT_STAKING_V2_COMMIT, JVAULT_SUPPORT_SOURCE_REVISIONS, JVaultAddRewardsBody, JVaultAirdropMain, JVaultAirdropMainConfig, JVaultAirdropUser, JVaultAirdropUserConfig, JVaultDeployPoolPayload, JVaultDeployPoolPeriod, JVaultFixedCollectionConfig, JVaultFixedPoolsAdmin, JVaultFixedPoolsAdminConfig, JVaultFixedStakingCollection, JVaultFixedStakingNftItem, JVaultFloatingPoolsAdmin, JVaultFloatingPoolsAdminConfig, JVaultFloatingSharecoms, JVaultFloatingStakingCollection, JVaultFloatingStakingNftItem, JVaultIcoSale, JVaultInviteeWallet, JVaultLaunchpadSftItem, JVaultPoolAdminCodeUpdate, JVaultPoolFactory, JVaultRefWallet, JVaultRefWalletConfig, JVaultReferenceTerms, JVaultReferralClaimEntry, JVaultReferrerWallet, JVaultSaleAdmin, JVaultSbtItemDataConfig, JVaultSbtSingle, JVaultSftItemConfig, JVaultSftItemUpdate, JVaultSharecomsConfig, JVaultStakeBody, JVaultStakeForwardPayload, JVaultStakeWallet, JVaultStakingPool, JVaultVesting, JVaultVestingConfig, JVaultVestingFactory, JVaultVestingFactoryConfig, JettonAmountDictionary, MEMELAND_CONTRACTS_COMMIT, MEMELAND_GAS, MEMELAND_OPCODES, MULTIX_DAO_COMMIT, MULTIX_OPCODES, MULTIX_STORAGE_COMMIT, MULTIX_STORAGE_OPCODES, MemelandBclData, MemelandBclFactory, MemelandBclJettonMinter, MemelandBclJettonWallet, MemelandBuyInput, MemelandDeployCoinInput, MemelandDeployCoinOptions, MemelandFactoryConfig, MemelandFactoryData, MemelandFeeCollector, MemelandFeeCollectorConfig, MemelandFeeConfig, MemelandFirstBuyInput, MemelandWalletConfig, MultixDaoConfig, MultixDaoContract, MultixStorageConfig, MultixStorageContract, MultixUnlockOptions, NftLaunchpadSaleConfig, PIZZABOX_GAS, PIZZABOX_OPCODES, PizzaBoxLockBill, PizzaBoxLockStorage, PizzaBoxVestingMetadata, PizzaBoxVestingPayloadInput, PizzaTonJettonLockerBill, PizzaTonJettonLockerCollection, TONRESISTOR_BONDING_CURVE_COMMIT, TONRESISTOR_OPCODES, TON_RAFFLES_SOURCE_REVISIONS, TonRafflesAirdropEntry, TonRafflesAirdropHelper, TonRafflesAirdropHelperConfig, TonRafflesJettonPricedNftSale, TonRafflesJettonSaleConfig, TonRafflesJettonSalePrices, TonRafflesModernNftSale, TonRafflesModernSaleConfig, TonRafflesNftAuctionV2, TonRafflesNftItem, TonRafflesNftLaunchpadSale, TonRafflesNftLendingMaster, TonRafflesNftStakingHelper, TonRafflesNftStakingMaster, TonRafflesNftSwapV2, TonRafflesOffchainProofTask, TonRafflesScalableAirdrop, TonRafflesScalableAirdropConfig, TonRafflesShoppingCart, TonRafflesStakingHelperConfig, TonRafflesSwapAsset, TonResistorBondingCurve, TonResistorBondingCurveMaster, TonResistorCurveConfig, TonResistorCurveData, TonResistorForwardPayload, TonResistorJettonMinter, TonResistorJettonWallet, TonResistorJettonWalletConfig, TonResistorLaunchConfig, TonResistorMasterConfig, TonResistorMasterData, buildHipoDepositBody, buildHipoUnstakeBody, buildHipoUnstakeCustomPayload, buildJVaultAddRewardsBody, buildJVaultAirdropMainData, buildJVaultAirdropUserData, buildJVaultDeployPoolBody, buildJVaultFixedCollectionData, buildJVaultFixedPoolsAdminData, buildJVaultFloatingPoolsAdminData, buildJVaultRefWalletData, buildJVaultReferenceDictionary, buildJVaultReferralClaimBody, buildJVaultSbtItemData, buildJVaultSftItemData, buildJVaultSftItemUpdateBody, buildJVaultSharecomsData, buildJVaultStakeBody, buildJVaultStakeForwardPayload, buildJVaultVestingCodeDictionary, buildJVaultVestingData, buildJVaultVestingFactoryData, buildMemelandBuyBody, buildMemelandDeployCoinBody, buildMemelandFactoryData, buildMemelandFeeCollectorData, buildMemelandReferralPayout, buildMemelandSellBody, buildMemelandUnlockBody, buildMemelandWalletData, buildMultixStorageData, buildMultixUnlockOptions, buildNftLaunchpadSaleData, buildOffchainProofDataToSign, buildPizzaBoxQuickLockPayload, buildPizzaBoxQuickUnlockBody, buildPizzaBoxVestingPayload, buildPizzaBoxVestingUnlockBody, buildTonRafflesAirdropEntries, buildTonRafflesAirdropHelperData, buildTonRafflesJettonSaleData, buildTonRafflesJettonSalePrices, buildTonRafflesModernSaleData, buildTonRafflesScalableAirdropData, buildTonRafflesStakingHelperData, buildTonResistorCurveData, buildTonResistorJettonBurn, buildTonResistorJettonTransfer, buildTonResistorJettonWalletData, buildTonResistorLaunchConfig, buildTonResistorMasterData, parseHipoTreasuryState, readPizzaBoxVestingStorage, uint256CoinsDictionary };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { uint256CoinsDictionary } from "../codecs.mjs";
|
|
2
|
+
import { ContractWrapper } from "./base.mjs";
|
|
3
|
+
import { HIPO_CONTRACT_COMMIT, HIPO_MAINNET_ADDRESSES, HIPO_OPCODES, HIPO_UNSTAKE_MODES, HipoParent, HipoTreasury, HipoWallet, buildHipoDepositBody, buildHipoUnstakeBody, buildHipoUnstakeCustomPayload, parseHipoTreasuryState } from "../hipo.mjs";
|
|
4
|
+
import { JVAULT_OPCODES, JVAULT_STAKING_V2_COMMIT, JVaultInviteeWallet, JVaultPoolFactory, JVaultReferrerWallet, JVaultStakeWallet, JVaultStakingPool, buildJVaultAddRewardsBody, buildJVaultDeployPoolBody, buildJVaultReferralClaimBody, buildJVaultStakeBody, buildJVaultStakeForwardPayload } from "./jvault.mjs";
|
|
5
|
+
import { JVAULT_SOURCE_REVISIONS, JVaultAirdropMain, JVaultAirdropUser, JVaultFixedStakingCollection, JVaultFixedStakingNftItem, JVaultFloatingStakingCollection, JVaultFloatingStakingNftItem, JVaultIcoSale, JVaultLaunchpadSftItem, JVaultRefWallet, JVaultSaleAdmin, JVaultVesting, JVaultVestingFactory, buildJVaultAirdropMainData, buildJVaultAirdropUserData, buildJVaultFixedCollectionData, buildJVaultRefWalletData, buildJVaultReferenceDictionary, buildJVaultSftItemData, buildJVaultSftItemUpdateBody, buildJVaultVestingCodeDictionary, buildJVaultVestingData, buildJVaultVestingFactoryData } from "./jvault-protocols.mjs";
|
|
6
|
+
import { JVAULT_SUPPORT_SOURCE_REVISIONS, JVaultFixedPoolsAdmin, JVaultFloatingPoolsAdmin, JVaultFloatingSharecoms, JVaultSbtSingle, buildJVaultFixedPoolsAdminData, buildJVaultFloatingPoolsAdminData, buildJVaultSbtItemData, buildJVaultSharecomsData } from "./jvault-support.mjs";
|
|
7
|
+
import { MEMELAND_CONTRACTS_COMMIT, MEMELAND_GAS, MEMELAND_OPCODES, MemelandBclFactory, MemelandBclJettonMinter, MemelandBclJettonWallet, MemelandFeeCollector, buildMemelandBuyBody, buildMemelandDeployCoinBody, buildMemelandFactoryData, buildMemelandFeeCollectorData, buildMemelandReferralPayout, buildMemelandSellBody, buildMemelandUnlockBody, buildMemelandWalletData } from "./memeland.mjs";
|
|
8
|
+
import { MULTIX_DAO_COMMIT, MULTIX_OPCODES, MULTIX_STORAGE_COMMIT, MULTIX_STORAGE_OPCODES, MultixDaoContract, MultixStorageContract, buildMultixStorageData, buildMultixUnlockOptions } from "./multix.mjs";
|
|
9
|
+
import { PIZZABOX_GAS, PIZZABOX_OPCODES, PizzaBoxLockBill, buildPizzaBoxQuickLockPayload, buildPizzaBoxQuickUnlockBody, buildPizzaBoxVestingPayload, buildPizzaBoxVestingUnlockBody, readPizzaBoxVestingStorage } from "./pizzabox.mjs";
|
|
10
|
+
import { PizzaTonJettonLockerBill, PizzaTonJettonLockerCollection, TON_RAFFLES_SOURCE_REVISIONS, TonRafflesAirdropHelper, TonRafflesJettonPricedNftSale, TonRafflesModernNftSale, TonRafflesNftAuctionV2, TonRafflesNftItem, TonRafflesNftLaunchpadSale, TonRafflesNftLendingMaster, TonRafflesNftStakingHelper, TonRafflesNftStakingMaster, TonRafflesNftSwapV2, TonRafflesOffchainProofTask, TonRafflesScalableAirdrop, TonRafflesShoppingCart, buildNftLaunchpadSaleData, buildOffchainProofDataToSign, buildTonRafflesAirdropEntries, buildTonRafflesAirdropHelperData, buildTonRafflesJettonSaleData, buildTonRafflesJettonSalePrices, buildTonRafflesModernSaleData, buildTonRafflesScalableAirdropData, buildTonRafflesStakingHelperData } from "./ton-raffles.mjs";
|
|
11
|
+
import { TONRESISTOR_BONDING_CURVE_COMMIT, TONRESISTOR_OPCODES, TonResistorBondingCurve, TonResistorBondingCurveMaster, TonResistorJettonMinter, TonResistorJettonWallet, buildTonResistorCurveData, buildTonResistorJettonBurn, buildTonResistorJettonTransfer, buildTonResistorJettonWalletData, buildTonResistorLaunchConfig, buildTonResistorMasterData } from "./tonresistor.mjs";
|
|
12
|
+
export { ContractWrapper, HIPO_CONTRACT_COMMIT, HIPO_MAINNET_ADDRESSES, HIPO_OPCODES, HIPO_UNSTAKE_MODES, HipoParent, HipoTreasury, HipoWallet, JVAULT_OPCODES, JVAULT_SOURCE_REVISIONS, JVAULT_STAKING_V2_COMMIT, JVAULT_SUPPORT_SOURCE_REVISIONS, JVaultAirdropMain, JVaultAirdropUser, JVaultFixedPoolsAdmin, JVaultFixedStakingCollection, JVaultFixedStakingNftItem, JVaultFloatingPoolsAdmin, JVaultFloatingSharecoms, JVaultFloatingStakingCollection, JVaultFloatingStakingNftItem, JVaultIcoSale, JVaultInviteeWallet, JVaultLaunchpadSftItem, JVaultPoolFactory, JVaultRefWallet, JVaultReferrerWallet, JVaultSaleAdmin, JVaultSbtSingle, JVaultStakeWallet, JVaultStakingPool, JVaultVesting, JVaultVestingFactory, MEMELAND_CONTRACTS_COMMIT, MEMELAND_GAS, MEMELAND_OPCODES, MULTIX_DAO_COMMIT, MULTIX_OPCODES, MULTIX_STORAGE_COMMIT, MULTIX_STORAGE_OPCODES, MemelandBclFactory, MemelandBclJettonMinter, MemelandBclJettonWallet, MemelandFeeCollector, MultixDaoContract, MultixStorageContract, PIZZABOX_GAS, PIZZABOX_OPCODES, PizzaBoxLockBill, PizzaTonJettonLockerBill, PizzaTonJettonLockerCollection, TONRESISTOR_BONDING_CURVE_COMMIT, TONRESISTOR_OPCODES, TON_RAFFLES_SOURCE_REVISIONS, TonRafflesAirdropHelper, TonRafflesJettonPricedNftSale, TonRafflesModernNftSale, TonRafflesNftAuctionV2, TonRafflesNftItem, TonRafflesNftLaunchpadSale, TonRafflesNftLendingMaster, TonRafflesNftStakingHelper, TonRafflesNftStakingMaster, TonRafflesNftSwapV2, TonRafflesOffchainProofTask, TonRafflesScalableAirdrop, TonRafflesShoppingCart, TonResistorBondingCurve, TonResistorBondingCurveMaster, TonResistorJettonMinter, TonResistorJettonWallet, buildHipoDepositBody, buildHipoUnstakeBody, buildHipoUnstakeCustomPayload, buildJVaultAddRewardsBody, buildJVaultAirdropMainData, buildJVaultAirdropUserData, buildJVaultDeployPoolBody, buildJVaultFixedCollectionData, buildJVaultFixedPoolsAdminData, buildJVaultFloatingPoolsAdminData, buildJVaultRefWalletData, buildJVaultReferenceDictionary, buildJVaultReferralClaimBody, buildJVaultSbtItemData, buildJVaultSftItemData, buildJVaultSftItemUpdateBody, buildJVaultSharecomsData, buildJVaultStakeBody, buildJVaultStakeForwardPayload, buildJVaultVestingCodeDictionary, buildJVaultVestingData, buildJVaultVestingFactoryData, buildMemelandBuyBody, buildMemelandDeployCoinBody, buildMemelandFactoryData, buildMemelandFeeCollectorData, buildMemelandReferralPayout, buildMemelandSellBody, buildMemelandUnlockBody, buildMemelandWalletData, buildMultixStorageData, buildMultixUnlockOptions, buildNftLaunchpadSaleData, buildOffchainProofDataToSign, buildPizzaBoxQuickLockPayload, buildPizzaBoxQuickUnlockBody, buildPizzaBoxVestingPayload, buildPizzaBoxVestingUnlockBody, buildTonRafflesAirdropEntries, buildTonRafflesAirdropHelperData, buildTonRafflesJettonSaleData, buildTonRafflesJettonSalePrices, buildTonRafflesModernSaleData, buildTonRafflesScalableAirdropData, buildTonRafflesStakingHelperData, buildTonResistorCurveData, buildTonResistorJettonBurn, buildTonResistorJettonTransfer, buildTonResistorJettonWalletData, buildTonResistorLaunchConfig, buildTonResistorMasterData, parseHipoTreasuryState, readPizzaBoxVestingStorage, uint256CoinsDictionary };
|