@metoncash/sdk-v1 0.2.1 → 0.3.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.
@@ -25,10 +25,23 @@ export declare const ExcessMessage: {
25
25
  store(self: ExcessMessage, b: c.Builder): void;
26
26
  toCell(self: ExcessMessage): c.Cell;
27
27
  };
28
+ /**
29
+ > enum ReceiveMode { 3 variants }
30
+ */
31
+ export type ReceiveMode = bigint;
32
+ export declare const ReceiveMode: {
33
+ FromAnyone: bigint;
34
+ FromNoOne: bigint;
35
+ FromOnly: bigint;
36
+ fromSlice(s: c.Slice): ReceiveMode;
37
+ store(self: ReceiveMode, b: c.Builder): void;
38
+ toCell(self: ReceiveMode): c.Cell;
39
+ };
28
40
  /**
29
41
  > struct WalletRuntimeStorage {
30
42
  > locked: bool
31
- > onlySender: bool
43
+ > receiverMode: ReceiveMode
44
+ > receiverFrom: address?
32
45
  > minter: address
33
46
  > owner: address
34
47
  > seqNo: uint32
@@ -39,7 +52,8 @@ export declare const ExcessMessage: {
39
52
  export interface WalletRuntimeStorage {
40
53
  readonly $: 'WalletRuntimeStorage';
41
54
  locked: boolean;
42
- onlySender: boolean;
55
+ receiverMode: ReceiveMode;
56
+ receiverFrom: c.Address | null;
43
57
  minter: c.Address;
44
58
  owner: c.Address;
45
59
  seqNo: uint32;
@@ -49,7 +63,8 @@ export interface WalletRuntimeStorage {
49
63
  export declare const WalletRuntimeStorage: {
50
64
  create(args: {
51
65
  locked: boolean;
52
- onlySender: boolean;
66
+ receiverMode: ReceiveMode;
67
+ receiverFrom: c.Address | null;
53
68
  minter: c.Address;
54
69
  owner: c.Address;
55
70
  seqNo: uint32;
@@ -63,7 +78,8 @@ export declare const WalletRuntimeStorage: {
63
78
  /**
64
79
  > struct WalletStorage {
65
80
  > locked: bool
66
- > onlySender: bool
81
+ > receiverMode: ReceiveMode
82
+ > receiverFrom: address?
67
83
  > minter: address
68
84
  > owner: address
69
85
  > seqNo: uint32
@@ -74,7 +90,8 @@ export declare const WalletRuntimeStorage: {
74
90
  export interface WalletStorage {
75
91
  readonly $: 'WalletStorage';
76
92
  locked: boolean;
77
- onlySender: boolean;
93
+ receiverMode: ReceiveMode;
94
+ receiverFrom: c.Address | null;
78
95
  minter: c.Address;
79
96
  owner: c.Address;
80
97
  seqNo: uint32;
@@ -84,7 +101,8 @@ export interface WalletStorage {
84
101
  export declare const WalletStorage: {
85
102
  create(args: {
86
103
  locked?: boolean;
87
- onlySender?: boolean;
104
+ receiverMode?: ReceiveMode;
105
+ receiverFrom?: c.Address | null;
88
106
  minter: c.Address;
89
107
  owner: c.Address;
90
108
  seqNo?: uint32;
@@ -318,25 +336,31 @@ export declare const InitWithdraw: {
318
336
  toCell(self: InitWithdraw): c.Cell;
319
337
  };
320
338
  /**
321
- > struct (0x5b9a6a02) FlipOnlySender {
339
+ > struct (0xd083d476) SetReceiveMode {
322
340
  > queryId: uint64
341
+ > mode: ReceiveMode
342
+ > receiverFrom: address?
323
343
  > excess: address
324
344
  > }
325
345
  */
