wan-ton-sdk 0.0.7 → 0.0.9

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 (247) hide show
  1. package/dist/Bridge.compile.d.ts +2 -0
  2. package/dist/Bridge.compile.js +9 -0
  3. package/dist/Bridge.d.ts +208 -0
  4. package/dist/Bridge.js +468 -0
  5. package/dist/Fake.compile.d.ts +2 -0
  6. package/dist/Fake.compile.js +9 -0
  7. package/dist/GroupApprove.compile.d.ts +2 -0
  8. package/dist/GroupApprove.compile.js +7 -0
  9. package/dist/GroupApprove.d.ts +124 -0
  10. package/dist/GroupApprove.js +181 -0
  11. package/dist/JettonMinter.compile.d.ts +2 -0
  12. package/dist/JettonMinter.compile.js +6 -0
  13. package/dist/JettonMinter.d.ts +45 -0
  14. package/dist/JettonMinter.js +124 -0
  15. package/dist/JettonWallet.compile.d.ts +2 -0
  16. package/dist/JettonWallet.compile.js +6 -0
  17. package/dist/JettonWallet.d.ts +26 -0
  18. package/dist/JettonWallet.js +103 -0
  19. package/dist/Signature.compile.d.ts +2 -0
  20. package/dist/Signature.compile.js +7 -0
  21. package/dist/Signature.d.ts +44 -0
  22. package/dist/Signature.js +106 -0
  23. package/dist/address.compile.d.ts +2 -0
  24. package/dist/address.compile.js +9 -0
  25. package/dist/client/client-interface.d.ts +35 -0
  26. package/dist/client/client-interface.js +9 -0
  27. package/dist/client/client.d.ts +22 -0
  28. package/dist/client/client.js +86 -0
  29. package/dist/client/tonapi-client.d.ts +4630 -0
  30. package/dist/client/tonapi-client.js +5376 -0
  31. package/dist/code/encode-decode.d.ts +132 -0
  32. package/dist/code/encode-decode.js +645 -0
  33. package/dist/code/userLock.d.ts +39 -0
  34. package/dist/code/userLock.js +284 -0
  35. package/dist/common.d.ts +9 -0
  36. package/dist/common.js +45 -0
  37. package/dist/config/config-ex.d.ts +7 -0
  38. package/dist/config/config-ex.js +73 -0
  39. package/dist/const/const-value.d.ts +21 -0
  40. package/dist/const/const-value.js +26 -0
  41. package/dist/contractAccess/bridgeAccess.d.ts +10 -0
  42. package/dist/contractAccess/bridgeAccess.js +55 -0
  43. package/dist/contractAccess/groupApproveAccess.d.ts +10 -0
  44. package/dist/contractAccess/groupApproveAccess.js +54 -0
  45. package/dist/db/Db.d.ts +24 -0
  46. package/dist/db/Db.js +739 -0
  47. package/dist/db/DbAccess.d.ts +24 -0
  48. package/dist/db/DbAccess.js +211 -0
  49. package/dist/db/common.d.ts +5 -0
  50. package/dist/db/common.js +114 -0
  51. package/dist/event/getEvents.d.ts +17 -0
  52. package/dist/event/getEvents.js +387 -0
  53. package/dist/example/db/createDb-ex.d.ts +1 -0
  54. package/{example/createDb-ex.ts → dist/example/db/createDb-ex.js} +3 -4
  55. package/dist/example/db/dbFeedTrans-ex.d.ts +1 -0
  56. package/{example/dbFeedTrans-ex.ts → dist/example/db/dbFeedTrans-ex.js} +9 -11
  57. package/dist/example/event/getAllEvents-ex.d.ts +1 -0
  58. package/dist/example/event/getAllEvents-ex.js +70 -0
  59. package/dist/example/event/getEventByHash-ex.d.ts +1 -0
  60. package/{example/getEventByHash-ex.ts → dist/example/event/getEventByHash-ex.js} +21 -25
  61. package/dist/example/event/getEventsByRange-ex.d.ts +1 -0
  62. package/dist/example/event/getEventsByRange-ex.js +58 -0
  63. package/dist/example/getAllTrans.d.ts +1 -0
  64. package/dist/example/getAllTrans.js +30 -0
  65. package/dist/example/jetton/getJettonInfo-ex.d.ts +1 -0
  66. package/dist/example/jetton/getJettonInfo-ex.js +32 -0
  67. package/dist/example/lock-release/smgRelease-ex.d.ts +1 -0
  68. package/dist/example/lock-release/smgRelease-ex.js +134 -0
  69. package/dist/example/lock-release/userLock-ex.d.ts +1 -0
  70. package/dist/example/lock-release/userLock-ex.js +69 -0
  71. package/dist/example/manage/addSmg-ex.d.ts +1 -0
  72. package/dist/example/manage/addSmg-ex.js +59 -0
  73. package/dist/example/manage/compileContract-ex.d.ts +1 -0
  74. package/dist/example/manage/compileContract-ex.js +11 -0
  75. package/dist/example/manage/deploy-ex.d.ts +1 -0
  76. package/dist/example/manage/deploy-ex.js +58 -0
  77. package/dist/example/manage/setFee-ex.d.ts +1 -0
  78. package/dist/example/manage/setFee-ex.js +61 -0
  79. package/dist/example/manage/setFeeProxy.d.ts +1 -0
  80. package/dist/example/manage/setFeeProxy.js +47 -0
  81. package/dist/example/manage/upgradeBridgeSc-ex.d.ts +1 -0
  82. package/dist/example/manage/upgradeBridgeSc-ex.js +44 -0
  83. package/dist/example/token/AddToken-ex.d.ts +1 -0
  84. package/dist/example/token/AddToken-ex.js +113 -0
  85. package/dist/example/token/addTokenPair-ex.d.ts +1 -0
  86. package/dist/example/token/addTokenPair-ex.js +59 -0
  87. package/dist/example/token/delTokenPair-ex.d.ts +1 -0
  88. package/dist/example/token/delTokenPair-ex.js +49 -0
  89. package/dist/example/token/getTokenPair-ex.d.ts +1 -0
  90. package/dist/example/token/getTokenPair-ex.js +39 -0
  91. package/dist/example/token/mintToken-ex.d.ts +1 -0
  92. package/dist/example/token/mintToken-ex.js +56 -0
  93. package/dist/example/tran/converTranToTonTran.d.ts +1 -0
  94. package/dist/example/tran/converTranToTonTran.js +32 -0
  95. package/dist/example/tran/getTransByRange-ex.d.ts +1 -0
  96. package/{example/getTransByRange-ex.ts → dist/example/tran/getTransByRange-ex.js} +26 -40
  97. package/dist/example/tran/getTransaction-ex.d.ts +1 -0
  98. package/dist/example/tran/getTransaction-ex.js +47 -0
  99. package/dist/example/tran/isTranSuccess-ex.d.ts +1 -0
  100. package/dist/example/tran/isTranSuccess-ex.js +27 -0
  101. package/dist/fee/fee.d.ts +12 -0
  102. package/dist/fee/fee.js +21 -0
  103. package/dist/index.d.ts +15 -0
  104. package/dist/index.js +95 -0
  105. package/dist/jest.config.d.ts +3 -0
  106. package/dist/jest.config.js +8 -0
  107. package/dist/opcodes.d.ts +55 -0
  108. package/dist/opcodes.js +59 -0
  109. package/dist/sign/buildHash.d.ts +6 -0
  110. package/dist/sign/buildHash.js +39 -0
  111. package/dist/sign/rawTrans.d.ts +36 -0
  112. package/dist/sign/rawTrans.js +89 -0
  113. package/dist/sign/tools-secp256k1.d.ts +21 -0
  114. package/{sign → dist/sign}/tools-secp256k1.js +18 -44
  115. package/dist/testData/JettonMinter.compile.func.d.ts +2 -0
  116. package/dist/testData/JettonMinter.compile.func.js +13 -0
  117. package/dist/testData/JettonWallet.compile.func.d.ts +2 -0
  118. package/dist/testData/JettonWallet.compile.func.js +13 -0
  119. package/dist/testData/bridge.compile.func.d.ts +2 -0
  120. package/dist/testData/bridge.compile.func.js +13 -0
  121. package/dist/transResult/transResult.d.ts +29 -0
  122. package/dist/transResult/transResult.js +528 -0
  123. package/dist/utils/compileContract.d.ts +13 -0
  124. package/dist/utils/compileContract.js +54 -0
  125. package/dist/utils/logger.d.ts +16 -0
  126. package/dist/utils/logger.js +94 -0
  127. package/dist/utils/utils.d.ts +26 -0
  128. package/dist/utils/utils.js +330 -0
  129. package/dist/wallet/balance.d.ts +5 -0
  130. package/dist/wallet/balance.js +29 -0
  131. package/dist/wallet/jetton.d.ts +16 -0
  132. package/dist/wallet/jetton.js +171 -0
  133. package/dist/wallet/walletContract.d.ts +31 -0
  134. package/dist/wallet/walletContract.js +106 -0
  135. package/package.json +8 -6
  136. package/Bridge.compile.ts +0 -8
  137. package/Bridge.ts +0 -645
  138. package/Bridge.ts.org +0 -647
  139. package/Fake.compile.ts +0 -8
  140. package/GroupApprove.compile.ts +0 -6
  141. package/GroupApprove.ts +0 -274
  142. package/JettonMinter.compile.ts +0 -5
  143. package/JettonMinter.ts +0 -135
  144. package/JettonWallet.compile.ts +0 -5
  145. package/JettonWallet.ts +0 -127
  146. package/Signature.compile.ts +0 -6
  147. package/Signature.ts +0 -105
  148. package/address.compile.ts +0 -8
  149. package/client/1.json +0 -1730
  150. package/client/client.ts +0 -73
  151. package/client/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -15
  152. package/code/decode.spec.ts +0 -81
  153. package/code/encode-decode.ts +0 -622
  154. package/code/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -20
  155. package/code/log/wan-ton-sdk.out.2025-01-20 +0 -0
  156. package/code/userLock.ts +0 -291
  157. package/common.ts +0 -62
  158. package/config/config-ex.ts +0 -25
  159. package/config/config.ts +0 -1
  160. package/const/const-value.ts +0 -33
  161. package/contractAccess/bridgeAccess.ts +0 -60
  162. package/contractAccess/groupApproveAccess.ts +0 -59
  163. package/data/EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs.json +0 -7348
  164. package/db/Db.spec.ts +0 -193
  165. package/db/Db.ts +0 -736
  166. package/db/DbAccess.spec.ts +0 -23
  167. package/db/DbAccess.ts +0 -186
  168. package/db/common.ts +0 -94
  169. package/db/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -15
  170. package/db/log/wan-ton-sdk.out.2025-04-21 +0 -0
  171. package/event/getEvents.ts +0 -441
  172. package/event/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -15
  173. package/event/log/wan-ton-sdk.out.2024-12-19 +0 -0
  174. package/example/0:1.txt +0 -1
  175. package/example/AddToken-ex.ts +0 -148
  176. package/example/README.md +0 -21
  177. package/example/addSmg-ex.ts +0 -78
  178. package/example/addTokenPair-ex.ts +0 -73
  179. package/example/compileContract-ex.ts +0 -10
  180. package/example/converTranToTonTran.ts +0 -43
  181. package/example/delTokenPair-ex.ts +0 -63
  182. package/example/deploy-ex.ts +0 -68
  183. package/example/getAllEvents-ex.ts +0 -61
  184. package/example/getAllTrans.ts +0 -32
  185. package/example/getContractState-ex.ts +0 -33
  186. package/example/getEvents-ex.ts +0 -55
  187. package/example/getJettonInfo-ex.ts +0 -44
  188. package/example/getTokenPair-ex.ts +0 -47
  189. package/example/getTransaction-ex.ts +0 -62
  190. package/example/isTranSuccess-ex.ts +0 -33
  191. package/example/locateTx-ex.ts +0 -44
  192. package/example/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -55
  193. package/example/log/wan-ton-sdk.out.2025-04-21 +0 -447
  194. package/example/log/wan-ton-sdk.out.2025-04-22 +0 -1918
  195. package/example/log/wan-ton-sdk.out.2025-04-23 +0 -4216
  196. package/example/log/wan-ton-sdk.out.2025-04-24.gz +0 -0
  197. package/example/log/wan-ton-sdk.out.2025-04-25 +0 -46814
  198. package/example/log/wan-ton-sdk.out.2025-04-27.gz +0 -0
  199. package/example/log/wan-ton-sdk.out.2025-04-28 +0 -4966
  200. package/example/log/wan-ton-sdk.out.2025-04-29 +0 -1328
  201. package/example/log/wan-ton-sdk.out.2025-04-30 +0 -9
  202. package/example/mintToken-ex.ts +0 -82
  203. package/example/setFee-ex.ts +0 -82
  204. package/example/setFeeProxy.ts +0 -70
  205. package/example/smgRelease-ex.ts +0 -173
  206. package/example/upgradeBridgeSc-ex.ts +0 -49
  207. package/example/userLock-ex.ts +0 -78
  208. package/fee/fee.ts +0 -23
  209. package/index.ts +0 -76
  210. package/jest.config.ts +0 -9
  211. package/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -20
  212. package/log/wan-ton-sdk.out.2025-04-21 +0 -0
  213. package/log/wan-ton-sdk.out.2025-04-30 +0 -10
  214. package/opcodes.ts +0 -58
  215. package/publish.sh +0 -78
  216. package/sign/buildHash.ts +0 -47
  217. package/sign/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -15
  218. package/sign/log/wan-ton-sdk.out.2025-04-14 +0 -3
  219. package/sign/rawTrans.spec.ts +0 -117
  220. package/sign/rawTrans.ts +0 -122
  221. package/testData/JettonMinter.compile.func.ts +0 -8
  222. package/testData/JettonWallet.compile.func.ts +0 -8
  223. package/testData/addressList.json +0 -6
  224. package/testData/bridge.compile.func.ts +0 -8
  225. package/testData/bridge.compiled.json +0 -1
  226. package/testData/contractAddress.json +0 -7
  227. package/testData/jettonTokenInfo.json +0 -14
  228. package/testData/prvlist.json +0 -6
  229. package/testData/smg.json +0 -5
  230. package/testData/tokenInfo.json +0 -23
  231. package/transResult/transResult.ts +0 -608
  232. package/tsconfig.json +0 -19
  233. package/utils/.compiled.json +0 -1
  234. package/utils/compileContract.ts +0 -60
  235. package/utils/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -15
  236. package/utils/log/wan-ton-sdk.out.2025-01-08 +0 -0
  237. package/utils/logger.spec.ts +0 -14
  238. package/utils/logger.ts +0 -96
  239. package/utils/utils.spec.ts +0 -21
  240. package/utils/utils.ts +0 -295
  241. package/wallet/balance.ts +0 -29
  242. package/wallet/jetton.spec.ts +0 -27
  243. package/wallet/jetton.ts +0 -159
  244. package/wallet/walletContract.spec.ts +0 -111
  245. package/wallet/walletContract.ts +0 -105
  246. /package/{client/log/wan-ton-sdk.out.2024-12-19 → dist/config/config.d.ts} +0 -0
  247. /package/{code/log/wan-ton-sdk.out.2025-01-15 → dist/config/config.js} +0 -0
