@ton/blueprint 0.10.0 → 0.13.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +8 -4
  3. package/dist/build.d.ts +3 -0
  4. package/dist/build.js +57 -0
  5. package/dist/cli/Runner.d.ts +5 -0
  6. package/dist/cli/Runner.js +4 -0
  7. package/dist/cli/build.d.ts +1 -3
  8. package/dist/cli/build.js +5 -46
  9. package/dist/cli/cli.d.ts +0 -5
  10. package/dist/cli/cli.js +47 -5
  11. package/dist/cli/create.d.ts +1 -1
  12. package/dist/cli/create.js +1 -1
  13. package/dist/cli/help.d.ts +2 -1
  14. package/dist/cli/help.js +12 -3
  15. package/dist/cli/run.d.ts +1 -1
  16. package/dist/cli/test.d.ts +1 -1
  17. package/dist/compile/CompilerConfig.d.ts +3 -1
  18. package/dist/compile/OverwritableVirtualFileSystem.d.ts +1 -0
  19. package/dist/compile/OverwritableVirtualFileSystem.js +6 -3
  20. package/dist/compile/compile.d.ts +1 -1
  21. package/dist/compile/compile.js +6 -5
  22. package/dist/config/Config.d.ts +4 -0
  23. package/dist/config/Config.js +2 -0
  24. package/dist/config/Plugin.d.ts +9 -0
  25. package/dist/config/Plugin.js +2 -0
  26. package/dist/index.d.ts +4 -0
  27. package/dist/index.js +4 -1
  28. package/dist/network/NetworkProvider.d.ts +4 -4
  29. package/dist/network/createNetworkProvider.js +45 -16
  30. package/dist/network/send/DeeplinkProvider.d.ts +1 -1
  31. package/dist/network/send/DeeplinkProvider.js +2 -2
  32. package/dist/network/send/MnemonicProvider.d.ts +3 -3
  33. package/dist/network/send/MnemonicProvider.js +6 -6
  34. package/dist/network/send/SendProvider.d.ts +1 -1
  35. package/dist/network/send/TonConnectProvider.d.ts +1 -1
  36. package/dist/network/send/TonConnectProvider.js +4 -4
  37. package/dist/network/send/TonHubProvider.d.ts +1 -1
  38. package/dist/network/send/TonHubProvider.js +4 -4
  39. package/dist/templates/func/common/wrappers/compile.ts.template +1 -1
  40. package/dist/templates/func/counter/scripts/deploy.ts.template +2 -2
  41. package/dist/templates/func/counter/scripts/increment.ts.template +2 -2
  42. package/dist/templates/func/counter/tests/spec.ts.template +6 -5
  43. package/dist/templates/func/counter/wrappers/wrapper.ts.template +1 -1
  44. package/dist/templates/func/empty/scripts/deploy.ts.template +2 -2
  45. package/dist/templates/func/empty/tests/spec.ts.template +6 -5
  46. package/dist/templates/func/empty/wrappers/wrapper.ts.template +1 -1
  47. package/dist/templates/tact/common/wrappers/compile.ts.template +1 -1
  48. package/dist/templates/tact/counter/scripts/deploy.ts.template +2 -2
  49. package/dist/templates/tact/counter/scripts/increment.ts.template +2 -2
  50. package/dist/templates/tact/counter/tests/spec.ts.template +5 -4
  51. package/dist/templates/tact/empty/scripts/deploy.ts.template +2 -2
  52. package/dist/templates/tact/empty/tests/spec.ts.template +5 -4
  53. package/dist/utils.d.ts +1 -1
  54. package/dist/utils.js +2 -2
  55. package/package.json +49 -50
@@ -21,23 +21,24 @@ const arg_1 = __importDefault(require("arg"));
21
21
  const DeeplinkProvider_1 = require("./send/DeeplinkProvider");
22
22
  const TonConnectProvider_1 = require("./send/TonConnectProvider");
23
23
  const TonHubProvider_1 = require("./send/TonHubProvider");
24
- const ton_core_1 = require("ton-core");
25
- const ton_1 = require("ton");
24
+ const core_1 = require("@ton/core");
25
+ const ton_1 = require("@ton/ton");
26
26
  const ton_access_1 = require("@orbs-network/ton-access");
27
27
  const FSStorage_1 = require("./storage/FSStorage");
28
28
  const path_1 = __importDefault(require("path"));
