everscale-client-ruby 1.1.23

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,465 @@
1
+ module TonClient
2
+
3
+ class Crypto
4
+ include CommonInstanceHelpers
5
+
6
+ attr_reader :core, :context
7
+ MODULE = self.to_s.downcase.gsub(/^(.+::|)(\w+)$/, '\2').freeze
8
+
9
+ def initialize(context: Context.new, core: TonClient::TonBinding)
10
+ @context = context
11
+ @core = core
12
+ end
13
+
14
+ # INPUT: ParamsOfFactorize
15
+ # composite: String - # # Hexadecimal representation of u64 composite number.
16
+ # RESPONSE: ResultOfFactorize
17
+ # factors: Array - # # Two factors of composite or empty if composite can't be factorized.
18
+ def factorize(payload, &block)
19
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
20
+ end
21
+
22
+ # INPUT: ParamsOfModularPower
23
+ # base: String - # # `base` argument of calculation.
24
+ # exponent: String - # # `exponent` argument of calculation.
25
+ # modulus: String - # # `modulus` argument of calculation.
26
+ # RESPONSE: ResultOfModularPower
27
+ # modular_power: String - # # Result of modular exponentiation
28
+ def modular_power(payload, &block)
29
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
30
+ end
31
+
32
+ # INPUT: ParamsOfTonCrc16
33
+ # data: String - # # Input data for CRC calculation. # # Encoded with `base64`.
34
+ # RESPONSE: ResultOfTonCrc16
35
+ # crc: Number - # # Calculated CRC for input data.
36
+ def ton_crc16(payload, &block)
37
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
38
+ end
39
+
40
+ # INPUT: ParamsOfGenerateRandomBytes
41
+ # length: Number - # # Size of random byte array.
42
+ # RESPONSE: ResultOfGenerateRandomBytes
43
+ # bytes: String - # # Generated bytes encoded in `base64`.
44
+ def generate_random_bytes(payload, &block)
45
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
46
+ end
47
+
48
+ # INPUT: ParamsOfConvertPublicKeyToTonSafeFormat
49
+ # public_key: String - # # Public key - 64 symbols hex string
50
+ # RESPONSE: ResultOfConvertPublicKeyToTonSafeFormat
51
+ # ton_public_key: String - # # Public key represented in TON safe format.
52
+ def convert_public_key_to_ton_safe_format(payload, &block)
53
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
54
+ end
55
+
56
+ # RESPONSE: KeyPair
57
+ # public: String - # # Public key - 64 symbols hex string
58
+ # secret: String - # # Private key - u64 symbols hex string
59
+ def generate_random_sign_keys(&block)
60
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
61
+ end
62
+
63
+ # INPUT: ParamsOfSign
64
+ # unsigned: String - # # Data that must be signed encoded in `base64`.
65
+ # keys: KeyPair - # # Sign keys.
66
+ # RESPONSE: ResultOfSign
67
+ # signed: String - # # Signed data combined with signature encoded in `base64`.
68
+ # signature: String - # # Signature encoded in `hex`.
69
+ def sign(payload, &block)
70
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
71
+ end
72
+
73
+ # INPUT: ParamsOfVerifySignature
74
+ # signed: String - # # Signed data that must be verified encoded in `base64`.
75
+ # public: String - # # Signer's public key - 64 symbols hex string
76
+ # RESPONSE: ResultOfVerifySignature
77
+ # unsigned: String - # # Unsigned data encoded in `base64`.
78
+ def verify_signature(payload, &block)
79
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
80
+ end
81
+
82
+ # INPUT: ParamsOfHash
83
+ # data: String - # # Input data for hash calculation. # # Encoded with `base64`.
84
+ # RESPONSE: ResultOfHash
85
+ # hash: String - # # Hash of input `data`. # # Encoded with 'hex'.
86
+ def sha256(payload, &block)
87
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
88
+ end
89
+
90
+ # INPUT: ParamsOfHash
91
+ # data: String - # # Input data for hash calculation. # # Encoded with `base64`.
92
+ # RESPONSE: ResultOfHash
93
+ # hash: String - # # Hash of input `data`. # # Encoded with 'hex'.
94
+ def sha512(payload, &block)
95
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
96
+ end
97
+
98
+ # INPUT: ParamsOfScrypt
99
+ # password: String - # # The password bytes to be hashed. Must be encoded with `base64`.
100
+ # salt: String - # # Salt bytes that modify the hash to protect against Rainbow table attacks. Must be encoded with `base64`.
101
+ # log_n: Number - # # CPU/memory cost parameter
102
+ # r: Number - # # The block size parameter, which fine-tunes sequential memory read size and performance.
103
+ # p: Number - # # Parallelization parameter.
104
+ # dk_len: Number - # # Intended output length in octets of the derived key.
105
+ # RESPONSE: ResultOfScrypt
106
+ # key: String - # # Derived key. # # Encoded with `hex`.
107
+ def scrypt(payload, &block)
108
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
109
+ end
110
+
111
+ # INPUT: ParamsOfNaclSignKeyPairFromSecret
112
+ # secret: String - # # Secret key - unprefixed 0-padded to 64 symbols hex string
113
+ # RESPONSE: KeyPair
114
+ # public: String - # # Public key - 64 symbols hex string
115
+ # secret: String - # # Private key - u64 symbols hex string
116
+ def nacl_sign_keypair_from_secret_key(payload, &block)
117
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
118
+ end
119
+
120
+ # INPUT: ParamsOfNaclSign
121
+ # unsigned: String - # # Data that must be signed encoded in `base64`.
122
+ # secret: String - # # Signer's secret key - unprefixed 0-padded to 128 symbols hex string (concatenation of 64 symbols secret and 64 symbols public keys). See `nacl_sign_keypair_from_secret_key`.
123
+ # RESPONSE: ResultOfNaclSign
124
+ # signed: String - # # Signed data, encoded in `base64`.
125
+ def nacl_sign(payload, &block)
126
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
127
+ end
128
+
129
+ # INPUT: ParamsOfNaclSignOpen
130
+ # signed: String - # # Signed data that must be unsigned. # # Encoded with `base64`.
131
+ # public: String - # # Signer's public key - unprefixed 0-padded to 64 symbols hex string
132
+ # RESPONSE: ResultOfNaclSignOpen
133
+ # unsigned: String - # # Unsigned data, encoded in `base64`.
134
+ def nacl_sign_open(payload, &block)
135
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
136
+ end
137
+
138
+ # INPUT: ParamsOfNaclSign
139
+ # unsigned: String - # # Data that must be signed encoded in `base64`.
140
+ # secret: String - # # Signer's secret key - unprefixed 0-padded to 128 symbols hex string (concatenation of 64 symbols secret and 64 symbols public keys). See `nacl_sign_keypair_from_secret_key`.
141
+ # RESPONSE: ResultOfNaclSignDetached
142
+ # signature: String - # # Signature encoded in `hex`.
143
+ def nacl_sign_detached(payload, &block)
144
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
145
+ end
146
+
147
+ # INPUT: ParamsOfNaclSignDetachedVerify
148
+ # unsigned: String - # # Unsigned data that must be verified. # # Encoded with `base64`.
149
+ # signature: String - # # Signature that must be verified. # # Encoded with `hex`.
150
+ # public: String - # # Signer's public key - unprefixed 0-padded to 64 symbols hex string.
151
+ # RESPONSE: ResultOfNaclSignDetachedVerify
152
+ # succeeded: Boolean - # # `true` if verification succeeded or `false` if it failed
153
+ def nacl_sign_detached_verify(payload, &block)
154
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
155
+ end
156
+
157
+ # RESPONSE: KeyPair
158
+ # public: String - # # Public key - 64 symbols hex string
159
+ # secret: String - # # Private key - u64 symbols hex string
160
+ def nacl_box_keypair(&block)
161
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
162
+ end
163
+
164
+ # INPUT: ParamsOfNaclBoxKeyPairFromSecret
165
+ # secret: String - # # Secret key - unprefixed 0-padded to 64 symbols hex string
166
+ # RESPONSE: KeyPair
167
+ # public: String - # # Public key - 64 symbols hex string
168
+ # secret: String - # # Private key - u64 symbols hex string
169
+ def nacl_box_keypair_from_secret_key(payload, &block)
170
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
171
+ end
172
+
173
+ # INPUT: ParamsOfNaclBox
174
+ # decrypted: String - # # Data that must be encrypted encoded in `base64`.
175
+ # nonce: String - # # Nonce, encoded in `hex`
176
+ # their_public: String - # # Receiver's public key - unprefixed 0-padded to 64 symbols hex string
177
+ # secret: String - # # Sender's private key - unprefixed 0-padded to 64 symbols hex string
178
+ # RESPONSE: ResultOfNaclBox
179
+ # encrypted: String - # # Encrypted data encoded in `base64`.
180
+ def nacl_box(payload, &block)
181
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
182
+ end
183
+
184
+ # INPUT: ParamsOfNaclBoxOpen
185
+ # encrypted: String - # # Data that must be decrypted. # # Encoded with `base64`.
186
+ # nonce: String - # # Nonce
187
+ # their_public: String - # # Sender's public key - unprefixed 0-padded to 64 symbols hex string
188
+ # secret: String - # # Receiver's private key - unprefixed 0-padded to 64 symbols hex string
189
+ # RESPONSE: ResultOfNaclBoxOpen
190
+ # decrypted: String - # # Decrypted data encoded in `base64`.
191
+ def nacl_box_open(payload, &block)
192
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
193
+ end
194
+
195
+ # INPUT: ParamsOfNaclSecretBox
196
+ # decrypted: String - # # Data that must be encrypted. # # Encoded with `base64`.
197
+ # nonce: String - # # Nonce in `hex`
198
+ # key: String - # # Secret key - unprefixed 0-padded to 64 symbols hex string
199
+ # RESPONSE: ResultOfNaclBox
200
+ # encrypted: String - # # Encrypted data encoded in `base64`.
201
+ def nacl_secret_box(payload, &block)
202
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
203
+ end
204
+
205
+ # INPUT: ParamsOfNaclSecretBoxOpen
206
+ # encrypted: String - # # Data that must be decrypted. # # Encoded with `base64`.
207
+ # nonce: String - # # Nonce in `hex`
208
+ # key: String - # # Secret key - unprefixed 0-padded to 64 symbols hex string
209
+ # RESPONSE: ResultOfNaclBoxOpen
210
+ # decrypted: String - # # Decrypted data encoded in `base64`.
211
+ def nacl_secret_box_open(payload, &block)
212
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
213
+ end
214
+
215
+ # INPUT: ParamsOfMnemonicWords
216
+ # dictionary: MnemonicDictionary - # # Dictionary identifier
217
+ # RESPONSE: ResultOfMnemonicWords
218
+ # words: String - # # The list of mnemonic words
219
+ def mnemonic_words(payload, &block)
220
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
221
+ end
222
+
223
+ # INPUT: ParamsOfMnemonicFromRandom
224
+ # dictionary: MnemonicDictionary - # # Dictionary identifier
225
+ # word_count: Number<Optional> - # # Mnemonic word count
226
+ # RESPONSE: ResultOfMnemonicFromRandom
227
+ # phrase: String - # # String of mnemonic words
228
+ def mnemonic_from_random(payload, &block)
229
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
230
+ end
231
+
232
+ # INPUT: ParamsOfMnemonicFromEntropy
233
+ # entropy: String - # # Entropy bytes. # # Hex encoded.
234
+ # dictionary: MnemonicDictionary - # # Dictionary identifier
235
+ # word_count: Number<Optional> - # # Mnemonic word count
236
+ # RESPONSE: ResultOfMnemonicFromEntropy
237
+ # phrase: String - # # Phrase
238
+ def mnemonic_from_entropy(payload, &block)
239
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
240
+ end
241
+
242
+ # INPUT: ParamsOfMnemonicVerify
243
+ # phrase: String - # # Phrase
244
+ # dictionary: MnemonicDictionary - # # Dictionary identifier
245
+ # word_count: Number<Optional> - # # Word count
246
+ # RESPONSE: ResultOfMnemonicVerify
247
+ # valid: Boolean - # # Flag indicating if the mnemonic is valid or not
248
+ def mnemonic_verify(payload, &block)
249
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
250
+ end
251
+
252
+ # INPUT: ParamsOfMnemonicDeriveSignKeys
253
+ # phrase: String - # # Phrase
254
+ # path: String<Optional> - # # Derivation path, for instance "m/44'/396'/0'/0/0"
255
+ # dictionary: MnemonicDictionary - # # Dictionary identifier
256
+ # word_count: Number<Optional> - # # Word count
257
+ # RESPONSE: KeyPair
258
+ # public: String - # # Public key - 64 symbols hex string
259
+ # secret: String - # # Private key - u64 symbols hex string
260
+ def mnemonic_derive_sign_keys(payload, &block)
261
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
262
+ end
263
+
264
+ # INPUT: ParamsOfHDKeyXPrvFromMnemonic
265
+ # phrase: String - # # String with seed phrase
266
+ # dictionary: MnemonicDictionary - # # Dictionary identifier
267
+ # word_count: Number<Optional> - # # Mnemonic word count
268
+ # RESPONSE: ResultOfHDKeyXPrvFromMnemonic
269
+ # xprv: String - # # Serialized extended master private key
270
+ def hdkey_xprv_from_mnemonic(payload, &block)
271
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
272
+ end
273
+
274
+ # INPUT: ParamsOfHDKeyDeriveFromXPrv
275
+ # xprv: String - # # Serialized extended private key
276
+ # child_index: Number - # # Child index (see BIP-0032)
277
+ # hardened: Boolean - # # Indicates the derivation of hardened/not-hardened key (see BIP-0032)
278
+ # RESPONSE: ResultOfHDKeyDeriveFromXPrv
279
+ # xprv: String - # # Serialized extended private key
280
+ def hdkey_derive_from_xprv(payload, &block)
281
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
282
+ end
283
+
284
+ # INPUT: ParamsOfHDKeyDeriveFromXPrvPath
285
+ # xprv: String - # # Serialized extended private key
286
+ # path: String - # # Derivation path, for instance "m/44'/396'/0'/0/0"
287
+ # RESPONSE: ResultOfHDKeyDeriveFromXPrvPath
288
+ # xprv: String - # # Derived serialized extended private key
289
+ def hdkey_derive_from_xprv_path(payload, &block)
290
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
291
+ end
292
+
293
+ # INPUT: ParamsOfHDKeySecretFromXPrv
294
+ # xprv: String - # # Serialized extended private key
295
+ # RESPONSE: ResultOfHDKeySecretFromXPrv
296
+ # secret: String - # # Private key - 64 symbols hex string
297
+ def hdkey_secret_from_xprv(payload, &block)
298
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
299
+ end
300
+
301
+ # INPUT: ParamsOfHDKeyPublicFromXPrv
302
+ # xprv: String - # # Serialized extended private key
303
+ # RESPONSE: ResultOfHDKeyPublicFromXPrv
304
+ # public: String - # # Public key - 64 symbols hex string
305
+ def hdkey_public_from_xprv(payload, &block)
306
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
307
+ end
308
+
309
+ # INPUT: ParamsOfChaCha20
310
+ # data: String - # # Source data to be encrypted or decrypted. # # Must be encoded with `base64`.
311
+ # key: String - # # 256-bit key. # # Must be encoded with `hex`.
312
+ # nonce: String - # # 96-bit nonce. # # Must be encoded with `hex`.
313
+ # RESPONSE: ResultOfChaCha20
314
+ # data: String - # # Encrypted/decrypted data. # # Encoded with `base64`.
315
+ def chacha20(payload, &block)
316
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
317
+ end
318
+
319
+ # INPUT: ParamsOfCreateCryptoBox
320
+ # secret_encryption_salt: String - # # Salt used for secret encryption. For example, a mobile device can use device ID as salt.
321
+ # secret: CryptoBoxSecret - # # Cryptobox secret
322
+ # RESPONSE: RegisteredCryptoBox
323
+ # handle: CryptoBoxHandle -
324
+ def create_crypto_box(payload, &block)
325
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
326
+ end
327
+
328
+ # INPUT: RegisteredCryptoBox
329
+ # handle: CryptoBoxHandle -
330
+ def remove_crypto_box(payload, &block)
331
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
332
+ end
333
+
334
+ # INPUT: RegisteredCryptoBox
335
+ # handle: CryptoBoxHandle -
336
+ # RESPONSE: ResultOfGetCryptoBoxInfo
337
+ # encrypted_secret: String - # # Secret (seed phrase) encrypted with salt and password.
338
+ def get_crypto_box_info(payload, &block)
339
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
340
+ end
341
+
342
+ # INPUT: RegisteredCryptoBox
343
+ # handle: CryptoBoxHandle -
344
+ # RESPONSE: ResultOfGetCryptoBoxSeedPhrase
345
+ # phrase: String -
346
+ # dictionary: MnemonicDictionary -
347
+ # wordcount: Number -
348
+ def get_crypto_box_seed_phrase(payload, &block)
349
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
350
+ end
351
+
352
+ # INPUT: ParamsOfGetSigningBoxFromCryptoBox
353
+ # handle: Number - # # Crypto Box Handle.
354
+ # hdpath: String<Optional> - # # HD key derivation path. # # By default, Everscale HD path is used.
355
+ # secret_lifetime: Number<Optional> - # # Store derived secret for this lifetime (in ms). The timer starts after each signing box operation. Secrets will be deleted immediately after each signing box operation, if this value is not set.
356
+ # RESPONSE: RegisteredSigningBox
357
+ # handle: SigningBoxHandle - # # Handle of the signing box.
358
+ def get_signing_box_from_crypto_box(payload, &block)
359
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
360
+ end
361
+
362
+ # INPUT: ParamsOfGetEncryptionBoxFromCryptoBox
363
+ # handle: Number - # # Crypto Box Handle.
364
+ # hdpath: String<Optional> - # # HD key derivation path. # # By default, Everscale HD path is used.
365
+ # algorithm: BoxEncryptionAlgorithm - # # Encryption algorithm.
366
+ # secret_lifetime: Number<Optional> - # # Store derived secret for encryption algorithm for this lifetime (in ms). The timer starts after each encryption box operation. Secrets will be deleted (overwritten with zeroes) after each encryption operation, if this value is not set.
367
+ # RESPONSE: RegisteredEncryptionBox
368
+ # handle: EncryptionBoxHandle - # # Handle of the encryption box.
369
+ def get_encryption_box_from_crypto_box(payload, &block)
370
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
371
+ end
372
+
373
+ # INPUT: RegisteredCryptoBox
374
+ # handle: CryptoBoxHandle -
375
+ def clear_crypto_box_secret_cache(payload, &block)
376
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
377
+ end
378
+
379
+ # RESPONSE: RegisteredSigningBox
380
+ # handle: SigningBoxHandle - # # Handle of the signing box.
381
+ def register_signing_box(&block)
382
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
383
+ end
384
+
385
+ # INPUT: KeyPair
386
+ # public: String - # # Public key - 64 symbols hex string
387
+ # secret: String - # # Private key - u64 symbols hex string
388
+ # RESPONSE: RegisteredSigningBox
389
+ # handle: SigningBoxHandle - # # Handle of the signing box.
390
+ def get_signing_box(payload, &block)
391
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
392
+ end
393
+
394
+ # INPUT: RegisteredSigningBox
395
+ # handle: SigningBoxHandle - # # Handle of the signing box.
396
+ # RESPONSE: ResultOfSigningBoxGetPublicKey
397
+ # pubkey: String - # # Public key of signing box. # # Encoded with hex
398
+ def signing_box_get_public_key(payload, &block)
399
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
400
+ end
401
+
402
+ # INPUT: ParamsOfSigningBoxSign
403
+ # signing_box: SigningBoxHandle - # # Signing Box handle.
404
+ # unsigned: String - # # Unsigned user data. # # Must be encoded with `base64`.
405
+ # RESPONSE: ResultOfSigningBoxSign
406
+ # signature: String - # # Data signature. # # Encoded with `hex`.
407
+ def signing_box_sign(payload, &block)
408
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
409
+ end
410
+
411
+ # INPUT: RegisteredSigningBox
412
+ # handle: SigningBoxHandle - # # Handle of the signing box.
413
+ def remove_signing_box(payload, &block)
414
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
415
+ end
416
+
417
+ # RESPONSE: RegisteredEncryptionBox
418
+ # handle: EncryptionBoxHandle - # # Handle of the encryption box.
419
+ def register_encryption_box(&block)
420
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
421
+ end
422
+
423
+ # INPUT: RegisteredEncryptionBox
424
+ # handle: EncryptionBoxHandle - # # Handle of the encryption box.
425
+ def remove_encryption_box(payload, &block)
426
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
427
+ end
428
+
429
+ # INPUT: ParamsOfEncryptionBoxGetInfo
430
+ # encryption_box: EncryptionBoxHandle - # # Encryption box handle
431
+ # RESPONSE: ResultOfEncryptionBoxGetInfo
432
+ # info: EncryptionBoxInfo - # # Encryption box information
433
+ def encryption_box_get_info(payload, &block)
434
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
435
+ end
436
+
437
+ # INPUT: ParamsOfEncryptionBoxEncrypt
438
+ # encryption_box: EncryptionBoxHandle - # # Encryption box handle
439
+ # data: String - # # Data to be encrypted, encoded in Base64
440
+ # RESPONSE: ResultOfEncryptionBoxEncrypt
441
+ # data: String - # # Encrypted data, encoded in Base64. # # Padded to cipher block size
442
+ def encryption_box_encrypt(payload, &block)
443
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
444
+ end
445
+
446
+ # INPUT: ParamsOfEncryptionBoxDecrypt
447
+ # encryption_box: EncryptionBoxHandle - # # Encryption box handle
448
+ # data: String - # # Data to be decrypted, encoded in Base64
449
+ # RESPONSE: ResultOfEncryptionBoxDecrypt
450
+ # data: String - # # Decrypted data, encoded in Base64.
451
+ def encryption_box_decrypt(payload, &block)
452
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
453
+ end
454
+
455
+ # INPUT: ParamsOfCreateEncryptionBox
456
+ # algorithm: EncryptionAlgorithm - # # Encryption algorithm specifier including cipher parameters (key, IV, etc)
457
+ # RESPONSE: RegisteredEncryptionBox
458
+ # handle: EncryptionBoxHandle - # # Handle of the encryption box.
459
+ def create_encryption_box(payload, &block)
460
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
461
+ end
462
+
463
+ end
464
+ end
465
+
@@ -0,0 +1,60 @@
1
+ module TonClient
2
+
3
+ class Debot
4
+ include CommonInstanceHelpers
5
+
6
+ attr_reader :core, :context
7
+ MODULE = self.to_s.downcase.gsub(/^(.+::|)(\w+)$/, '\2').freeze
8
+
9
+ def initialize(context: Context.new, core: TonClient::TonBinding)
10
+ @context = context
11
+ @core = core
12
+ end
13
+
14
+ # INPUT: ParamsOfInit
15
+ # address: String - # # Debot smart contract address
16
+ # RESPONSE: RegisteredDebot
17
+ # debot_handle: DebotHandle - # # Debot handle which references an instance of debot engine.
18
+ # debot_abi: String - # # Debot abi as json string.
19
+ # info: DebotInfo - # # Debot metadata.
20
+ def init(payload, &block)
21
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
22
+ end
23
+
24
+ # INPUT: ParamsOfStart
25
+ # debot_handle: DebotHandle - # # Debot handle which references an instance of debot engine.
26
+ def start(payload, &block)
27
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
28
+ end
29
+
30
+ # INPUT: ParamsOfFetch
31
+ # address: String - # # Debot smart contract address.
32
+ # RESPONSE: ResultOfFetch
33
+ # info: DebotInfo - # # Debot metadata.
34
+ def fetch(payload, &block)
35
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
36
+ end
37
+
38
+ # INPUT: ParamsOfExecute
39
+ # debot_handle: DebotHandle - # # Debot handle which references an instance of debot engine.
40
+ # action: DebotAction - # # Debot Action that must be executed.
41
+ def execute(payload, &block)
42
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
43
+ end
44
+
45
+ # INPUT: ParamsOfSend
46
+ # debot_handle: DebotHandle - # # Debot handle which references an instance of debot engine.
47
+ # message: String - # # BOC of internal message to debot encoded in base64 format.
48
+ def send(payload, &block)
49
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
50
+ end
51
+
52
+ # INPUT: ParamsOfRemove
53
+ # debot_handle: DebotHandle - # # Debot handle which references an instance of debot engine.
54
+ def remove(payload, &block)
55
+ core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
56
+ end
57
+
58
+ end
59
+ end
60
+