@@ -0,0 +1,2 @@
1
+ import { CompilerConfig } from '@ton/blueprint';
2
+ export declare const compile: CompilerConfig;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compile = void 0;
4
+ exports.compile = {
5
+ lang: 'func',
6
+ targets: [
7
+ 'contracts/bridge.fc'
8
+ ],
9
+ };
@@ -0,0 +1,208 @@
1
+ import { Address, Cell, Contract, ContractProvider, Sender } from '@ton/core';
2
+ import { Blockchain } from "@ton/sandbox";
3
+ import { WanTonClient } from "./client/client-interface";
4
+ export type BridgeConfig = {
5
+ owner: Address;
6
+ halt: number;
7
+ init: number;
8
+ smgFeeProxy: Address;
9
+ oracleAdmin: Address;
10
+ operator: Address;
11
+ };
12
+ export type CrossConfig = {
13
+ owner: Address;
14
+ admin: Address;
15
+ halt: number;
16
+ init: number;
17
+ };
18
+ export declare function bridgeConfigToCell(config: BridgeConfig): Cell;
19
+ export declare class Bridge implements Contract {
20
+ readonly address: Address;
21
+ readonly init?: {
22
+ code: Cell;
23
+ data: Cell;
24
+ };
25
+ constructor(address: Address, init?: {
26
+ code: Cell;
27
+ data: Cell;
28
+ });
29
+ static createFromAddress(address: Address): Bridge;
30
+ static createFromConfig(config: BridgeConfig, code: Cell, workchain?: number): Bridge;
31
+ sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
32
+ sendSetTokenPairFee(provider: ContractProvider, via: Sender, opts: {
33
+ value: bigint;
34
+ queryID?: number;
35
+ tokenPairID: number;
36
+ fee: number;
37
+ }): Promise<void>;
38
+ sendSetTokenPairFees(provider: ContractProvider, via: Sender, opts: {
39
+ value: bigint;
40
+ queryID?: number;
41
+ tokenPairID: number[];
42
+ fee: number[];
43
+ }): Promise<void>;
44
+ sendSetChainFee(provider: ContractProvider, via: Sender, opts: {
45
+ value: bigint;
46
+ queryID?: number;
47
+ srcChainId: number;
48
+ dstChainId: number;
49
+ contractFee: number;
50
+ agentFee: number;
51
+ }): Promise<void>;
52
+ sendSetChainFees(provider: ContractProvider, via: Sender, opts: {
53
+ value: bigint;
54
+ queryID?: number;
55
+ srcChainId: number[];
56
+ dstChainId: number[];
57
+ contractFee: number[];
58
+ agentFee: number[];
59
+ }): Promise<void>;
60
+ sendAddTokenPair(provider: ContractProvider, via: Sender, opts: {
61
+ value: bigint;
62
+ queryID?: number;
63
+ tokenPairId: number;
64
+ fromChainID: number;
65
+ fromAccount: string;
66
+ toChainID: number;
67
+ toAccount: string;
68
+ jettonAdminAddr: string;
69
+ walletCodeBase64?: string;
70
+ }): Promise<void>;
71
+ sendRemoveTokenPair(provider: ContractProvider, via: Sender, opts: {
72
+ value: bigint;
73
+ queryID?: number;
74
+ tokenPairId: number;
75
+ }): Promise<void>;
76
+ getJettonWalletAddr(provider: ContractProvider, jettonMaster: Address, owner: Address): Promise<Address>;
77
+ getJettonAdminAddr(provider: ContractProvider, jettonMaster: Address): Promise<Address>;
78
+ getTokenAccount(provider: ContractProvider, tokenPairID: number): Promise<string>;
79
+ sendUserLock(provider: ContractProvider, via: Sender, opts: {
80
+ value: bigint;
81
+ smgID: string;
82
+ tokenPairID: number;
83
+ crossValue: bigint;
84
+ dstUserAccount: string;
85
+ client: WanTonClient | Blockchain;
86
+ senderAccount: string;
87
+ bridgeScAddr: string;
88
+ }, differentQueryID?: number): Promise<void>;
89
+ sendSmgRelease(provider: ContractProvider, via: Sender, opts: {
90
+ value: bigint;
91
+ queryID?: number;
92
+ uniqueID: bigint;
93
+ smgID: string;
94
+ tokenPairID: number;
95
+ releaseValue: bigint;
96
+ fee: bigint;
97
+ userAccount: Address;
98
+ bridgeJettonWalletAddr: Address;
99
+ e: bigint;
100
+ p: bigint;
101
+ s: bigint;
102
+ fwTonAmount: bigint;
103
+ totalTonAmount: bigint;
104
+ }): Promise<void>;
105
+ sendHalt(provider: ContractProvider, via: Sender, opts: {
106
+ value: bigint;
107
+ queryID?: number;
108
+ halt: number;
109
+ }): Promise<void>;
110
+ sendTransferCrossOwner(provider: ContractProvider, sender: Sender, opts: {
111
+ value: bigint;
112
+ queryID?: number;
113
+ owner: Address;
114
+ }): Promise<void>;
115
+ getCrossConfig(provider: ContractProvider): Promise<{
116
+ owner: Address;
117
+ halt: number;
118
+ init: number;
119
+ oracleAdmin: Address;
120
+ feeProxyAdmin: Address;
121
+ operator: Address;
122
+ }>;
123
+ getChainFee(provider: ContractProvider, srcChainId: number, dstChainId: number): Promise<{
124
+ contractFee: number;
125
+ agentFee: number;
126
+ }>;
127
+ getTokenPairFee(provider: ContractProvider, tokenpair: number): Promise<number>;
128
+ getTokenPair(provider: ContractProvider, tokenPairId: number): Promise<{
129
+ fromChainID: number;
130
+ toChainID: number;
131
+ fromAccount: string;
132
+ toAccount: string;
133
+ jettonAdminAddr: string;
134
+ walletCodeBase64: string;
135
+ exist: string;
136
+ }>;
137
+ getFirstTokenPairID(provider: ContractProvider): Promise<number>;
138
+ getNextTokenPairID(provider: ContractProvider, id: number): Promise<number>;
139
+ getFirstStoremanGroupID(provider: ContractProvider): Promise<bigint>;
140
+ getNextStoremanGroupID(provider: ContractProvider, id: bigint): Promise<bigint>;
141
+ getFirstStoremanGroupIDCommited(provider: ContractProvider): Promise<bigint>;
142
+ getNextStoremanGroupIDCommited(provider: ContractProvider, id: bigint): Promise<bigint>;
143
+ getStoremanGroupConfig(provider: ContractProvider, id: bigint): Promise<{
144
+ gpkX: bigint;
145
+ gpkY: bigint;
146
+ startTime: bigint;
147
+ endTime: bigint;
148
+ }>;
149
+ getStoremanGroupConfigCommited(provider: ContractProvider, id: bigint): Promise<{
150
+ gpkX: bigint;
151
+ gpkY: bigint;
152
+ startTime: bigint;
153
+ endTime: bigint;
154
+ }>;
155
+ sendSetStoremanGroupConfig(provider: ContractProvider, sender: Sender, opts: {
156
+ id: bigint;
157
+ gpkX: bigint;
158
+ gpkY: bigint;
159
+ startTime: number;
160
+ endTime: number;
161
+ value: bigint;
162
+ queryID?: number;
163
+ }): Promise<void>;
164
+ sendRemoveStoremanGroup(provider: ContractProvider, sender: Sender, opts: {
165
+ id: bigint;
166
+ value: bigint;
167
+ queryID?: number;
168
+ }): Promise<void>;
169
+ sendSetStoremanGroupConfigCommit(provider: ContractProvider, sender: Sender, opts: {
170
+ id: bigint;
171
+ gpkX: bigint;
172
+ gpkY: bigint;
173
+ startTime: number;
174
+ endTime: number;
175
+ value: bigint;
176
+ queryID?: number;
177
+ }): Promise<void>;
178
+ getBalance(provider: ContractProvider): Promise<bigint>;
179
+ sendAddAdmin(provider: ContractProvider, via: Sender, opts: {
180
+ value: bigint;
181
+ queryID?: number;
182
+ adminAddr: Address;
183
+ }): Promise<void>;
184
+ sendRemoveAdmin(provider: ContractProvider, via: Sender, opts: {
185
+ value: bigint;
186
+ queryID?: number;
187
+ adminAddr: Address;
188
+ }): Promise<void>;
189
+ sendSetFeeProxy(provider: ContractProvider, via: Sender, opts: {
190
+ value: bigint;
191
+ queryID?: number;
192
+ feeProxy: Address;
193
+ }): Promise<void>;
194
+ getFirstAdmin(provider: ContractProvider): Promise<string>;
195
+ getNextAdmin(provider: ContractProvider, adminAddr: Address): Promise<string>;
196
+ getUpdatedInt(provider: ContractProvider): Promise<number>;
197
+ sendUpdateInt(provider: ContractProvider, opts: {
198
+ sender: Sender;
199
+ value: bigint;
200
+ queryID?: number;
201
+ }): Promise<void>;
202
+ sendUpgradeSC(provider: ContractProvider, via: Sender, opts: {
203
+ value: bigint;
204
+ queryID?: number;
205
+ code: Cell;
206
+ }): Promise<void>;
207
+ getVersion(provider: ContractProvider): Promise<string>;
208
+ }
package/dist/Bridge.js ADDED
@@ -0,0 +1,468 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Bridge = void 0;
37
+ exports.bridgeConfigToCell = bridgeConfigToCell;
38
+ const logger_1 = require("./utils/logger");
39
+ const formatUtil = require('util');
40
+ const userLock_1 = require("./code/userLock");
41
+ const core_1 = require("@ton/core");
42
+ const JettonMinter_1 = require("./JettonMinter");
43
+ const opcodes = __importStar(require("./opcodes"));
44
+ const encode_decode_1 = require("./code/encode-decode");
45
+ const const_value_1 = require("./const/const-value");
46
+ function bridgeConfigToCell(config) {
47
+ return (0, core_1.beginCell)()
48
+ .storeAddress(config.owner)
49
+ // .storeAddress(config.admin)
50
+ .storeUint(config.halt, 2)
51
+ .storeUint(config.init, 2)
52
+ .storeRef((0, core_1.beginCell)() // *****about fee begin*****
53
+ .storeAddress(config.smgFeeProxy) // feeProxyAddress
54
+ .storeAddress(config.operator) // operator
55
+ .storeDict() // about Contract and Agent fee
56
+ .storeDict() // about tokenPairFee
57
+ .storeDict() // cross_admin
58
+ .endCell()) // *****about fee end*****
59
+ .storeRef((0, core_1.beginCell)() // *****about oracle begin*****
60
+ .storeAddress(config.oracleAdmin) // oracleAdmin
61
+ .storeDict() // mapSmgConfig
62
+ .storeDict() // mapSmgConfigCommit
63
+ .storeDict() // mapSmgTxStatus
64
+ .endCell()) // *****about oracle end*****
65
+ .storeRef((0, core_1.beginCell)() // *****about tm begin*****
66
+ .storeDict() // mapTokenPairInfo
67
+ //.storeDict() // mapWrappedToken
68
+ .endCell()) // *****about tm end*****
69
+ .storeRef((0, core_1.beginCell)()
70
+ .endCell()) // extended
71
+ .endCell();
72
+ }
73
+ class Bridge {
74
+ constructor(address, init) {
75
+ this.address = address;
76
+ this.init = init;
77
+ }
78
+ static createFromAddress(address) {
79
+ return new Bridge(address);
80
+ }
81
+ static createFromConfig(config, code, workchain = 0) {
82
+ const data = bridgeConfigToCell(config);
83
+ const init = { code, data };
84
+ return new Bridge((0, core_1.contractAddress)(workchain, init), init);
85
+ }
86
+ async sendDeploy(provider, via, value) {
87
+ await provider.internal(via, {
88
+ value,
89
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
90
+ body: (0, core_1.beginCell)().endCell(),
91
+ });
92
+ }
93
+ async sendSetTokenPairFee(provider, via, opts) {
94
+ await provider.internal(via, {
95
+ value: opts.value,
96
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
97
+ body: encode_decode_1.codeTable[opcodes.OP_FEE_SetTokenPairFee].enCode(opts),
98
+ });
99
+ }
100
+ async sendSetTokenPairFees(provider, via, opts) {
101
+ await provider.internal(via, {
102
+ value: opts.value,
103
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
104
+ body: encode_decode_1.codeTable[opcodes.OP_FEE_SetTokenPairFees].enCode(opts),
105
+ });
106
+ }
107
+ async sendSetChainFee(provider, via, opts) {
108
+ await provider.internal(via, {
109
+ value: opts.value,
110
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
111
+ body: encode_decode_1.codeTable[opcodes.OP_FEE_SetChainFee].enCode(opts),
112
+ });
113
+ }
114
+ async sendSetChainFees(provider, via, opts) {
115
+ await provider.internal(via, {
116
+ value: opts.value,
117
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
118
+ body: encode_decode_1.codeTable[opcodes.OP_FEE_SetChainFees].enCode(opts),
119
+ });
120
+ }
121
+ async sendAddTokenPair(provider, via, opts) {
122
+ let bodyHex = encode_decode_1.codeTable[opcodes.OP_TOKENPAIR_Upsert].enCode(opts).toBoc().toString('hex');
123
+ logger_1.logger.info(formatUtil.format("bodyHex %s", bodyHex));
124
+ await provider.internal(via, {
125
+ value: opts.value,
126
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
127
+ body: encode_decode_1.codeTable[opcodes.OP_TOKENPAIR_Upsert].enCode(opts),
128
+ });
129
+ }
130
+ async sendRemoveTokenPair(provider, via, opts) {
131
+ let bodyCell = encode_decode_1.codeTable[opcodes.OP_TOKENPAIR_Remove].enCode(opts);
132
+ await provider.internal(via, {
133
+ value: opts.value,
134
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
135
+ body: bodyCell,
136
+ });
137
+ }
138
+ async getJettonWalletAddr(provider, jettonMaster, owner) {
139
+ let c = JettonMinter_1.JettonMinter.createFromAddress(jettonMaster);
140
+ let jettonMinterScOpened = await provider.open(c);
141
+ return await jettonMinterScOpened.getWalletAddress(owner);
142
+ }
143
+ async getJettonAdminAddr(provider, jettonMaster) {
144
+ let c = JettonMinter_1.JettonMinter.createFromAddress(jettonMaster);
145
+ let jettonMinterScOpened = await provider.open(c);
146
+ return await jettonMinterScOpened.getAdminAddress();
147
+ }
148
+ async getTokenAccount(provider, tokenPairID) {
149
+ // 1. get tokenpair from bridge
150
+ let tokePairInfo = await this.getTokenPair(provider, tokenPairID);
151
+ logger_1.logger.info(formatUtil.format("tokePairInfo", tokePairInfo));
152
+ // 2. check src account and dst account
153
+ let tokenAccount = "";
154
+ if (tokePairInfo.fromChainID == const_value_1.BIP44_CHAINID) {
155
+ tokenAccount = tokePairInfo.fromAccount;
156
+ }
157
+ else {
158
+ if (tokePairInfo.toChainID == const_value_1.BIP44_CHAINID) {
159
+ tokenAccount = tokePairInfo.toAccount;
160
+ }
161
+ else {
162
+ throw "TokenPair not support";
163
+ }
164
+ }
165
+ return tokenAccount;
166
+ }
167
+ async sendUserLock(provider, via, opts, differentQueryID) {
168
+ let ret = await (0, userLock_1.buildUserLockMessages)({
169
+ value: opts.value,
170
+ smgID: opts.smgID,
171
+ tokenPairID: opts.tokenPairID,
172
+ crossValue: opts.crossValue,
173
+ dstUserAccount: opts.dstUserAccount,
174
+ bridgeScAddr: opts.bridgeScAddr,
175
+ client: opts.client,
176
+ senderAccount: opts.senderAccount
177
+ }, differentQueryID);
178
+ logger_1.logger.info("ret==>", ret);
179
+ logger_1.logger.info("ret.to==>", ret.to);
180
+ if (ret.to.toString() == this.address.toString()) {
181
+ logger_1.logger.info("entering lock coin");
182
+ let totalValue;
183
+ totalValue = ret.value;
184
+ await provider.internal(via, {
185
+ value: totalValue,
186
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
187
+ body: ret.body
188
+ });
189
+ }
190
+ else {
191
+ logger_1.logger.info("entering lock token");
192
+ let provider = await opts.client.provider(ret.to);
193
+ await provider.internal(via, {
194
+ value: opts.value,
195
+ //sendMode: SendMode.PAY_GAS_SEPARATELY,
196
+ sendMode: core_1.SendMode.NONE,
197
+ body: ret.body
198
+ });
199
+ }
200
+ }
201
+ async sendSmgRelease(provider, via, opts) {
202
+ logger_1.logger.info("opts1", opts);
203
+ let body = encode_decode_1.codeTable[opcodes.OP_CROSS_SmgRelease].enCode(opts);
204
+ await provider.internal(via, {
205
+ value: opts.value,
206
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
207
+ body: body
208
+ });
209
+ }
210
+ async sendHalt(provider, via, opts) {
211
+ await provider.internal(via, {
212
+ value: opts.value,
213
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
214
+ body: (0, core_1.beginCell)()
215
+ .storeUint(opcodes.OP_COMMON_SetHalt, 32)
216
+ .storeUint(opts.queryID ?? 0, 64)
217
+ .storeUint(opts.halt, 2)
218
+ .endCell(),
219
+ });
220
+ }
221
+ async sendTransferCrossOwner(provider, sender, opts) {
222
+ await provider.internal(sender, {
223
+ value: opts.value,
224
+ body: (0, core_1.beginCell)()
225
+ .storeUint(opcodes.OP_COMMON_TransferOwner, 32) // op (op #1 = increment)
226
+ .storeUint(opts.queryID ? opts.queryID : 0, 64) // query id
227
+ .storeAddress(opts.owner)
228
+ .endCell()
229
+ });
230
+ }
231
+ async getCrossConfig(provider) {
232
+ const common = await provider.get('get_cross_config', []);
233
+ let oracleAdmin = await provider.get('get_oracle_admin', []);
234
+ let feeConfig = await provider.get('get_fee_config', []);
235
+ return {
236
+ owner: common.stack.readAddress(),
237
+ halt: common.stack.readNumber(),
238
+ init: common.stack.readNumber(),
239
+ oracleAdmin: oracleAdmin.stack.readAddress(),
240
+ feeProxyAdmin: feeConfig.stack.readAddress(),
241
+ operator: feeConfig.stack.readAddress(),
242
+ };
243
+ }
244
+ async getChainFee(provider, srcChainId, dstChainId) {
245
+ const result = await provider.get('get_chain_fee', [{ type: 'int', value: BigInt(srcChainId) },
246
+ { type: 'int', value: BigInt(dstChainId) }]);
247
+ return {
248
+ contractFee: result.stack.readNumber(),
249
+ agentFee: result.stack.readNumber()
250
+ };
251
+ }
252
+ async getTokenPairFee(provider, tokenpair) {
253
+ const result = await provider.get('get_tokenpair_fee', [{ type: 'int', value: BigInt(tokenpair) }]);
254
+ return result.stack.readNumber();
255
+ }
256
+ async getTokenPair(provider, tokenPairId) {
257
+ const result = await provider.get('get_token_pair', [{ type: 'int', value: BigInt(tokenPairId) }]);
258
+ let fromChainID = result.stack.readNumber();
259
+ let fromAccount = result.stack.readBuffer();
260
+ let toChainID = result.stack.readNumber();
261
+ let toAccount = result.stack.readBuffer();
262
+ let jettonAdminAddr = result.stack.readBuffer();
263
+ let exist = 1;
264
+ if (result.stack.remaining) {
265
+ exist = result.stack.readNumber();
266
+ }
267
+ let walletCode = core_1.Cell.EMPTY;
268
+ if (result.stack.remaining) {
269
+ walletCode = result.stack.readCellOpt();
270
+ }
271
+ let pair = { fromChainID, toChainID, fromAccount: "", toAccount: "", jettonAdminAddr: "", walletCodeBase64: "", exist: "" };
272
+ if (pair.fromChainID == 0 || pair.toChainID == 0) {
273
+ return pair;
274
+ }
275
+ if (const_value_1.BIP44_CHAINID == fromChainID) {
276
+ let addr = new core_1.Address(0, fromAccount);
277
+ pair['fromAccount'] = addr.toString();
278
+ pair['toAccount'] = "0x" + toAccount.toString('hex');
279
+ }
280
+ else {
281
+ let addr = new core_1.Address(0, toAccount);
282
+ pair['toAccount'] = addr.toString();
283
+ pair['fromAccount'] = "0x" + fromAccount.toString('hex');
284
+ }
285
+ pair['exist'] = exist.toString();
286
+ pair['jettonAdminAddr'] = (new core_1.Address(0, jettonAdminAddr)).toString();
287
+ pair['walletCodeBase64'] = walletCode.toBoc().toString('base64');
288
+ return pair;
289
+ }
290
+ async getFirstTokenPairID(provider) {
291
+ const result = await provider.get('get_first_tokenpair_id', []);
292
+ // todo getTokenPair
293
+ return result.stack.readNumber();
294
+ }
295
+ async getNextTokenPairID(provider, id) {
296
+ const result = await provider.get('get_next_tokenpair_id', [{ type: 'int', value: BigInt(id) }]);
297
+ // todo getTokenPair
298
+ return result.stack.readNumber();
299
+ }
300
+ async getFirstStoremanGroupID(provider) {
301
+ const { stack } = await provider.get("get_first_smg_id", []);
302
+ return stack.readBigNumber();
303
+ }
304
+ async getNextStoremanGroupID(provider, id) {
305
+ const { stack } = await provider.get("get_next_smg_id", [{ type: 'int', value: id }]);
306
+ return stack.readBigNumber();
307
+ }
308
+ async getFirstStoremanGroupIDCommited(provider) {
309
+ const { stack } = await provider.get("get_first_smg_id_Commited", []);
310
+ return stack.readBigNumber();
311
+ }
312
+ async getNextStoremanGroupIDCommited(provider, id) {
313
+ const { stack } = await provider.get("get_next_smg_id_Commited", [{ type: 'int', value: id }]);
314
+ return stack.readBigNumber();
315
+ }
316
+ async getStoremanGroupConfig(provider, id) {
317
+ const { stack } = await provider.get("get_smgConfig", [{ type: 'int', value: id }]);
318
+ return {
319
+ gpkX: stack.readBigNumber(),
320
+ gpkY: stack.readBigNumber(),
321
+ startTime: stack.readBigNumber(),
322
+ endTime: stack.readBigNumber(),
323
+ };
324
+ }
325
+ async getStoremanGroupConfigCommited(provider, id) {
326
+ const { stack } = await provider.get("get_smgConfigCommited", [{ type: 'int', value: id }]);
327
+ return {
328
+ gpkX: stack.readBigNumber(),
329
+ gpkY: stack.readBigNumber(),
330
+ startTime: stack.readBigNumber(),
331
+ endTime: stack.readBigNumber(),
332
+ };
333
+ }
334
+ async sendSetStoremanGroupConfig(provider, sender, opts) {
335
+ await provider.internal(sender, {
336
+ value: opts.value,
337
+ body: (0, core_1.beginCell)()
338
+ .storeUint(opcodes.OP_ORACLE_SetSMG, 32)
339
+ .storeUint(0, 64) // query id
340
+ .storeUint(opts.id, 256)
341
+ .storeUint(opts.gpkX, 256)
342
+ .storeUint(opts.gpkY, 256)
343
+ .storeUint(opts.startTime, 64)
344
+ .storeUint(opts.endTime, 64)
345
+ .endCell()
346
+ });
347
+ }
348
+ async sendRemoveStoremanGroup(provider, sender, opts) {
349
+ await provider.internal(sender, {
350
+ value: opts.value,
351
+ body: (0, core_1.beginCell)()
352
+ .storeUint(opcodes.OP_ORACLE_DeleteSMG, 32)
353
+ .storeUint(0, 64) // query id
354
+ .storeUint(opts.id, 256)
355
+ .endCell()
356
+ });
357
+ }
358
+ async sendSetStoremanGroupConfigCommit(provider, sender, opts) {
359
+ await provider.internal(sender, {
360
+ value: opts.value,
361
+ body: (0, core_1.beginCell)()
362
+ .storeUint(opcodes.OP_ORACLE_CommitSMG, 32)
363
+ .storeUint(0, 64) // query id
364
+ .storeUint(opts.id, 256)
365
+ .storeUint(opts.gpkX, 256)
366
+ .storeUint(opts.gpkY, 256)
367
+ .storeUint(opts.startTime, 64)
368
+ .storeUint(opts.endTime, 64)
369
+ .endCell()
370
+ });
371
+ }
372
+ async getBalance(provider) {
373
+ let state = await provider.getState();
374
+ return state.balance;
375
+ }
376
+ async sendAddAdmin(provider, via, opts) {
377
+ let isValid = core_1.Address.isAddress(opts.adminAddr);
378
+ if (!isValid) {
379
+ await Promise.reject("in valid address");
380
+ }
381
+ await provider.internal(via, {
382
+ value: opts.value,
383
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
384
+ body: (0, core_1.beginCell)()
385
+ .storeUint(opcodes.OP_FEE_AddCrossAdmin, 32)
386
+ .storeUint(opts.queryID ?? 0, 64)
387
+ .storeAddress(opts.adminAddr)
388
+ .endCell(),
389
+ });
390
+ }
391
+ async sendRemoveAdmin(provider, via, opts) {
392
+ let isValid = core_1.Address.isAddress(opts.adminAddr);
393
+ if (!isValid) {
394
+ await Promise.reject("in valid address");
395
+ }
396
+ return await provider.internal(via, {
397
+ value: opts.value,
398
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
399
+ body: (0, core_1.beginCell)()
400
+ .storeUint(opcodes.OP_FEE_DelCrossAdmin, 32)
401
+ .storeUint(opts.queryID ?? 0, 64)
402
+ .storeAddress(opts.adminAddr)
403
+ .endCell(),
404
+ });
405
+ }
406
+ async sendSetFeeProxy(provider, via, opts) {
407
+ let isValid = core_1.Address.isAddress(opts.feeProxy);
408
+ if (!isValid) {
409
+ await Promise.reject("in valid address");
410
+ }
411
+ return await provider.internal(via, {
412
+ value: opts.value,
413
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
414
+ body: (0, core_1.beginCell)()
415
+ .storeUint(opcodes.OP_FEE_SetSmgFeeProxy, 32)
416
+ .storeUint(opts.queryID ?? 0, 64)
417
+ .storeAddress(opts.feeProxy)
418
+ .endCell(),
419
+ });
420
+ }
421
+ async getFirstAdmin(provider) {
422
+ const { stack } = await provider.get("get_first_crossAdmin", []);
423
+ let s = stack.readBuffer();
424
+ if (s.toString('hex') == '0000000000000000000000000000000000000000000000000000000000000000') {
425
+ return "";
426
+ }
427
+ let addr = new core_1.Address(0, s);
428
+ return addr.toString();
429
+ }
430
+ async getNextAdmin(provider, adminAddr) {
431
+ const { stack } = await provider.get("get_next_crossAdmin", [{ type: 'slice', cell: (0, core_1.beginCell)().storeAddress(adminAddr).endCell() }]);
432
+ let s = stack.readBuffer();
433
+ if (s.toString('hex') == '0000000000000000000000000000000000000000000000000000000000000000') {
434
+ return "";
435
+ }
436
+ let addr = new core_1.Address(0, s);
437
+ return addr.toString();
438
+ }
439
+ // for upgrade sc test
440
+ async getUpdatedInt(provider) {
441
+ const result = await provider.get('get_updated_int', []);
442
+ return result.stack.readNumber();
443
+ }
444
+ async sendUpdateInt(provider, opts) {
445
+ await provider.internal(opts.sender, {
446
+ value: opts.value,
447
+ body: (0, core_1.beginCell)()
448
+ .storeUint(opcodes.OP_EXTEND_UpdateAddInt, 32) // op (op #1 = increment)
449
+ .storeUint(0, 64) // query id
450
+ .endCell()
451
+ });
452
+ }
453
+ async sendUpgradeSC(provider, via, opts) {
454
+ await provider.internal(via, {
455
+ value: opts.value,
456
+ body: (0, core_1.beginCell)()
457
+ .storeUint(opcodes.OP_UPGRADE_Code, 32) // op (op #1 = increment)
458
+ .storeUint(0, 64) // query id
459
+ .storeRef(opts.code)
460
+ .endCell()
461
+ });
462
+ }
463
+ async getVersion(provider) {
464
+ const result = await provider.get('version', []);
465
+ return result.stack.readString();
466
+ }
467
+ }
468
+ exports.Bridge = Bridge;
@@ -0,0 +1,2 @@
1
+ import { CompilerConfig } from '@ton/blueprint';
2
+ export declare const compile: CompilerConfig;