29
29
  const paths_1 = require("../paths");
30
- const ton_crypto_1 = require("ton-crypto");
30
+ const crypto_1 = require("@ton/crypto");
31
31
  const MnemonicProvider_1 = require("./send/MnemonicProvider");
32
32
  const argSpec = {
33
33
  '--mainnet': Boolean,
34
34
  '--testnet': Boolean,
35
+ '--custom': String,
35
36
  '--tonconnect': Boolean,
36
37
  '--deeplink': Boolean,
37
38
  '--tonhub': Boolean,
38
39
  '--mnemonic': Boolean,
39
40
  '--tonscan': Boolean,
40
- '--tonapi': Boolean,
41
+ '--tonviewer': Boolean,
41
42
  '--toncx': Boolean,
42
43
  '--dton': Boolean,
43
44
  };
@@ -52,7 +53,7 @@ class SendProviderSender {
52
53
  console.warn("Warning: blueprint's Sender does not support `bounce` flag, because it is ignored by all used Sender APIs");
53
54
  console.warn('To silence this warning, change your `bounce` flags passed to Senders to unset or undefined');
54
55
  }
55
- if (!(args.sendMode === undefined || args.sendMode == ton_core_1.SendMode.PAY_GAS_SEPARATELY)) {
56
+ if (!(args.sendMode === undefined || args.sendMode === core_1.SendMode.PAY_GAS_SEPARATELY)) {
56
57
  throw new Error('Deployer sender does not support `sendMode` other than `PAY_GAS_SEPARATELY`');
57
58
  }
58
59
  await __classPrivateFieldGet(this, _SendProviderSender_provider, "f").sendTransaction(args.to, args.value, args.body ?? undefined, args.init ?? undefined);
@@ -81,11 +82,11 @@ class WrappedContractProvider {
81
82
  const init = __classPrivateFieldGet(this, _WrappedContractProvider_init, "f") && (await this.getState()).state.type !== 'active' ? __classPrivateFieldGet(this, _WrappedContractProvider_init, "f") : undefined;
82
83
  return await via.send({
83
84
  to: __classPrivateFieldGet(this, _WrappedContractProvider_address, "f"),
84
- value: typeof args.value === 'string' ? (0, ton_core_1.toNano)(args.value) : args.value,
85
+ value: typeof args.value === 'string' ? (0, core_1.toNano)(args.value) : args.value,
85
86
  sendMode: args.sendMode,
86
87
  bounce: args.bounce,
87
88
  init,
88
- body: typeof args.body === 'string' ? (0, ton_core_1.comment)(args.body) : args.body,
89
+ body: typeof args.body === 'string' ? (0, core_1.comment)(args.body) : args.body,
89
90
  });
90
91
  }
91
92
  }
@@ -116,10 +117,20 @@ class NetworkProviderImpl {
116
117
  return __classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f");
117
118
  }
118
119
  provider(address, init) {
119
- return new WrappedContractProvider(address, __classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f").provider(address, init ? { code: init.code ?? new ton_core_1.Cell(), data: init.data ?? new ton_core_1.Cell() } : undefined), init);
120
+ if (__classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f") instanceof ton_1.TonClient4) {
121
+ return new WrappedContractProvider(address, __classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f").provider(address, init ? { code: init.code ?? new core_1.Cell(), data: init.data ?? new core_1.Cell() } : undefined), init);
122
+ }
123
+ else {
124
+ return new WrappedContractProvider(address, __classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f").provider(address, { code: init?.code ?? new core_1.Cell(), data: init?.data ?? new core_1.Cell() }), init);
125
+ }
120
126
  }
121
127
  async isContractDeployed(address) {
122
- return __classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f").isContractDeployed((await __classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f").getLastBlock()).last.seqno, address);
128
+ if (__classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f") instanceof ton_1.TonClient4) {
129
+ return __classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f").isContractDeployed((await __classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f").getLastBlock()).last.seqno, address);
130
+ }
131
+ else {
132
+ return (await __classPrivateFieldGet(this, _NetworkProviderImpl_tc, "f").getContractState(address)).state === 'active';
133
+ }
123
134
  }