326
- export interface FlipOnlySender {
327
- readonly $: 'FlipOnlySender';
346
+ export interface SetReceiveMode {
347
+ readonly $: 'SetReceiveMode';
328
348
  queryId: uint64;
349
+ mode: ReceiveMode;
350
+ receiverFrom: c.Address | null;
329
351
  excess: c.Address;
330
352
  }
331
- export declare const FlipOnlySender: {
353
+ export declare const SetReceiveMode: {
332
354
  PREFIX: number;
333
355
  create(args: {
334
356
  queryId: uint64;
357
+ mode: ReceiveMode;
358
+ receiverFrom: c.Address | null;
335
359
  excess: c.Address;
336
- }): FlipOnlySender;
337
- fromSlice(s: c.Slice): FlipOnlySender;
338
- store(self: FlipOnlySender, b: c.Builder): void;
339
- toCell(self: FlipOnlySender): c.Cell;
360
+ }): SetReceiveMode;
361
+ fromSlice(s: c.Slice): SetReceiveMode;
362
+ store(self: SetReceiveMode, b: c.Builder): void;
363
+ toCell(self: SetReceiveMode): c.Cell;
340
364
  };
341
365
  /**
342
366
  > struct (0xdde0f974) InternalRegister {
@@ -504,6 +528,7 @@ export declare class Wallet implements c.Contract {
504
528
  'Errors.NotEnoughGas': number;
505
529
  'Errors.InvalidPoint': number;
506
530
  'Errors.InvalidWorkchain': number;
531
+ 'Errors.InvalidReceiveMode': number;
507
532
  'Errors.WrongSender': number;
508
533
  'Errors.PositionLocked': number;
509
534
  'Errors.WrongOp': number;
@@ -561,8 +586,10 @@ export declare class Wallet implements c.Contract {
561
586
  queryId: uint64;
562
587
  excess: c.Address;
563
588
  }): c.Cell;
564
- static createCellOfFlipOnlySender(body: {
589
+ static createCellOfSetReceiveMode(body: {
565
590
  queryId: uint64;
591
+ mode: ReceiveMode;
592
+ receiverFrom: c.Address | null;
566
593
  excess: c.Address;
567
594
  }): c.Cell;
568
595
  sendDeploy(provider: ContractProvider, via: Sender, msgValue: coins, extraOptions?: ExtraSendOptions): Promise<void>;
@@ -609,8 +636,10 @@ export declare class Wallet implements c.Contract {
609
636
  queryId: uint64;
610
637
  excess: c.Address;
611
638
  }, extraOptions?: ExtraSendOptions): Promise<void>;
612
- sendFlipOnlySender(provider: ContractProvider, via: Sender, msgValue: coins, body: {
639
+ sendSetReceiveMode(provider: ContractProvider, via: Sender, msgValue: coins, body: {
613
640
  queryId: uint64;
641
+ mode: ReceiveMode;
642
+ receiverFrom: c.Address | null;
614
643
  excess: c.Address;
615
644
  }, extraOptions?: ExtraSendOptions): Promise<void>;
616
645
  getWalletState(provider: ContractProvider): Promise<WalletRuntimeStorage>;
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  };
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Wallet = exports.InternalWithdraw = exports.Proof = exports.Point = exports.TransferNotification = exports.InternalFlipWalletStatus = exports.InternalRegister = exports.FlipOnlySender = exports.InitWithdraw = exports.InternalDeposit = exports.TransferCallback = exports.InternalTransfer = exports.InternalTransferAdditionalData = exports.InitTransfer = exports.TransferAdditionalData = exports.TransferAdditionalData2 = exports.WalletStorage = exports.WalletRuntimeStorage = exports.ExcessMessage = void 0;
39
+ exports.Wallet = exports.InternalWithdraw = exports.Proof = exports.Point = exports.TransferNotification = exports.InternalFlipWalletStatus = exports.InternalRegister = exports.SetReceiveMode = exports.InitWithdraw = exports.InternalDeposit = exports.TransferCallback = exports.InternalTransfer = exports.InternalTransferAdditionalData = exports.InitTransfer = exports.TransferAdditionalData = exports.TransferAdditionalData2 = exports.WalletStorage = exports.WalletRuntimeStorage = exports.ReceiveMode = exports.ExcessMessage = void 0;
40
40
  const c = __importStar(require("@ton/core"));
41
41
  const core_1 = require("@ton/core");
42
42
  function makeCellFrom(self, storeFn_T) {
@@ -117,6 +117,13 @@ class StackReader {
117
117
  readSlice() {
118
118
  return this.popCellLike().beginParse();
119
119
  }
120
+ readNullable(readFn_T) {
121
+ if (this.tuple[0].type === 'null') {
122
+ this.tuple.shift();
123
+ return null;
124
+ }
125
+ return readFn_T(this);
126
+ }
120
127
  }
121
128
  exports.ExcessMessage = {
122
129
  PREFIX: 0xd53276db,
@@ -141,6 +148,20 @@ exports.ExcessMessage = {
141
148
  return makeCellFrom(self, exports.ExcessMessage.store);
142
149
  }
143
150
  };
151
+ exports.ReceiveMode = {
152
+ FromAnyone: 0n,
153
+ FromNoOne: 1n,
154
+ FromOnly: 2n,
155
+ fromSlice(s) {
156
+ return s.loadUintBig(2);
157
+ },
158
+ store(self, b) {
159
+ b.storeUint(self, 2);
160
+ },
161
+ toCell(self) {
162
+ return makeCellFrom(self, exports.ReceiveMode.store);
163
+ }
164
+ };
144
165
  exports.WalletRuntimeStorage = {
145
166
  create(args) {
146
167
  return {
@@ -152,7 +173,8 @@ exports.WalletRuntimeStorage = {
152
173
  return {
153
174
  $: 'WalletRuntimeStorage',
154
175
  locked: s.loadBoolean(),
155
- onlySender: s.loadBoolean(),
176
+ receiverMode: exports.ReceiveMode.fromSlice(s),
177
+ receiverFrom: s.loadMaybeAddress(),
156
178
  minter: s.loadAddress(),
157
179
  owner: s.loadAddress(),
158
180
  seqNo: s.loadUintBig(32),
@@ -162,7 +184,8 @@ exports.WalletRuntimeStorage = {
162
184
  },
163
185
  store(self, b) {
164
186
  b.storeBit(self.locked);
165
- b.storeBit(self.onlySender);
187
+ exports.ReceiveMode.store(self.receiverMode, b);
188
+ b.storeAddress(self.receiverFrom);
166
189
  b.storeAddress(self.minter);
167
190
  b.storeAddress(self.owner);
168
191
  b.storeUint(self.seqNo, 32);
@@ -178,7 +201,8 @@ exports.WalletStorage = {
178
201
  return {
179
202
  $: 'WalletStorage',
180
203
  locked: false,
181
- onlySender: false,
204
+ receiverMode: 0n,
205
+ receiverFrom: null,
182
206
  seqNo: 0n,
183
207
  ...args
184
208
  };
@@ -187,7 +211,8 @@ exports.WalletStorage = {
187
211
  return {
188
212
  $: 'WalletStorage',
189
213
  locked: s.loadBoolean(),
190
- onlySender: s.loadBoolean(),
214
+ receiverMode: exports.ReceiveMode.fromSlice(s),
215
+ receiverFrom: s.loadMaybeAddress(),
191
216
  minter: s.loadAddress(),
192
217
  owner: s.loadAddress(),
193
218
  seqNo: s.loadUintBig(32),
@@ -197,7 +222,8 @@ exports.WalletStorage = {
197
222
  },
198
223
  store(self, b) {
199
224
  b.storeBit(self.locked);
200
- b.storeBit(self.onlySender);
225
+ exports.ReceiveMode.store(self.receiverMode, b);
226
+ b.storeAddress(self.receiverFrom);
201
227
  b.storeAddress(self.minter);
202
228
  b.storeAddress(self.owner);
203
229
  b.storeUint(self.seqNo, 32);
@@ -437,29 +463,33 @@ exports.InitWithdraw = {
437
463
  return makeCellFrom(self, exports.InitWithdraw.store);
438
464
  }
439
465
  };
440
- exports.FlipOnlySender = {
441
- PREFIX: 0x5b9a6a02,
466
+ exports.SetReceiveMode = {
467
+ PREFIX: 0xd083d476,
442
468
  create(args) {
443
469
  return {
444
- $: 'FlipOnlySender',
470
+ $: 'SetReceiveMode',
445
471
  ...args
446
472
  };
447
473
  },
448
474
  fromSlice(s) {
449
- loadAndCheckPrefix32(s, 0x5b9a6a02, 'FlipOnlySender');
475
+ loadAndCheckPrefix32(s, 0xd083d476, 'SetReceiveMode');
450
476
  return {
451
- $: 'FlipOnlySender',
477
+ $: 'SetReceiveMode',
452
478
  queryId: s.loadUintBig(64),
479
+ mode: exports.ReceiveMode.fromSlice(s),
480
+ receiverFrom: s.loadMaybeAddress(),
453
481
  excess: s.loadAddress(),
454
482
  };
455
483
  },
456
484
  store(self, b) {
457
- b.storeUint(0x5b9a6a02, 32);
485
+ b.storeUint(0xd083d476, 32);
458
486
  b.storeUint(self.queryId, 64);
487
+ exports.ReceiveMode.store(self.mode, b);
488
+ b.storeAddress(self.receiverFrom);
459
489
  b.storeAddress(self.excess);
460
490
  },
461
491
  toCell(self) {
462
- return makeCellFrom(self, exports.FlipOnlySender.store);
492
+ return makeCellFrom(self, exports.SetReceiveMode.store);
463
493
  }
464
494
  };
465
495
  exports.InternalRegister = {
@@ -645,8 +675,8 @@ class Wallet {
645
675
  static createCellOfInternalFlipWalletStatus(body) {
646
676
  return exports.InternalFlipWalletStatus.toCell(exports.InternalFlipWalletStatus.create(body));
647
677
  }
648
- static createCellOfFlipOnlySender(body) {
649
- return exports.FlipOnlySender.toCell(exports.FlipOnlySender.create(body));
678
+ static createCellOfSetReceiveMode(body) {
679
+ return exports.SetReceiveMode.toCell(exports.SetReceiveMode.create(body));
650
680
  }
651
681
  async sendDeploy(provider, via, msgValue, extraOptions) {
652
682
  return provider.internal(via, {
@@ -704,19 +734,20 @@ class Wallet {
704
734
  ...extraOptions
705
735
  });
706
736
  }
707
- async sendFlipOnlySender(provider, via, msgValue, body, extraOptions) {
737
+ async sendSetReceiveMode(provider, via, msgValue, body, extraOptions) {
708
738
  return provider.internal(via, {
709
739
  value: msgValue,
710
- body: exports.FlipOnlySender.toCell(exports.FlipOnlySender.create(body)),
740
+ body: exports.SetReceiveMode.toCell(exports.SetReceiveMode.create(body)),
711
741
  ...extraOptions
712
742
  });
713
743
  }
714
744
  async getWalletState(provider) {
715
- const r = StackReader.fromGetMethod(9, await provider.get('getWalletState', []));
745
+ const r = StackReader.fromGetMethod(10, await provider.get('getWalletState', []));
716
746
  return ({
717
747
  $: 'WalletRuntimeStorage',
718
748
  locked: r.readBoolean(),
719
- onlySender: r.readBoolean(),
749
+ receiverMode: r.readBigInt(),
750
+ receiverFrom: r.readNullable((r) => r.readSlice().loadAddress()),
720
751
  minter: r.readSlice().loadAddress(),
721
752
  owner: r.readSlice().loadAddress(),
722
753
  seqNo: r.readBigInt(),
@@ -756,6 +787,7 @@ Wallet.Errors = {
756
787
  'Errors.NotEnoughGas': 29432,
757
788
  'Errors.InvalidPoint': 37828,
758
789
  'Errors.InvalidWorkchain': 38296,
790
+ 'Errors.InvalidReceiveMode': 44651,
759
791
  'Errors.WrongSender': 45881,
760
792
  'Errors.PositionLocked': 48515,
761
793
  'Errors.WrongOp': 65535,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metoncash/sdk-v1",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,4 +24,4 @@
24
24
  "ts-jest": "^29.4.11",
25
25
  "typescript": "^5.7.2"
26
26
  }
27
- }
27
+ }