@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.
- package/.prettierrc +11 -0
- package/Refactoring.md +548 -0
- package/dist/_compiled/Account.compiled.json +1 -0
- package/dist/_compiled/Receipt.compiled.json +1 -0
- package/dist/_compiled/WTONWallet.compiled.json +1 -0
- package/dist/_compiled/index.d.ts +4 -0
- package/dist/_compiled/index.js +12 -0
- package/dist/affluent.d.ts +14 -0
- package/dist/affluent.js +20 -0
- package/dist/constants/constants.d.ts +2 -0
- package/dist/constants/constants.js +5 -0
- package/dist/constants/contracts.d.ts +9 -0
- package/dist/constants/contracts.js +18 -0
- package/dist/context.d.ts +43 -0
- package/dist/context.js +90 -0
- package/dist/contracts/common/type.d.ts +16 -0
- package/dist/contracts/common/type.js +2 -0
- package/dist/contracts/common/utils.d.ts +3 -0
- package/dist/contracts/common/utils.js +16 -0
- package/dist/contracts/core/account/index.d.ts +38 -0
- package/dist/contracts/core/account/index.js +128 -0
- package/dist/contracts/core/account/type.d.ts +18 -0
- package/dist/contracts/core/account/type.js +2 -0
- package/dist/contracts/core/pool/index.d.ts +149 -0
- package/dist/contracts/core/pool/index.js +379 -0
- package/dist/contracts/core/pool/serializer.d.ts +15 -0
- package/dist/contracts/core/pool/serializer.js +307 -0
- package/dist/contracts/core/pool/type.d.ts +136 -0
- package/dist/contracts/core/pool/type.js +2 -0
- package/dist/contracts/dedust-farm/MockDedustFarm.d.ts +41 -0
- package/dist/contracts/dedust-farm/MockDedustFarm.js +79 -0
- package/dist/contracts/external/tonstaker.d.ts +18 -0
- package/dist/contracts/external/tonstaker.js +26 -0
- package/dist/contracts/factory/factory.d.ts +24 -0
- package/dist/contracts/factory/factory.js +58 -0
- package/dist/contracts/factory/type.d.ts +11 -0
- package/dist/contracts/factory/type.js +2 -0
- package/dist/contracts/farm/distributor.d.ts +43 -0
- package/dist/contracts/farm/distributor.js +83 -0
- package/dist/contracts/farm/receipt.d.ts +40 -0
- package/dist/contracts/farm/receipt.js +68 -0
- package/dist/contracts/irm/jump-irm/serializer.d.ts +4 -0
- package/dist/contracts/irm/jump-irm/serializer.js +26 -0
- package/dist/contracts/irm/jump-irm/type.d.ts +8 -0
- package/dist/contracts/irm/jump-irm/type.js +2 -0
- package/dist/contracts/jetton/jetton-minter.d.ts +23 -0
- package/dist/contracts/jetton/jetton-minter.js +46 -0
- package/dist/contracts/jetton/jetton-wallet.d.ts +67 -0
- package/dist/contracts/jetton/jetton-wallet.js +119 -0
- package/dist/contracts/jetton/type.d.ts +7 -0
- package/dist/contracts/jetton/type.js +2 -0
- package/dist/contracts/liquid_token/dedust/minter.d.ts +56 -0
- package/dist/contracts/liquid_token/dedust/minter.js +112 -0
- package/dist/contracts/liquid_token/dedust/wallet.d.ts +127 -0
- package/dist/contracts/liquid_token/dedust/wallet.js +213 -0
- package/dist/contracts/liquid_token/stonfi/LFStonfiJettonMinter.d.ts +53 -0
- package/dist/contracts/liquid_token/stonfi/LFStonfiJettonMinter.js +110 -0
- package/dist/contracts/liquid_token/stonfi/LFStonfiJettonWallet.d.ts +169 -0
- package/dist/contracts/liquid_token/stonfi/LFStonfiJettonWallet.js +288 -0
- package/dist/contracts/oracle/composite-onchain-oracle/index.d.ts +108 -0
- package/dist/contracts/oracle/composite-onchain-oracle/index.js +185 -0
- package/dist/contracts/oracle/parser.d.ts +7 -0
- package/dist/contracts/oracle/parser.js +77 -0
- package/dist/contracts/oracle/redstone-onchain-oracle/index.d.ts +56 -0
- package/dist/contracts/oracle/redstone-onchain-oracle/index.js +159 -0
- package/dist/contracts/oracle/redstone-onchain-oracle/serializer.d.ts +4 -0
- package/dist/contracts/oracle/redstone-onchain-oracle/serializer.js +137 -0
- package/dist/contracts/oracle/redstone-onchain-oracle/type.d.ts +57 -0
- package/dist/contracts/oracle/redstone-onchain-oracle/type.js +18 -0
- package/dist/contracts/oracle/redstone-oracle/serializer.d.ts +3 -0
- package/dist/contracts/oracle/redstone-oracle/serializer.js +30 -0
- package/dist/contracts/oracle/redstone-oracle/type.d.ts +9 -0
- package/dist/contracts/oracle/redstone-oracle/type.js +2 -0
- package/dist/contracts/oracle/redstone-parser.d.ts +9 -0
- package/dist/contracts/oracle/redstone-parser.js +58 -0
- package/dist/contracts/rfq/rfq_auction/index.d.ts +216 -0
- package/dist/contracts/rfq/rfq_auction/index.js +334 -0
- package/dist/contracts/rfq/rfq_batch/index.d.ts +346 -0
- package/dist/contracts/rfq/rfq_batch/index.js +448 -0
- package/dist/contracts/rfq/rfq_event_emitter/index.d.ts +132 -0
- package/dist/contracts/rfq/rfq_event_emitter/index.js +143 -0
- package/dist/contracts/stonfi-farm/MockStonfiFarmItem.d.ts +41 -0
- package/dist/contracts/stonfi-farm/MockStonfiFarmItem.js +83 -0
- package/dist/contracts/stonfi-farm/MockStonfiFarmMinter.d.ts +45 -0
- package/dist/contracts/stonfi-farm/MockStonfiFarmMinter.js +92 -0
- package/dist/contracts/unknown-contract/index.d.ts +14 -0
- package/dist/contracts/unknown-contract/index.js +18 -0
- package/dist/contracts/vault/share-vault/index.d.ts +206 -0
- package/dist/contracts/vault/share-vault/index.js +373 -0
- package/dist/contracts/vault/strategy-vault/codec.d.ts +710 -0
- package/dist/contracts/vault/strategy-vault/codec.js +1256 -0
- package/dist/contracts/vault/strategy-vault/computation.d.ts +11 -0
- package/dist/contracts/vault/strategy-vault/computation.js +56 -0
- package/dist/contracts/vault/strategy-vault/constants.d.ts +163 -0
- package/dist/contracts/vault/strategy-vault/constants.js +170 -0
- package/dist/contracts/vault/strategy-vault/index.d.ts +587 -0
- package/dist/contracts/vault/strategy-vault/index.js +406 -0
- package/dist/contracts/vault/strategy-vault/type.d.ts +115 -0
- package/dist/contracts/vault/strategy-vault/type.js +2 -0
- package/dist/contracts/wton/jetton-minter.d.ts +35 -0
- package/dist/contracts/wton/jetton-minter.js +71 -0
- package/dist/contracts/wton/jetton-wallet.d.ts +90 -0
- package/dist/contracts/wton/jetton-wallet.js +153 -0
- package/dist/contracts/wton/type.d.ts +7 -0
- package/dist/contracts/wton/type.js +2 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.js +65 -0
- package/dist/lib/assert.d.ts +1 -0
- package/dist/lib/assert.js +9 -0
- package/dist/lib/query-cache.d.ts +5 -0
- package/dist/lib/query-cache.js +57 -0
- package/dist/lib/send-msg.d.ts +11 -0
- package/dist/lib/send-msg.js +9 -0
- package/dist/services/composite-oracle/computation.d.ts +55 -0
- package/dist/services/composite-oracle/computation.js +295 -0
- package/dist/services/composite-oracle/index.d.ts +45 -0
- package/dist/services/composite-oracle/index.js +110 -0
- package/dist/services/composite-oracle/query.d.ts +36 -0
- package/dist/services/composite-oracle/query.js +251 -0
- package/dist/services/composite-oracle/types.d.ts +82 -0
- package/dist/services/composite-oracle/types.js +11 -0
- package/dist/services/pool/computation.d.ts +75 -0
- package/dist/services/pool/computation.js +219 -0
- package/dist/services/pool/index.d.ts +94 -0
- package/dist/services/pool/index.js +139 -0
- package/dist/services/pool/oracle.d.ts +20 -0
- package/dist/services/pool/oracle.js +61 -0
- package/dist/services/pool/owner/index.d.ts +37 -0
- package/dist/services/pool/owner/index.js +76 -0
- package/dist/services/pool/owner/types.d.ts +18 -0
- package/dist/services/pool/owner/types.js +2 -0
- package/dist/services/pool/query.d.ts +64 -0
- package/dist/services/pool/query.js +282 -0
- package/dist/services/pool/user/index.d.ts +86 -0
- package/dist/services/pool/user/index.js +285 -0
- package/dist/services/pool/user/types.d.ts +44 -0
- package/dist/services/pool/user/types.js +2 -0
- package/dist/services/rfq-auction/index.d.ts +81 -0
- package/dist/services/rfq-auction/index.js +93 -0
- package/dist/services/rfq-auction/oracle.d.ts +19 -0
- package/dist/services/rfq-auction/oracle.js +60 -0
- package/dist/services/rfq-auction/query.d.ts +50 -0
- package/dist/services/rfq-auction/query.js +19 -0
- package/dist/services/rfq-auction/user/index.d.ts +63 -0
- package/dist/services/rfq-auction/user/index.js +218 -0
- package/dist/services/rfq-auction/user/types.d.ts +29 -0
- package/dist/services/rfq-auction/user/types.js +2 -0
- package/dist/services/rfq-batch/index.d.ts +78 -0
- package/dist/services/rfq-batch/index.js +132 -0
- package/dist/services/rfq-batch/oracle.d.ts +22 -0
- package/dist/services/rfq-batch/oracle.js +54 -0
- package/dist/services/rfq-batch/query.d.ts +46 -0
- package/dist/services/rfq-batch/query.js +34 -0
- package/dist/services/rfq-batch/user/index.d.ts +79 -0
- package/dist/services/rfq-batch/user/index.js +171 -0
- package/dist/services/rfq-batch/user/types.d.ts +37 -0
- package/dist/services/rfq-batch/user/types.js +2 -0
- package/dist/services/share-vault/computation.d.ts +24 -0
- package/dist/services/share-vault/computation.js +42 -0
- package/dist/services/share-vault/index.d.ts +90 -0
- package/dist/services/share-vault/index.js +128 -0
- package/dist/services/share-vault/manager/index.d.ts +40 -0
- package/dist/services/share-vault/manager/index.js +111 -0
- package/dist/services/share-vault/manager/types.d.ts +23 -0
- package/dist/services/share-vault/manager/types.js +2 -0
- package/dist/services/share-vault/owner/index.d.ts +64 -0
- package/dist/services/share-vault/owner/index.js +122 -0
- package/dist/services/share-vault/owner/types.d.ts +33 -0
- package/dist/services/share-vault/owner/types.js +2 -0
- package/dist/services/share-vault/query.d.ts +34 -0
- package/dist/services/share-vault/query.js +138 -0
- package/dist/services/share-vault/user/index.d.ts +33 -0
- package/dist/services/share-vault/user/index.js +106 -0
- package/dist/services/share-vault/user/types.d.ts +13 -0
- package/dist/services/share-vault/user/types.js +2 -0
- package/dist/services/strategy-vault/index.d.ts +2124 -0
- package/dist/services/strategy-vault/index.js +268 -0
- package/dist/services/strategy-vault/manager/index.d.ts +1968 -0
- package/dist/services/strategy-vault/manager/index.js +475 -0
- package/dist/services/strategy-vault/manager/types.d.ts +144 -0
- package/dist/services/strategy-vault/manager/types.js +2 -0
- package/dist/services/strategy-vault/oracle.d.ts +66 -0
- package/dist/services/strategy-vault/oracle.js +162 -0
- package/dist/services/strategy-vault/owner/index.d.ts +277 -0
- package/dist/services/strategy-vault/owner/index.js +333 -0
- package/dist/services/strategy-vault/owner/types.d.ts +146 -0
- package/dist/services/strategy-vault/owner/types.js +2 -0
- package/dist/services/strategy-vault/query.d.ts +138 -0
- package/dist/services/strategy-vault/query.js +59 -0
- package/dist/services/strategy-vault/user/index.d.ts +89 -0
- package/dist/services/strategy-vault/user/index.js +219 -0
- package/dist/services/strategy-vault/user/types.d.ts +46 -0
- package/dist/services/strategy-vault/user/types.js +2 -0
- package/dist/types/sender.d.ts +7 -0
- package/dist/types/sender.js +2 -0
- package/dist/utils/action-parser.d.ts +7 -0
- package/dist/utils/action-parser.js +20 -0
- package/dist/utils/external-message-hash.d.ts +45 -0
- package/dist/utils/external-message-hash.js +65 -0
- package/dist/utils/oracle/redstone/readonlyCachedRedstone.d.ts +3 -0
- package/dist/utils/oracle/redstone/readonlyCachedRedstone.js +25 -0
- package/dist/utils/oracle/redstone/redstoneHelper.d.ts +21 -0
- package/dist/utils/oracle/redstone/redstoneHelper.js +228 -0
- package/dist/utils/parser.d.ts +40 -0
- package/dist/utils/parser.js +580 -0
- package/dist/utils/pending-tracker/index.d.ts +14 -0
- package/dist/utils/pending-tracker/index.js +34 -0
- package/dist/utils/pending-tracker/trackable-sender.d.ts +16 -0
- package/dist/utils/pending-tracker/trackable-sender.js +87 -0
- package/dist/utils/pending-tracker/type.d.ts +78 -0
- package/dist/utils/pending-tracker/type.js +2 -0
- package/dist/utils/pending-tracker/v3-client.d.ts +31 -0
- package/dist/utils/pending-tracker/v3-client.js +104 -0
- package/dist/utils/risk_calculator/risk_calculator.d.ts +45 -0
- package/dist/utils/risk_calculator/risk_calculator.js +332 -0
- package/dist/utils/utils.d.ts +5 -0
- package/dist/utils/utils.js +12 -0
- package/package.json +46 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { Address, Cell, Slice } from "@ton/ton";
|
|
2
|
+
import { Maybe } from "../../../contracts/common/type";
|
|
3
|
+
import { JumpIRMConfig } from "../../../contracts/irm/jump-irm/type";
|
|
4
|
+
import { RedstonOracleConfig } from "../../oracle/redstone-oracle/type";
|
|
5
|
+
import { RedstoneOnchainOracleConfig } from "../../oracle/redstone-onchain-oracle/type";
|
|
6
|
+
export type LiquidatePayload = {
|
|
7
|
+
opCode: number;
|
|
8
|
+
repayAsset: Address;
|
|
9
|
+
seizeAsset: Address;
|
|
10
|
+
borrower: Address;
|
|
11
|
+
response: Address;
|
|
12
|
+
jettonForwardTonAmount: bigint;
|
|
13
|
+
jettonForwardPayload?: Cell | null;
|
|
14
|
+
oracleParams: Cell;
|
|
15
|
+
forwardPayload?: Slice;
|
|
16
|
+
};
|
|
17
|
+
export type TransferInPayload = {
|
|
18
|
+
opCode: number;
|
|
19
|
+
asset: Address;
|
|
20
|
+
recipient: Address;
|
|
21
|
+
response: Address;
|
|
22
|
+
jettonForwardTonAmount: bigint;
|
|
23
|
+
jettonForwardPayload?: Cell | null;
|
|
24
|
+
forwardPayload?: Slice;
|
|
25
|
+
};
|
|
26
|
+
export type TransferOutMsgBody = {
|
|
27
|
+
type: "Pool.Op.TransferOut";
|
|
28
|
+
opCode: number;
|
|
29
|
+
queryId: bigint;
|
|
30
|
+
asset: Address;
|
|
31
|
+
isShare: boolean;
|
|
32
|
+
amount: bigint;
|
|
33
|
+
recipient: Address;
|
|
34
|
+
response: Address;
|
|
35
|
+
jettonForwardTonAmount: bigint;
|
|
36
|
+
jettonForwardPayload?: Cell | null;
|
|
37
|
+
oracleParams?: Maybe<Cell>;
|
|
38
|
+
forwardPayload?: Slice;
|
|
39
|
+
};
|
|
40
|
+
export type LiquidateParams = Omit<LiquidatePayload, "opCode">;
|
|
41
|
+
export type TransferInParams = Omit<TransferInPayload, "opCode">;
|
|
42
|
+
export type TransferOutMsgParams = Omit<TransferOutMsgBody, "opCode" | "queryId" | "type"> & {
|
|
43
|
+
queryId?: bigint;
|
|
44
|
+
};
|
|
45
|
+
export type AssetState = {
|
|
46
|
+
address: Address;
|
|
47
|
+
wallet: Maybe<Address>;
|
|
48
|
+
irm: Maybe<Address>;
|
|
49
|
+
irmConfig: Cell | JumpIRMConfig;
|
|
50
|
+
riskFactor: bigint;
|
|
51
|
+
liquidationIncentiveRate: bigint;
|
|
52
|
+
isCollateral: boolean;
|
|
53
|
+
isBorrowable: boolean;
|
|
54
|
+
lastUpdatedTime: bigint;
|
|
55
|
+
storedInterestRate: bigint;
|
|
56
|
+
collectedProtocolFee: bigint;
|
|
57
|
+
cash: bigint;
|
|
58
|
+
totalSupplyAmount: bigint;
|
|
59
|
+
totalBorrowAmount: bigint;
|
|
60
|
+
totalSupplyShare: bigint;
|
|
61
|
+
totalBorrowShare: bigint;
|
|
62
|
+
};
|
|
63
|
+
export type PoolState = {
|
|
64
|
+
address: Address;
|
|
65
|
+
id: bigint;
|
|
66
|
+
owner: Maybe<Address>;
|
|
67
|
+
feeConfigurer: Maybe<Address>;
|
|
68
|
+
protocolFeeRate: bigint;
|
|
69
|
+
oracle: Maybe<Address>;
|
|
70
|
+
oracleConfigRaw: Cell;
|
|
71
|
+
oracleConfig: Cell | RedstoneOnchainOracleConfig | RedstonOracleConfig;
|
|
72
|
+
maxLoanLeverageRatio: bigint;
|
|
73
|
+
maxLoanVarRatio: bigint;
|
|
74
|
+
liquidateLeverageRatio: bigint;
|
|
75
|
+
liquidateVarRatio: bigint;
|
|
76
|
+
maxLiquidateCloseRatio: bigint;
|
|
77
|
+
minLiquidateCloseRatio: bigint;
|
|
78
|
+
assets: Record<string, AssetState>;
|
|
79
|
+
minimumGasFee: PoolGasFee;
|
|
80
|
+
};
|
|
81
|
+
export type PoolGasFee = {
|
|
82
|
+
supply: bigint;
|
|
83
|
+
withdraw: bigint;
|
|
84
|
+
borrow: bigint;
|
|
85
|
+
repay: bigint;
|
|
86
|
+
liquidate: bigint;
|
|
87
|
+
accountStatusUpdate: bigint;
|
|
88
|
+
jettonTransfer: bigint;
|
|
89
|
+
oracleCalculate: bigint;
|
|
90
|
+
interestRateUpdate: bigint;
|
|
91
|
+
};
|
|
92
|
+
export type BaseActionNotificationMsgBody = {
|
|
93
|
+
opCode: number;
|
|
94
|
+
queryId: bigint;
|
|
95
|
+
actionOpCode: number;
|
|
96
|
+
errorCode: number;
|
|
97
|
+
forwardPayload?: Slice;
|
|
98
|
+
};
|
|
99
|
+
export type SuccessActionNotificationMsgBody = BaseActionNotificationMsgBody & {
|
|
100
|
+
asset: Address;
|
|
101
|
+
amount: bigint;
|
|
102
|
+
share: bigint;
|
|
103
|
+
};
|
|
104
|
+
export type SuccessRepayActionNotificationMsgBody = SuccessActionNotificationMsgBody & {
|
|
105
|
+
overRepaidAmount: bigint;
|
|
106
|
+
};
|
|
107
|
+
export type SuccessLiquidateActionNotificationMsgBody = BaseActionNotificationMsgBody & {
|
|
108
|
+
repayAsset: Address;
|
|
109
|
+
seizeAsset: Address;
|
|
110
|
+
repayAmount: bigint;
|
|
111
|
+
repayShare: bigint;
|
|
112
|
+
seizeShare: bigint;
|
|
113
|
+
};
|
|
114
|
+
export type FailTransferInActionNotificationMsgBody = BaseActionNotificationMsgBody & {
|
|
115
|
+
sender: Address;
|
|
116
|
+
asset: Address;
|
|
117
|
+
amount: bigint;
|
|
118
|
+
recipient: Address;
|
|
119
|
+
response: Address;
|
|
120
|
+
};
|
|
121
|
+
export type FailLiquidateActionNotificationMsgBody = BaseActionNotificationMsgBody & {
|
|
122
|
+
sender: Address;
|
|
123
|
+
amount: bigint;
|
|
124
|
+
repayAsset: Address;
|
|
125
|
+
seizeAsset: Address;
|
|
126
|
+
borrower: Address;
|
|
127
|
+
response: Address;
|
|
128
|
+
};
|
|
129
|
+
export type FailTransferOutActionNotificationMsgBody = BaseActionNotificationMsgBody & {
|
|
130
|
+
asset: Address;
|
|
131
|
+
isShare: boolean;
|
|
132
|
+
value: bigint;
|
|
133
|
+
recipient: Address;
|
|
134
|
+
response: Address;
|
|
135
|
+
};
|
|
136
|
+
export type ActionNotificationMsgBody = SuccessActionNotificationMsgBody | SuccessRepayActionNotificationMsgBody | SuccessLiquidateActionNotificationMsgBody | FailTransferInActionNotificationMsgBody | FailLiquidateActionNotificationMsgBody | FailTransferOutActionNotificationMsgBody | null;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Address, Cell, Contract, ContractProvider, Sender } from "@ton/core";
|
|
2
|
+
export type DedustFarmConfig = {
|
|
3
|
+
owner: Address;
|
|
4
|
+
};
|
|
5
|
+
export declare function dedustFarmConfigToCell(config: DedustFarmConfig): Cell;
|
|
6
|
+
export declare const Opcodes: {
|
|
7
|
+
setPrice: number;
|
|
8
|
+
setLPWallet: number;
|
|
9
|
+
};
|
|
10
|
+
export declare class MockDedustFarm implements Contract {
|
|
11
|
+
readonly address: Address;
|
|
12
|
+
readonly init?: {
|
|
13
|
+
code: Cell;
|
|
14
|
+
data: Cell;
|
|
15
|
+
} | undefined;
|
|
16
|
+
constructor(address: Address, init?: {
|
|
17
|
+
code: Cell;
|
|
18
|
+
data: Cell;
|
|
19
|
+
} | undefined);
|
|
20
|
+
static createFromAddress(address: Address): MockDedustFarm;
|
|
21
|
+
static createFromConfig(config: DedustFarmConfig, code: Cell, workchain?: number): MockDedustFarm;
|
|
22
|
+
sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
|
|
23
|
+
sendSetLPAddr(provider: ContractProvider, via: Sender, value: bigint, opts: {
|
|
24
|
+
queryID?: bigint;
|
|
25
|
+
reward: Address;
|
|
26
|
+
}): Promise<void>;
|
|
27
|
+
sendSetPrice(provider: ContractProvider, via: Sender, opts: {
|
|
28
|
+
value: bigint;
|
|
29
|
+
assetId: bigint;
|
|
30
|
+
price: bigint;
|
|
31
|
+
queryID?: number;
|
|
32
|
+
}): Promise<void>;
|
|
33
|
+
getState(provider: ContractProvider): Promise<import("@ton/core").ContractState>;
|
|
34
|
+
getFarmData(provider: ContractProvider): Promise<{
|
|
35
|
+
index: bigint;
|
|
36
|
+
owner: Address | null;
|
|
37
|
+
lpToken: Address | null;
|
|
38
|
+
rewardToken: Address | null;
|
|
39
|
+
}>;
|
|
40
|
+
getFarmData2(provider: ContractProvider): Promise<import("@ton/core").TupleReader>;
|
|
41
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockDedustFarm = exports.Opcodes = void 0;
|
|
4
|
+
exports.dedustFarmConfigToCell = dedustFarmConfigToCell;
|
|
5
|
+
const core_1 = require("@ton/core");
|
|
6
|
+
function dedustFarmConfigToCell(config) {
|
|
7
|
+
return (0, core_1.beginCell)().storeAddress(config.owner).storeAddress(null).endCell();
|
|
8
|
+
}
|
|
9
|
+
exports.Opcodes = {
|
|
10
|
+
setPrice: 0xf990365,
|
|
11
|
+
setLPWallet: 0xd29c540a,
|
|
12
|
+
};
|
|
13
|
+
class MockDedustFarm {
|
|
14
|
+
address;
|
|
15
|
+
init;
|
|
16
|
+
constructor(address, init) {
|
|
17
|
+
this.address = address;
|
|
18
|
+
this.init = init;
|
|
19
|
+
}
|
|
20
|
+
static createFromAddress(address) {
|
|
21
|
+
return new MockDedustFarm(address);
|
|
22
|
+
}
|
|
23
|
+
static createFromConfig(config, code, workchain = 0) {
|
|
24
|
+
const data = dedustFarmConfigToCell(config);
|
|
25
|
+
const init = { code, data };
|
|
26
|
+
return new MockDedustFarm((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
|
+
async sendSetLPAddr(provider, via, value, opts) {
|
|
36
|
+
await provider.internal(via, {
|
|
37
|
+
value,
|
|
38
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
39
|
+
body: (0, core_1.beginCell)()
|
|
40
|
+
.storeUint(exports.Opcodes.setLPWallet, 32)
|
|
41
|
+
.storeUint(opts.queryID ?? 0, 64)
|
|
42
|
+
.storeAddress(opts.reward)
|
|
43
|
+
.endCell(),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async sendSetPrice(provider, via, opts) {
|
|
47
|
+
await provider.internal(via, {
|
|
48
|
+
value: opts.value,
|
|
49
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
50
|
+
body: (0, core_1.beginCell)()
|
|
51
|
+
.storeUint(exports.Opcodes.setPrice, 32)
|
|
52
|
+
.storeUint(opts.queryID ?? 0, 64)
|
|
53
|
+
.storeUint(opts.assetId, 64)
|
|
54
|
+
.storeCoins(opts.price)
|
|
55
|
+
.endCell(),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
async getState(provider) {
|
|
59
|
+
return await provider.getState();
|
|
60
|
+
}
|
|
61
|
+
async getFarmData(provider) {
|
|
62
|
+
const result = await provider.get("get_farm_data", []);
|
|
63
|
+
const index = result.stack.readBigNumber();
|
|
64
|
+
const owner = result.stack.readAddressOpt();
|
|
65
|
+
const lpToken = result.stack.readAddressOpt();
|
|
66
|
+
const rewardToken = result.stack.readAddressOpt();
|
|
67
|
+
return {
|
|
68
|
+
index,
|
|
69
|
+
owner,
|
|
70
|
+
lpToken,
|
|
71
|
+
rewardToken,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
async getFarmData2(provider) {
|
|
75
|
+
const result = await provider.get("get_farm_data", []);
|
|
76
|
+
return result.stack;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.MockDedustFarm = MockDedustFarm;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Address, Cell, Contract, ContractProvider } from "@ton/core";
|
|
2
|
+
export declare class TonstakerPool 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): TonstakerPool;
|
|
13
|
+
getPoolState(provider: ContractProvider): Promise<{
|
|
14
|
+
index: bigint;
|
|
15
|
+
reserve: bigint;
|
|
16
|
+
totalSupply: bigint;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TonstakerPool = void 0;
|
|
4
|
+
class TonstakerPool {
|
|
5
|
+
address;
|
|
6
|
+
init;
|
|
7
|
+
constructor(address, init) {
|
|
8
|
+
this.address = address;
|
|
9
|
+
this.init = init;
|
|
10
|
+
}
|
|
11
|
+
static createFromAddress(address) {
|
|
12
|
+
return new TonstakerPool(address);
|
|
13
|
+
}
|
|
14
|
+
async getPoolState(provider) {
|
|
15
|
+
const { stack } = await provider.get("get_pool_state", []);
|
|
16
|
+
const index = stack.readBigNumber();
|
|
17
|
+
const reserve = stack.readBigNumber();
|
|
18
|
+
const totalSupply = stack.readBigNumber();
|
|
19
|
+
return {
|
|
20
|
+
index,
|
|
21
|
+
reserve,
|
|
22
|
+
totalSupply,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.TonstakerPool = TonstakerPool;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Address, Cell, Contract, Builder, ContractProvider, Sender } from "@ton/core";
|
|
2
|
+
import { FactoryState } from "./type";
|
|
3
|
+
export declare class Factory implements Contract {
|
|
4
|
+
readonly address: Address;
|
|
5
|
+
readonly init?: {
|
|
6
|
+
code: Cell;
|
|
7
|
+
data: Cell;
|
|
8
|
+
} | undefined;
|
|
9
|
+
constructor(address: Address, init?: {
|
|
10
|
+
code: Cell;
|
|
11
|
+
data: Cell;
|
|
12
|
+
} | undefined);
|
|
13
|
+
static Opcodes: {
|
|
14
|
+
createPool: number;
|
|
15
|
+
};
|
|
16
|
+
static createFromAddress(address: Address): Factory;
|
|
17
|
+
sendCreatePool(provider: ContractProvider, via: Sender, opts: {
|
|
18
|
+
value: bigint;
|
|
19
|
+
queryID?: number;
|
|
20
|
+
body: Builder;
|
|
21
|
+
}): Promise<void>;
|
|
22
|
+
getPoolAddress(provider: ContractProvider, poolId: bigint): Promise<Address>;
|
|
23
|
+
getFactoryData(provider: ContractProvider): Promise<FactoryState>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Factory = void 0;
|
|
4
|
+
const core_1 = require("@ton/core");
|
|
5
|
+
class Factory {
|
|
6
|
+
address;
|
|
7
|
+
init;
|
|
8
|
+
constructor(address, init) {
|
|
9
|
+
this.address = address;
|
|
10
|
+
this.init = init;
|
|
11
|
+
}
|
|
12
|
+
static Opcodes = {
|
|
13
|
+
createPool: 0xad85e6b3,
|
|
14
|
+
};
|
|
15
|
+
static createFromAddress(address) {
|
|
16
|
+
return new Factory(address);
|
|
17
|
+
}
|
|
18
|
+
async sendCreatePool(provider, via, opts) {
|
|
19
|
+
await provider.internal(via, {
|
|
20
|
+
value: opts.value,
|
|
21
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
22
|
+
body: (0, core_1.beginCell)()
|
|
23
|
+
.storeUint(Factory.Opcodes.createPool, 32)
|
|
24
|
+
.storeUint(opts.queryID ?? 0, 64)
|
|
25
|
+
.storeBuilder(opts.body)
|
|
26
|
+
.endCell(),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async getPoolAddress(provider, poolId) {
|
|
30
|
+
const result = await provider.get("get_pool_address", [{ type: "int", value: poolId }]);
|
|
31
|
+
return result.stack.readAddress();
|
|
32
|
+
}
|
|
33
|
+
async getFactoryData(provider) {
|
|
34
|
+
const { stack } = await provider.get("get_factory_data", []);
|
|
35
|
+
const owner = stack.readAddressOpt();
|
|
36
|
+
const nextPoolIndex = stack.readBigNumber();
|
|
37
|
+
const feeConfigurer = stack.readAddressOpt();
|
|
38
|
+
const initProtocolFeeRate = stack.readNumber();
|
|
39
|
+
const _whitelistedIrms = stack.readCellOpt();
|
|
40
|
+
const _whitelistedOracles = stack.readCellOpt();
|
|
41
|
+
const whitelistedIrms = (_whitelistedIrms &&
|
|
42
|
+
core_1.Dictionary.loadDirect(core_1.Dictionary.Keys.Address(), core_1.Dictionary.Values.Int(1), _whitelistedIrms).keys()) ||
|
|
43
|
+
[];
|
|
44
|
+
const whitelistedOracles = (_whitelistedOracles &&
|
|
45
|
+
core_1.Dictionary.loadDirect(core_1.Dictionary.Keys.Address(), core_1.Dictionary.Values.Int(1), _whitelistedOracles).keys()) ||
|
|
46
|
+
[];
|
|
47
|
+
return {
|
|
48
|
+
address: this.address,
|
|
49
|
+
owner,
|
|
50
|
+
nextPoolIndex,
|
|
51
|
+
feeConfigurer,
|
|
52
|
+
initProtocolFeeRate,
|
|
53
|
+
whitelistedIrms,
|
|
54
|
+
whitelistedOracles,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.Factory = Factory;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Address } from "@ton/core";
|
|
2
|
+
import { Maybe } from "../../contracts/common/type";
|
|
3
|
+
export type FactoryState = {
|
|
4
|
+
address: Address;
|
|
5
|
+
owner: Maybe<Address>;
|
|
6
|
+
nextPoolIndex: bigint;
|
|
7
|
+
feeConfigurer: Maybe<Address>;
|
|
8
|
+
initProtocolFeeRate: number;
|
|
9
|
+
whitelistedIrms: Address[];
|
|
10
|
+
whitelistedOracles: Address[];
|
|
11
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Address, Cell, Contract, ContractProvider, Sender } from "@ton/core";
|
|
2
|
+
export type DistributorInitData = {
|
|
3
|
+
owner: Address;
|
|
4
|
+
receiptCode: Cell;
|
|
5
|
+
content: Cell;
|
|
6
|
+
};
|
|
7
|
+
export declare function distributorInitDataToCell(config: DistributorInitData): Cell;
|
|
8
|
+
export declare const Opcodes: {
|
|
9
|
+
setPrice: number;
|
|
10
|
+
setOwner: number;
|
|
11
|
+
setRewardRootHash: number;
|
|
12
|
+
};
|
|
13
|
+
export declare class Distributor 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 Op: {
|
|
24
|
+
ClaimNotification: number;
|
|
25
|
+
TransferReward: number;
|
|
26
|
+
};
|
|
27
|
+
static createFromAddress(address: Address): Distributor;
|
|
28
|
+
static createFromConfig(config: DistributorInitData, code: Cell, workchain?: number): Distributor;
|
|
29
|
+
sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
|
|
30
|
+
sendSetOwner(provider: ContractProvider, via: Sender, value: bigint, { queryId, newHash, }: {
|
|
31
|
+
queryId?: bigint;
|
|
32
|
+
newHash: bigint;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
sendSetRewardRootHash(provider: ContractProvider, via: Sender, value: bigint, { queryId, newHash, }: {
|
|
35
|
+
queryId?: bigint;
|
|
36
|
+
newHash: bigint;
|
|
37
|
+
}): Promise<void>;
|
|
38
|
+
getState(provider: ContractProvider): Promise<import("@ton/core").ContractState>;
|
|
39
|
+
getDistributorData(provider: ContractProvider): Promise<{
|
|
40
|
+
owner: Address;
|
|
41
|
+
rewardRootHash: bigint;
|
|
42
|
+
}>;
|
|
43
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Distributor = exports.Opcodes = void 0;
|
|
4
|
+
exports.distributorInitDataToCell = distributorInitDataToCell;
|
|
5
|
+
const core_1 = require("@ton/core");
|
|
6
|
+
function distributorInitDataToCell(config) {
|
|
7
|
+
return (0, core_1.beginCell)()
|
|
8
|
+
.storeAddress(config.owner)
|
|
9
|
+
.storeUint(0, 256)
|
|
10
|
+
.storeCoins(0)
|
|
11
|
+
.storeRef(config.receiptCode)
|
|
12
|
+
.storeRef(config.content)
|
|
13
|
+
.endCell();
|
|
14
|
+
}
|
|
15
|
+
exports.Opcodes = {
|
|
16
|
+
setPrice: 0xf990365,
|
|
17
|
+
setOwner: 0xa31c7c0,
|
|
18
|
+
setRewardRootHash: 0x2b6d4ce0,
|
|
19
|
+
};
|
|
20
|
+
class Distributor {
|
|
21
|
+
address;
|
|
22
|
+
init;
|
|
23
|
+
constructor(address, init) {
|
|
24
|
+
this.address = address;
|
|
25
|
+
this.init = init;
|
|
26
|
+
}
|
|
27
|
+
static Op = {
|
|
28
|
+
ClaimNotification: 0x62daa67f,
|
|
29
|
+
TransferReward: 0xc917f643,
|
|
30
|
+
};
|
|
31
|
+
static createFromAddress(address) {
|
|
32
|
+
return new Distributor(address);
|
|
33
|
+
}
|
|
34
|
+
static createFromConfig(config, code, workchain = 0) {
|
|
35
|
+
const data = distributorInitDataToCell(config);
|
|
36
|
+
const init = { code, data };
|
|
37
|
+
return new Distributor((0, core_1.contractAddress)(workchain, init), init);
|
|
38
|
+
}
|
|
39
|
+
async sendDeploy(provider, via, value) {
|
|
40
|
+
await provider.internal(via, {
|
|
41
|
+
value,
|
|
42
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
43
|
+
body: (0, core_1.beginCell)().endCell(),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async sendSetOwner(provider, via, value, { queryId, newHash, }) {
|
|
47
|
+
await provider.internal(via, {
|
|
48
|
+
value,
|
|
49
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
50
|
+
body: (0, core_1.beginCell)()
|
|
51
|
+
.storeUint(exports.Opcodes.setRewardRootHash, 32)
|
|
52
|
+
.storeUint(queryId ?? 0, 64)
|
|
53
|
+
.storeUint(newHash, 256)
|
|
54
|
+
.endCell(),
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async sendSetRewardRootHash(provider, via, value, { queryId, newHash, }) {
|
|
58
|
+
await provider.internal(via, {
|
|
59
|
+
value,
|
|
60
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
61
|
+
body: (0, core_1.beginCell)()
|
|
62
|
+
.storeUint(exports.Opcodes.setRewardRootHash, 32)
|
|
63
|
+
.storeUint(queryId ?? 0, 64)
|
|
64
|
+
.storeUint(newHash, 256)
|
|
65
|
+
.endCell(),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
async getState(provider) {
|
|
69
|
+
return await provider.getState();
|
|
70
|
+
}
|
|
71
|
+
async getDistributorData(provider) {
|
|
72
|
+
const result = await provider.get("get_distributor_data", []);
|
|
73
|
+
const owner = result.stack.readAddress();
|
|
74
|
+
const rewardRootHash = result.stack.readBigNumber();
|
|
75
|
+
// const cash = result.stack.readBigNumber();
|
|
76
|
+
return {
|
|
77
|
+
owner,
|
|
78
|
+
rewardRootHash,
|
|
79
|
+
// cash,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.Distributor = Distributor;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Address, Cell, Contract, ContractProvider, Sender } from "@ton/core";
|
|
2
|
+
export type ReceiptInitData = {
|
|
3
|
+
owner: Address;
|
|
4
|
+
distributor: Address;
|
|
5
|
+
};
|
|
6
|
+
export declare function receiptInitDataToCell(config: ReceiptInitData): Cell;
|
|
7
|
+
export declare const Opcodes: {
|
|
8
|
+
claim: number;
|
|
9
|
+
};
|
|
10
|
+
export declare class Receipt implements Contract {
|
|
11
|
+
readonly address: Address;
|
|
12
|
+
readonly init?: {
|
|
13
|
+
code: Cell;
|
|
14
|
+
data: Cell;
|
|
15
|
+
} | undefined;
|
|
16
|
+
constructor(address: Address, init?: {
|
|
17
|
+
code: Cell;
|
|
18
|
+
data: Cell;
|
|
19
|
+
} | undefined);
|
|
20
|
+
static Op: {
|
|
21
|
+
Claim: number;
|
|
22
|
+
};
|
|
23
|
+
static createFromAddress(address: Address): Receipt;
|
|
24
|
+
static createFromConfig(config: ReceiptInitData, code: Cell, workchain?: number): Receipt;
|
|
25
|
+
sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
|
|
26
|
+
sendClaim(provider: ContractProvider, via: Sender, value: bigint, { queryId, rewardProofCell, receipient, response, forwardTonAmount, notificationPayload, }: {
|
|
27
|
+
queryId?: bigint;
|
|
28
|
+
rewardProofCell: Cell;
|
|
29
|
+
response: Address;
|
|
30
|
+
receipient: Address;
|
|
31
|
+
forwardTonAmount?: bigint;
|
|
32
|
+
notificationPayload?: Cell;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
getState(provider: ContractProvider): Promise<import("@ton/core").ContractState>;
|
|
35
|
+
getReceiptData(provider: ContractProvider): Promise<{
|
|
36
|
+
owner: Address;
|
|
37
|
+
distributor: Address;
|
|
38
|
+
claimed: bigint;
|
|
39
|
+
}>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Receipt = exports.Opcodes = void 0;
|
|
4
|
+
exports.receiptInitDataToCell = receiptInitDataToCell;
|
|
5
|
+
const core_1 = require("@ton/core");
|
|
6
|
+
function receiptInitDataToCell(config) {
|
|
7
|
+
return (0, core_1.beginCell)().storeAddress(config.owner).storeAddress(config.distributor).storeCoins(0).endCell();
|
|
8
|
+
}
|
|
9
|
+
exports.Opcodes = {
|
|
10
|
+
claim: 0x13a3ca6,
|
|
11
|
+
};
|
|
12
|
+
class Receipt {
|
|
13
|
+
address;
|
|
14
|
+
init;
|
|
15
|
+
constructor(address, init) {
|
|
16
|
+
this.address = address;
|
|
17
|
+
this.init = init;
|
|
18
|
+
}
|
|
19
|
+
static Op = {
|
|
20
|
+
Claim: 0x13a3ca6,
|
|
21
|
+
};
|
|
22
|
+
static createFromAddress(address) {
|
|
23
|
+
return new Receipt(address);
|
|
24
|
+
}
|
|
25
|
+
static createFromConfig(config, code, workchain = 0) {
|
|
26
|
+
const data = receiptInitDataToCell(config);
|
|
27
|
+
const init = { code, data };
|
|
28
|
+
return new Receipt((0, core_1.contractAddress)(workchain, init), init);
|
|
29
|
+
}
|
|
30
|
+
async sendDeploy(provider, via, value) {
|
|
31
|
+
await provider.internal(via, {
|
|
32
|
+
value,
|
|
33
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
34
|
+
body: (0, core_1.beginCell)().endCell(),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async sendClaim(provider, via, value, { queryId, rewardProofCell, receipient, response, forwardTonAmount = 0n, notificationPayload, }) {
|
|
38
|
+
let body = (0, core_1.beginCell)()
|
|
39
|
+
.storeUint(exports.Opcodes.claim, 32)
|
|
40
|
+
.storeUint(queryId ?? 0, 64)
|
|
41
|
+
.storeRef(rewardProofCell)
|
|
42
|
+
.storeAddress(response)
|
|
43
|
+
.storeAddress(receipient)
|
|
44
|
+
.storeCoins(forwardTonAmount)
|
|
45
|
+
.storeMaybeRef(notificationPayload)
|
|
46
|
+
.endCell();
|
|
47
|
+
await provider.internal(via, {
|
|
48
|
+
value,
|
|
49
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
50
|
+
body: body,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async getState(provider) {
|
|
54
|
+
return await provider.getState();
|
|
55
|
+
}
|
|
56
|
+
async getReceiptData(provider) {
|
|
57
|
+
const result = await provider.get("get_receipt_data", []);
|
|
58
|
+
const owner = result.stack.readAddress();
|
|
59
|
+
const distributor = result.stack.readAddress();
|
|
60
|
+
const claimed = result.stack.readBigNumber();
|
|
61
|
+
return {
|
|
62
|
+
owner,
|
|
63
|
+
distributor,
|
|
64
|
+
claimed,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.Receipt = Receipt;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serializeJumpIrmConfig = serializeJumpIrmConfig;
|
|
4
|
+
exports.parseJumpIrmConfig = parseJumpIrmConfig;
|
|
5
|
+
const core_1 = require("@ton/core");
|
|
6
|
+
function serializeJumpIrmConfig(params) {
|
|
7
|
+
return (0, core_1.beginCell)()
|
|
8
|
+
.storeCoins(params.baseRate)
|
|
9
|
+
.storeUint(params.kinkLow, 14)
|
|
10
|
+
.storeUint(params.kinkHigh, 14)
|
|
11
|
+
.storeCoins(params.slopeLow)
|
|
12
|
+
.storeCoins(params.slopeMedium)
|
|
13
|
+
.storeCoins(params.slopeHigh)
|
|
14
|
+
.endCell();
|
|
15
|
+
}
|
|
16
|
+
function parseJumpIrmConfig(cell) {
|
|
17
|
+
const ds = cell.beginParse();
|
|
18
|
+
return {
|
|
19
|
+
baseRate: ds.loadCoins(),
|
|
20
|
+
kinkLow: ds.loadUint(14),
|
|
21
|
+
kinkHigh: ds.loadUint(14),
|
|
22
|
+
slopeLow: ds.loadCoins(),
|
|
23
|
+
slopeMedium: ds.loadCoins(),
|
|
24
|
+
slopeHigh: ds.loadCoins(),
|
|
25
|
+
};
|
|
26
|
+
}
|