124
135
  async waitForDeploy(address, attempts = 10, sleepDuration = 2000) {
125
136
  if (attempts <= 0) {
@@ -163,7 +174,7 @@ class NetworkProviderImpl {
163
174
  await this.waitForDeploy(contract.address, waitAttempts);
164
175
  }
165
176
  open(contract) {
166
- return (0, ton_core_1.openContract)(contract, (params) => this.provider(params.address, params.init ?? undefined));
177
+ return (0, core_1.openContract)(contract, (params) => this.provider(params.address, params.init ?? undefined));
167
178
  }
168
179
  ui() {
169
180
  return __classPrivateFieldGet(this, _NetworkProviderImpl_ui, "f");
@@ -176,7 +187,7 @@ async function createMnemonicProvider(client, ui) {
176
187
  if (mnemonic.length === 0 || walletVersion.length === 0) {
177
188
  throw new Error('Mnemonic deployer was chosen, but env variables WALLET_MNEMONIC and WALLET_VERSION are not set');
178
189
  }
179
- const keyPair = await (0, ton_crypto_1.mnemonicToPrivateKey)(mnemonic.split(' '));
190
+ const keyPair = await (0, crypto_1.mnemonicToPrivateKey)(mnemonic.split(' '));
180
191
  return new MnemonicProvider_1.MnemonicProvider({
181
192
  version: walletVersion.toLowerCase(),
182
193
  client,
@@ -193,16 +204,24 @@ class NetworkProviderBuilder {
193
204
  let network = (0, utils_1.oneOrZeroOf)({
194
205
  mainnet: this.args['--mainnet'],
195
206
  testnet: this.args['--testnet'],
207
+ custom: this.args['--custom'] !== undefined,
196
208
  });
197
209
  if (!network) {
198
- network = await this.ui.choose('Which network do you want to use?', ['mainnet', 'testnet'], (c) => c);
210
+ network = await this.ui.choose('Which network do you want to use?', ['mainnet', 'testnet', 'custom'], (c) => c);
211
+ if (network === 'custom') {
212
+ const defaultCustomEndpoint = 'http://localhost:8081/';
213
+ this.args['--custom'] = (await this.ui.input(`Provide a custom API v2 endpoint (default is ${defaultCustomEndpoint})`)).trim();
214
+ if (this.args['--custom'] === '')
215
+ this.args['--custom'] = defaultCustomEndpoint;
216
+ this.args['--custom'] += 'jsonRPC';
217
+ }
199
218
  }
200
219
  return network;
201
220
  }
202
221
  chooseExplorer() {
203
222
  return ((0, utils_1.oneOrZeroOf)({
204
223
  tonscan: this.args['--tonscan'],
205
- tonapi: this.args['--tonapi'],
224
+ tonviewer: this.args['--tonviewer'],
206
225
  toncx: this.args['--toncx'],
207
226
  dton: this.args['--dton'],
208
227
  }) ?? 'tonscan');
@@ -241,9 +260,13 @@ class NetworkProviderBuilder {
241
260
  provider = new DeeplinkProvider_1.DeeplinkProvider(this.ui);
242
261
  break;
243
262
  case 'tonconnect':
263
+ if (network === 'custom')
264
+ throw new Error('Tonkeeper cannot work with custom network.');
244
265
  provider = new TonConnectProvider_1.TonConnectProvider(new FSStorage_1.FSStorage(storagePath), this.ui);
245
266
  break;
246
267
  case 'tonhub':
268
+ if (network === 'custom')
269
+ throw new Error('TonHub cannot work with custom network.');
247
270
  provider = new TonHubProvider_1.TonHubProvider(network, new FSStorage_1.FSStorage(storagePath), this.ui);
248
271
  break;
249
272
  case 'mnemonic':
@@ -257,9 +280,15 @@ class NetworkProviderBuilder {
257
280
  async build() {
258
281
  const network = await this.chooseNetwork();
259
282
  const explorer = this.chooseExplorer();
260
- const tc = new ton_1.TonClient4({
261
- endpoint: await (0, ton_access_1.getHttpV4Endpoint)({ network }),
262
- });
283
+ let tc;
284
+ if (network === 'custom') {
285
+ tc = new ton_1.TonClient({ endpoint: this.args['--custom'] });
286
+ }
287
+ else {
288
+ tc = new ton_1.TonClient4({
289
+ endpoint: await (0, ton_access_1.getHttpV4Endpoint)({ network }),
290
+ });
291
+ }
263
292
  const sendProvider = await this.chooseSendProvider(network, tc);
264
293
  try {
265
294
  await sendProvider.connect();
@@ -1,4 +1,4 @@
1
- import { Address, Cell, StateInit } from 'ton-core';
1
+ import { Address, Cell, StateInit } from '@ton/core';
2
2
  import { SendProvider } from './SendProvider';
3
3
  import { UIProvider } from '../../ui/UIProvider';
4
4
  export declare class DeeplinkProvider implements SendProvider {
@@ -16,7 +16,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  var _DeeplinkProvider_ui;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.DeeplinkProvider = void 0;
19
- const ton_core_1 = require("ton-core");
19
+ const core_1 = require("@ton/core");
20
20
  const utils_1 = require("../../utils");
21
21
  const qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
22
22
  class DeeplinkProvider {
@@ -28,7 +28,7 @@ class DeeplinkProvider {
28
28
  return;
29
29
  }
30
30
  async sendTransaction(address, amount, payload, stateInit) {
31
- const deepLink = (0, utils_1.tonDeepLink)(address, amount, payload, stateInit ? (0, ton_core_1.beginCell)().storeWritable((0, ton_core_1.storeStateInit)(stateInit)).endCell() : undefined);
31
+ const deepLink = (0, utils_1.tonDeepLink)(address, amount, payload, stateInit ? (0, core_1.beginCell)().storeWritable((0, core_1.storeStateInit)(stateInit)).endCell() : undefined);
32
32
  __classPrivateFieldGet(this, _DeeplinkProvider_ui, "f").write('\n');
33
33
  qrcode_terminal_1.default.generate(deepLink, { small: true }, (qr) => __classPrivateFieldGet(this, _DeeplinkProvider_ui, "f").write(qr));
34
34
  __classPrivateFieldGet(this, _DeeplinkProvider_ui, "f").write('\n');
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
- import { TonClient4 } from 'ton';
3
- import { Address, Cell, StateInit } from 'ton-core';
2
+ import { TonClient, TonClient4 } from '@ton/ton';
3
+ import { Address, Cell, StateInit } from '@ton/core';
4
4
  import { SendProvider } from './SendProvider';
5
5
  import { UIProvider } from '../../ui/UIProvider';
6
6
  export type WalletVersion = 'v1r1' | 'v1r2' | 'v1r3' | 'v2r1' | 'v2r2' | 'v3r1' | 'v3r2' | 'v4';
@@ -10,7 +10,7 @@ export declare class MnemonicProvider implements SendProvider {
10
10
  version: WalletVersion;
11
11
  workchain?: number;
12
12
  secretKey: Buffer;
13
- client: TonClient4;
13
+ client: TonClient4 | TonClient;
14
14
  ui: UIProvider;
15
15
  });
16
16
  connect(): Promise<void>;
@@ -13,9 +13,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  var _MnemonicProvider_wallet, _MnemonicProvider_secretKey, _MnemonicProvider_client, _MnemonicProvider_ui;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.MnemonicProvider = void 0;
16
- const ton_1 = require("ton");
17
- const ton_core_1 = require("ton-core");
18
- const ton_crypto_1 = require("ton-crypto");
16
+ const ton_1 = require("@ton/ton");
17
+ const core_1 = require("@ton/core");
18
+ const crypto_1 = require("@ton/crypto");
19
19
  const wallets = {
20
20
  v1r1: ton_1.WalletContractV1R1,
21
21
  v1r2: ton_1.WalletContractV1R2,
@@ -35,9 +35,9 @@ class MnemonicProvider {
35
35
  if (!(params.version in wallets)) {
36
36
  throw new Error(`Unknown wallet version ${params.version}`);
37
37
  }
38
- const kp = (0, ton_crypto_1.keyPairFromSecretKey)(params.secretKey);
38
+ const kp = (0, crypto_1.keyPairFromSecretKey)(params.secretKey);
39
39
  __classPrivateFieldSet(this, _MnemonicProvider_client, params.client, "f");
40
- __classPrivateFieldSet(this, _MnemonicProvider_wallet, (0, ton_core_1.openContract)(wallets[params.version].create({
40
+ __classPrivateFieldSet(this, _MnemonicProvider_wallet, (0, core_1.openContract)(wallets[params.version].create({
41
41
  workchain: params.workchain ?? 0,
42
42
  publicKey: kp.publicKey,
43
43
  }), (params) => __classPrivateFieldGet(this, _MnemonicProvider_client, "f").provider(params.address, params.init)), "f");
@@ -54,7 +54,7 @@ class MnemonicProvider {
54
54
  messages: [
55
55
  {
56
56
  init: stateInit,
57
- body: payload ?? new ton_core_1.Cell(),
57
+ body: payload ?? new core_1.Cell(),
58
58
  info: {
59
59
  type: 'internal',
60
60
  ihrDisabled: true,
@@ -1,4 +1,4 @@
1
- import { Address, Cell, StateInit } from 'ton-core';
1
+ import { Address, Cell, StateInit } from '@ton/core';
2
2
  export interface SendProvider {
3
3
  connect(): Promise<void>;
4
4
  sendTransaction(address: Address, amount: bigint, payload?: Cell, stateInit?: StateInit): Promise<any>;
@@ -1,4 +1,4 @@
1
- import { Address, Cell, StateInit } from 'ton-core';
1
+ import { Address, Cell, StateInit } from '@ton/core';
2
2
  import { SendProvider } from './SendProvider';
3
3
  import { Storage } from '../storage/Storage';
4
4
  import { UIProvider } from '../../ui/UIProvider';
@@ -18,7 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TonConnectProvider = void 0;
19
19
  const qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
20
20
  const sdk_1 = __importDefault(require("@tonconnect/sdk"));
21
- const ton_core_1 = require("ton-core");
21
+ const core_1 = require("@ton/core");
22
22
  class TonConnectStorage {
23
23
  constructor(inner) {
24
24
  _TonConnectStorage_inner.set(this, void 0);
@@ -50,12 +50,12 @@ class TonConnectProvider {
50
50
  }
51
51
  async connect() {
52
52
  await this.connectWallet();
53
- __classPrivateFieldGet(this, _TonConnectProvider_ui, "f").write(`Connected to wallet at address: ${ton_core_1.Address.parse(__classPrivateFieldGet(this, _TonConnectProvider_connector, "f").wallet.account.address).toString()}\n`);
53
+ __classPrivateFieldGet(this, _TonConnectProvider_ui, "f").write(`Connected to wallet at address: ${core_1.Address.parse(__classPrivateFieldGet(this, _TonConnectProvider_connector, "f").wallet.account.address).toString()}\n`);
54
54
  }
55
55
  address() {
56
56
  if (!__classPrivateFieldGet(this, _TonConnectProvider_connector, "f").wallet)
57
57
  return undefined;
58
- return ton_core_1.Address.parse(__classPrivateFieldGet(this, _TonConnectProvider_connector, "f").wallet.account.address);
58
+ return core_1.Address.parse(__classPrivateFieldGet(this, _TonConnectProvider_connector, "f").wallet.account.address);
59
59
  }
60
60
  async connectWallet() {
61
61
  const wallets = (await __classPrivateFieldGet(this, _TonConnectProvider_connector, "f").getWallets()).filter(isRemote);
@@ -94,7 +94,7 @@ class TonConnectProvider {
94
94
  amount: amount.toString(),
95
95
  payload: payload?.toBoc().toString('base64'),
96
96
  stateInit: stateInit
97
- ? (0, ton_core_1.beginCell)().storeWritable((0, ton_core_1.storeStateInit)(stateInit)).endCell().toBoc().toString('base64')
97
+ ? (0, core_1.beginCell)().storeWritable((0, core_1.storeStateInit)(stateInit)).endCell().toBoc().toString('base64')
98
98
  : undefined,
99
99
  },
100
100
  ],
@@ -1,4 +1,4 @@
1
- import { Address, Cell, StateInit } from 'ton-core';
1
+ import { Address, Cell, StateInit } from '@ton/core';
2
2
  import { SendProvider } from './SendProvider';
3
3
  import { Storage } from '../storage/Storage';
4
4
  import { UIProvider } from '../../ui/UIProvider';
@@ -16,7 +16,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  var _TonHubProvider_connector, _TonHubProvider_storage, _TonHubProvider_ui, _TonHubProvider_session;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TonHubProvider = void 0;
19
- const ton_core_1 = require("ton-core");
19
+ const core_1 = require("@ton/core");
20
20
  const ton_x_1 = require("ton-x");
21
21
  const qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
22
22
  const KEY_NAME = 'tonhub_session';
@@ -75,12 +75,12 @@ class TonHubProvider {
75
75
  }
76
76
  async connect() {
77
77
  __classPrivateFieldSet(this, _TonHubProvider_session, await this.getSession(), "f");
78
- __classPrivateFieldGet(this, _TonHubProvider_ui, "f").write(`Connected to wallet at address: ${ton_core_1.Address.parse(__classPrivateFieldGet(this, _TonHubProvider_session, "f").wallet.address).toString()}\n`);
78
+ __classPrivateFieldGet(this, _TonHubProvider_ui, "f").write(`Connected to wallet at address: ${core_1.Address.parse(__classPrivateFieldGet(this, _TonHubProvider_session, "f").wallet.address).toString()}\n`);
79
79
  }
80
80
  address() {
81
81
  if (!__classPrivateFieldGet(this, _TonHubProvider_session, "f"))
82
82
  return undefined;
83
- return ton_core_1.Address.parse(__classPrivateFieldGet(this, _TonHubProvider_session, "f").wallet.address);
83
+ return core_1.Address.parse(__classPrivateFieldGet(this, _TonHubProvider_session, "f").wallet.address);
84
84
  }
85
85
  async sendTransaction(address, amount, payload, stateInit) {
86
86
  if (!__classPrivateFieldGet(this, _TonHubProvider_session, "f"))
@@ -93,7 +93,7 @@ class TonHubProvider {
93
93
  timeout: 5 * 60 * 1000,
94
94
  payload: payload ? payload.toBoc().toString('base64') : undefined,
95
95
  stateInit: stateInit
96
- ? (0, ton_core_1.beginCell)().storeWritable((0, ton_core_1.storeStateInit)(stateInit)).endCell().toBoc().toString('base64')
96
+ ? (0, core_1.beginCell)().storeWritable((0, core_1.storeStateInit)(stateInit)).endCell().toBoc().toString('base64')
97
97
  : undefined,
98
98
  };
99
99
  __classPrivateFieldGet(this, _TonHubProvider_ui, "f").setActionPrompt('Sending transaction. Approve it in your wallet...');
@@ -1,5 +1,5 @@
1
1
  {{name}}.compile.ts
2
- import { CompilerConfig } from '@ton-community/blueprint';
2
+ import { CompilerConfig } from '@ton/blueprint';
3
3
 
4
4
  export const compile: CompilerConfig = {
5
5
  lang: 'func',
@@ -1,7 +1,7 @@
1
1
  deploy{{name}}.ts
2
- import { toNano } from 'ton-core';
2
+ import { toNano } from '@ton/core';
3
3
  import { {{name}} } from '../wrappers/{{name}}';
4
- import { compile, NetworkProvider } from '@ton-community/blueprint';
4
+ import { compile, NetworkProvider } from '@ton/blueprint';
5
5
 
6
6
  export async function run(provider: NetworkProvider) {
7
7
  const {{loweredName}} = provider.open(
@@ -1,7 +1,7 @@
1
1
  increment{{name}}.ts
2
- import { Address, toNano } from 'ton-core';
2
+ import { Address, toNano } from '@ton/core';
3
3
  import { {{name}} } from '../wrappers/{{name}}';
4
- import { NetworkProvider, sleep } from '@ton-community/blueprint';
4
+ import { NetworkProvider, sleep } from '@ton/blueprint';
5
5
 
6
6
  export async function run(provider: NetworkProvider, args: string[]) {
7
7
  const ui = provider.ui();
@@ -1,9 +1,9 @@
1
1
  {{name}}.spec.ts
2
- import { Blockchain, SandboxContract } from '@ton-community/sandbox';
3
- import { Cell, toNano } from 'ton-core';
2
+ import { Blockchain, SandboxContract } from '@ton/sandbox';
3
+ import { Cell, toNano } from '@ton/core';
4
4
  import { {{name}} } from '../wrappers/{{name}}';
5
- import '@ton-community/test-utils';
6
- import { compile } from '@ton-community/blueprint';
5
+ import '@ton/test-utils';
6
+ import { compile } from '@ton/blueprint';
7
7
 
8
8
  describe('{{name}}', () => {
9
9
  let code: Cell;
@@ -13,6 +13,7 @@ describe('{{name}}', () => {
13
13
  });
14
14
 
15
15
  let blockchain: Blockchain;
16
+ let deployer: SandboxContract<TreasuryContract>;
16
17
  let {{loweredName}}: SandboxContract<{{name}}>;
17
18
 
18
19
  beforeEach(async () => {
@@ -28,7 +29,7 @@ describe('{{name}}', () => {
28
29
  )
29
30
  );
30
31
 
31
- const deployer = await blockchain.treasury('deployer');
32
+ deployer = await blockchain.treasury('deployer');
32
33
 
33
34
  const deployResult = await {{loweredName}}.sendDeploy(deployer.getSender(), toNano('0.05'));
34
35
 
@@ -1,5 +1,5 @@
1
1
  {{name}}.ts
2
- import { Address, beginCell, Cell, Contract, contractAddress, ContractProvider, Sender, SendMode } from 'ton-core';
2
+ import { Address, beginCell, Cell, Contract, contractAddress, ContractProvider, Sender, SendMode } from '@ton/core';
3
3
 
4
4
  export type {{name}}Config = {
5
5
  id: number;
@@ -1,7 +1,7 @@
1
1
  deploy{{name}}.ts
2
- import { toNano } from 'ton-core';
2
+ import { toNano } from '@ton/core';
3
3
  import { {{name}} } from '../wrappers/{{name}}';
4
- import { compile, NetworkProvider } from '@ton-community/blueprint';
4
+ import { compile, NetworkProvider } from '@ton/blueprint';
5
5
 
6
6
  export async function run(provider: NetworkProvider) {
7
7
  const {{loweredName}} = provider.open({{name}}.createFromConfig({}, await compile('{{name}}')));
@@ -1,9 +1,9 @@
1
1
  {{name}}.spec.ts
2
- import { Blockchain, SandboxContract } from '@ton-community/sandbox';
3
- import { Cell, toNano } from 'ton-core';
2
+ import { Blockchain, SandboxContract } from '@ton/sandbox';
3
+ import { Cell, toNano } from '@ton/core';
4
4
  import { {{name}} } from '../wrappers/{{name}}';
5
- import '@ton-community/test-utils';
6
- import { compile } from '@ton-community/blueprint';
5
+ import '@ton/test-utils';
6
+ import { compile } from '@ton/blueprint';
7
7
 
8
8
  describe('{{name}}', () => {
9
9
  let code: Cell;
@@ -13,6 +13,7 @@ describe('{{name}}', () => {
13
13
  });
14
14
 
15
15
  let blockchain: Blockchain;
16
+ let deployer: SandboxContract<TreasuryContract>;
16
17
  let {{loweredName}}: SandboxContract<{{name}}>;
17
18
 
18
19
  beforeEach(async () => {
@@ -20,7 +21,7 @@ describe('{{name}}', () => {
20
21
 
21
22
  {{loweredName}} = blockchain.openContract({{name}}.createFromConfig({}, code));
22
23
 
23
- const deployer = await blockchain.treasury('deployer');
24
+ deployer = await blockchain.treasury('deployer');
24
25
 
25
26
  const deployResult = await {{loweredName}}.sendDeploy(deployer.getSender(), toNano('0.05'));
26
27
 
@@ -1,5 +1,5 @@
1
1
  {{name}}.ts
2
- import { Address, beginCell, Cell, Contract, contractAddress, ContractProvider, Sender, SendMode } from 'ton-core';
2
+ import { Address, beginCell, Cell, Contract, contractAddress, ContractProvider, Sender, SendMode } from '@ton/core';
3
3
 
4
4
  export type {{name}}Config = {};
5
5
 
@@ -1,5 +1,5 @@
1
1
  {{name}}.compile.ts
2
- import { CompilerConfig } from '@ton-community/blueprint';
2
+ import { CompilerConfig } from '@ton/blueprint';
3
3
 
4
4
  export const compile: CompilerConfig = {
5
5
  lang: 'tact',
@@ -1,7 +1,7 @@
1
1
  deploy{{name}}.ts
2
- import { toNano } from 'ton-core';
2
+ import { toNano } from '@ton/core';
3
3
  import { {{name}} } from '../wrappers/{{name}}';
4
- import { NetworkProvider } from '@ton-community/blueprint';
4
+ import { NetworkProvider } from '@ton/blueprint';
5
5
 
6
6
  export async function run(provider: NetworkProvider) {
7
7
  const {{loweredName}} = provider.open(await {{name}}.fromInit(BigInt(Math.floor(Math.random() * 10000))));
@@ -1,7 +1,7 @@
1
1
  increment{{name}}.ts
2
- import { Address, toNano } from 'ton-core';
2
+ import { Address, toNano } from '@ton/core';
3
3
  import { {{name}} } from '../wrappers/{{name}}';
4
- import { NetworkProvider, sleep } from '@ton-community/blueprint';
4
+ import { NetworkProvider, sleep } from '@ton/blueprint';
5
5
 
6
6
  export async function run(provider: NetworkProvider, args: string[]) {
7
7
  const ui = provider.ui();
@@ -1,11 +1,12 @@
1
1
  {{name}}.spec.ts
2
- import { Blockchain, SandboxContract } from '@ton-community/sandbox';
3
- import { toNano } from 'ton-core';
2
+ import { Blockchain, SandboxContract } from '@ton/sandbox';
3
+ import { toNano } from '@ton/core';
4
4
  import { {{name}} } from '../wrappers/{{name}}';
5
- import '@ton-community/test-utils';
5
+ import '@ton/test-utils';
6
6
 
7
7
  describe('{{name}}', () => {
8
8
  let blockchain: Blockchain;
9
+ let deployer: SandboxContract<TreasuryContract>;
9
10
  let {{loweredName}}: SandboxContract<{{name}}>;
10
11
 
11
12
  beforeEach(async () => {
@@ -13,7 +14,7 @@ describe('{{name}}', () => {
13
14
 
14
15
  {{loweredName}} = blockchain.openContract(await {{name}}.fromInit(0n));
15
16
 
16
- const deployer = await blockchain.treasury('deployer');
17
+ deployer = await blockchain.treasury('deployer');
17
18
 
18
19
  const deployResult = await {{loweredName}}.send(
19
20
  deployer.getSender(),
@@ -1,7 +1,7 @@
1
1
  deploy{{name}}.ts
2
- import { toNano } from 'ton-core';
2
+ import { toNano } from '@ton/core';
3
3
  import { {{name}} } from '../wrappers/{{name}}';
4
- import { NetworkProvider } from '@ton-community/blueprint';
4
+ import { NetworkProvider } from '@ton/blueprint';
5
5
 
6
6
  export async function run(provider: NetworkProvider) {
7
7
  const {{loweredName}} = provider.open(await {{name}}.fromInit());
@@ -1,11 +1,12 @@
1
1
  {{name}}.spec.ts
2
- import { Blockchain, SandboxContract } from '@ton-community/sandbox';
3
- import { toNano } from 'ton-core';
2
+ import { Blockchain, SandboxContract } from '@ton/sandbox';
3
+ import { toNano } from '@ton/core';
4
4
  import { {{name}} } from '../wrappers/{{name}}';
5
- import '@ton-community/test-utils';
5
+ import '@ton/test-utils';
6
6
 
7
7
  describe('{{name}}', () => {
8
8
  let blockchain: Blockchain;
9
+ let deployer: SandboxContract<TreasuryContract>;
9
10
  let {{loweredName}}: SandboxContract<{{name}}>;
10
11
 
11
12
  beforeEach(async () => {
@@ -13,7 +14,7 @@ describe('{{name}}', () => {
13
14
 
14
15
  {{loweredName}} = blockchain.openContract(await {{name}}.fromInit());
15
16
 
16
- const deployer = await blockchain.treasury('deployer');
17
+ deployer = await blockchain.treasury('deployer');
17
18
 
18
19
  const deployResult = await {{loweredName}}.send(
19
20
  deployer.getSender(),
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Address, Cell } from 'ton-core';
1
+ import { Address, Cell } from '@ton/core';
2
2
  import { UIProvider } from './ui/UIProvider';
3
3
  export declare const tonDeepLink: (address: Address, amount: bigint, body?: Cell, stateInit?: Cell) => string;
4
4
  export declare function sleep(ms: number): Promise<unknown>;
package/dist/utils.js CHANGED
@@ -109,8 +109,8 @@ function getExplorerLink(address, network, explorer) {
109
109
  switch (explorer) {
110
110
  case 'tonscan':
111
111
  return `https://${networkPrefix}tonscan.org/address/${address}`;
112
- case 'tonapi':
113
- return `https://${networkPrefix}tonapi.io/account/${address}`;
112
+ case 'tonviewer':
113
+ return `https://${networkPrefix}tonviewer.com/${address}`;
114
114
  case 'toncx':
115
115
  return `https://${networkPrefix}ton.cx/address/${address}`;
116
116
  case 'dton':