tealrb 0.11.0 → 0.12.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.
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Lint/UnusedMethodArgument
4
+
3
5
  module TEALrb
4
6
  module Opcodes
5
7
  BINARY_OPCODE_METHOD_MAPPING = {
@@ -42,622 +44,901 @@ module TEALrb
42
44
  }.freeze
43
45
 
44
46
  module TEALOpcodes
45
- def acct_params_get(field, _account = nil)
46
- TEAL.instance << "acct_params_get #{field}"
47
+ def acct_params_get(field, account = nil)
48
+ @contract.teal << "acct_params_get #{field}"
49
+ @contract
47
50
  end
48
51
 
49
- def add(_a = nil, _b = nil)
50
- TEAL.instance << '+'
52
+ def add(a = nil, b = nil)
53
+ @contract.teal << '+'
54
+ @contract
51
55
  end
52
56
 
53
57
  def addr(address)
54
- TEAL.instance << "addr #{address}"
58
+ @contract.teal << "addr #{address}"
59
+ @contract
55
60
  end
56
61
 
57
- def addw(_a = nil, _b = nil)
58
- TEAL.instance << 'addw'
62
+ def addw(a = nil, b = nil)
63
+ @contract.teal << 'addw'
64
+ @contract
59
65
  end
60
66
 
61
- def app_global_del(_key = nil)
62
- TEAL.instance << 'app_global_del'
67
+ def app_global_del(key = nil)
68
+ @contract.teal << 'app_global_del'
69
+ @contract
63
70
  end
64
71
 
65
- def app_global_get(_key = nil)
66
- TEAL.instance << 'app_global_get'
72
+ def app_global_get(key = nil)
73
+ @contract.teal << 'app_global_get'
74
+ @contract
67
75
  end
68
76
 
69
- def app_global_get_ex(_app = nil, _key = nil)
70
- TEAL.instance << 'app_global_get_ex'
77
+ def app_global_get_ex(app = nil, key = nil)
78
+ @contract.teal << 'app_global_get_ex'
79
+ @contract
71
80
  end
72
81
 
73
- def app_global_put(_key = nil, _value = nil)
74
- TEAL.instance << 'app_global_put'
82
+ def app_global_put(key = nil, value = nil)
83
+ @contract.teal << 'app_global_put'
84
+ @contract
75
85
  end
76
86
 
77
- def app_local_del(_account = nil, _key = nil)
78
- TEAL.instance << 'app_local_del'
87
+ def app_local_del(account = nil, key = nil)
88
+ @contract.teal << 'app_local_del'
89
+ @contract
79
90
  end
80
91
 
81
- def app_local_get(_account = nil, _key = nil)
82
- TEAL.instance << 'app_local_get'
92
+ def app_local_get(account = nil, key = nil)
93
+ @contract.teal << 'app_local_get'
94
+ @contract
83
95
  end
84
96
 
85
- def app_local_get_ex(_account = nil, _application = nil, _key = nil)
86
- TEAL.instance << 'app_local_get_ex'
97
+ def app_local_get_ex(account = nil, application = nil, key = nil)
98
+ @contract.teal << 'app_local_get_ex'
99
+ @contract
87
100
  end
88
101
 
89
- def app_local_put(_account = nil, _key = nil, _value = nil)
90
- TEAL.instance << 'app_local_put'
102
+ def app_local_put(account = nil, key = nil, value = nil)
103
+ @contract.teal << 'app_local_put'
104
+ @contract
91
105
  end
92
106
 
93
- def app_opted_in(_account = nil, _app = nil)
94
- TEAL.instance << 'app_opted_in'
107
+ def app_opted_in(account = nil, app = nil)
108
+ @contract.teal << 'app_opted_in'
109
+ @contract
95
110
  end
96
111
 
97
- def app_params_get(field, _app_id = nil)
98
- TEAL.instance << "app_params_get #{field}"
112
+ def app_params_get(field, app_id = nil)
113
+ @contract.teal << "app_params_get #{field}"
114
+ @contract
99
115
  end
100
116
 
101
117
  def approve
102
- TEAL.instance << 'int 1'
103
- TEAL.instance << 'return'
118
+ @contract.teal << 'int 1'
119
+ @contract.teal << 'return'
120
+ @contract
104
121
  end
105
122
 
106
123
  def arg(index)
107
- TEAL.instance << "arg #{index}"
124
+ @contract.teal << "arg #{index}"
125
+ @contract
108
126
  end
109
127
 
110
128
  def arg_0 # rubocop:disable Naming/VariableNumber
111
- TEAL.instance << 'arg_0'
129
+ @contract.teal << 'arg_0'
130
+ @contract
112
131
  end
113
132
 
114
133
  def arg_1 # rubocop:disable Naming/VariableNumber
115
- TEAL.instance << 'arg_1'
134
+ @contract.teal << 'arg_1'
135
+ @contract
116
136
  end
117
137
 
118
138
  def arg_2 # rubocop:disable Naming/VariableNumber
119
- TEAL.instance << 'arg_2'
139
+ @contract.teal << 'arg_2'
140
+ @contract
120
141
  end
121
142
 
122
143
  def arg_3 # rubocop:disable Naming/VariableNumber
123
- TEAL.instance << 'arg_3'
144
+ @contract.teal << 'arg_3'
145
+ @contract
124
146
  end
125
147
 
126
- def args(_index = nil)
127
- TEAL.instance << 'args'
148
+ def args(index = nil)
149
+ @contract.teal << 'args'
150
+ @contract
128
151
  end
129
152
 
130
- def assert(_expr = nil)
131
- TEAL.instance << 'assert'
153
+ def assert(expr = nil)
154
+ @contract.teal << 'assert'
155
+ @contract
132
156
  end
133
157
 
134
- def asset_holding_get(field, _account = nil, _asset = nil)
135
- TEAL.instance << "asset_holding_get #{field}"
158
+ def asset_holding_get(field, account = nil, asset = nil)
159
+ @contract.teal << "asset_holding_get #{field}"
160
+ @contract
136
161
  end
137
162
 
138
- def asset_params_get(field, _asset = nil)
139
- TEAL.instance << "asset_params_get #{field}"
163
+ def asset_params_get(field, asset = nil)
164
+ @contract.teal << "asset_params_get #{field}"
165
+ @contract
140
166
  end
141
167
 
142
168
  def b(target)
143
- TEAL.instance << "#{__method__} #{target}"
169
+ @contract.teal << "#{__method__} #{target}"
170
+ @contract
144
171
  end
145
172
 
146
173
  def base32(input)
147
- TEAL.instance << "byte base32(#{input})"
174
+ @contract.teal << "byte base32(#{input})"
175
+ @contract
176
+ end
177
+
178
+ def base64_decode(encoding, input = nil)
179
+ @contract.teal << "base64_decode #{encoding}"
180
+ @contract
148
181
  end
149
182
 
150
- def balance(_account = nil)
151
- TEAL.instance << 'balance'
183
+ def balance(account = nil)
184
+ @contract.teal << 'balance'
185
+ @contract
152
186
  end
153
187
 
154
- def big_endian_add(_a = nil, _b = nil)
155
- TEAL.instance << 'b+'
188
+ def big_endian_add(a = nil, b = nil)
189
+ @contract.teal << 'b+'
190
+ @contract
156
191
  end
157
192
 
158
- def big_endian_divide(_a = nil, _b = nil)
159
- TEAL.instance << 'b/'
193
+ def big_endian_divide(a = nil, b = nil)
194
+ @contract.teal << 'b/'
195
+ @contract
160
196
  end
161
197
 
162
- def big_endian_equal(_a = nil, _b = nil)
163
- TEAL.instance << 'b=='
198
+ def big_endian_equal(a = nil, b = nil)
199
+ @contract.teal << 'b=='
200
+ @contract
164
201
  end
165
202
 
166
- def big_endian_less(_a = nil, _b = nil)
167
- TEAL.instance << 'b<'
203
+ def big_endian_less(a = nil, b = nil)
204
+ @contract.teal << 'b<'
205
+ @contract
168
206
  end
169
207
 
170
- def big_endian_less_eq(_a = nil, _b = nil)
171
- TEAL.instance << 'b<='
208
+ def big_endian_less_eq(a = nil, b = nil)
209
+ @contract.teal << 'b<='
210
+ @contract
172
211
  end
173
212
 
174
- def big_endian_modulo(_a = nil, _b = nil)
175
- TEAL.instance << 'b%'
213
+ def big_endian_modulo(a = nil, b = nil)
214
+ @contract.teal << 'b%'
215
+ @contract
176
216
  end
177
217
 
178
- def big_endian_more(_a = nil, _b = nil)
179
- TEAL.instance << 'b>'
218
+ def big_endian_more(a = nil, b = nil)
219
+ @contract.teal << 'b>'
220
+ @contract
180
221
  end
181
222
 
182
- def big_endian_more_eq(_a = nil, _b = nil)
183
- TEAL.instance << 'b>='
223
+ def big_endian_more_eq(a = nil, b = nil)
224
+ @contract.teal << 'b>='
225
+ @contract
184
226
  end
185
227
 
186
- def big_endian_multiply(_a = nil, _b = nil)
187
- TEAL.instance << 'b*'
228
+ def big_endian_multiply(a = nil, b = nil)
229
+ @contract.teal << 'b*'
230
+ @contract
188
231
  end
189
232
 
190
- def big_endian_not_equal(_a = nil, _b = nil)
191
- TEAL.instance << 'b!='
233
+ def big_endian_not_equal(a = nil, b = nil)
234
+ @contract.teal << 'b!='
235
+ @contract
192
236
  end
193
237
 
194
- def big_endian_subtract(_a = nil, _b = nil)
195
- TEAL.instance << 'b-'
238
+ def big_endian_subtract(a = nil, b = nil)
239
+ @contract.teal << 'b-'
240
+ @contract
196
241
  end
197
242
 
198
- def bitlen(_input = nil)
199
- TEAL.instance << 'bitlen'
243
+ def bitlen(input = nil)
244
+ @contract.teal << 'bitlen'
245
+ @contract
200
246
  end
201
247
 
202
- def bitwise_and(_a = nil, _b = nil)
203
- TEAL.instance << '&'
248
+ def bitwise_and(a = nil, b = nil)
249
+ @contract.teal << '&'
250
+ @contract
204
251
  end
205
252
 
206
- def bitwise_byte_invert(_a = nil, _b = nil)
207
- TEAL.instance << 'b~'
253
+ def bitwise_byte_invert(a = nil, b = nil)
254
+ @contract.teal << 'b~'
255
+ @contract
208
256
  end
209
257
 
210
- def bitwise_invert(_a = nil, _b = nil)
211
- TEAL.instance << '~'
258
+ def bitwise_invert(a = nil, b = nil)
259
+ @contract.teal << '~'
260
+ @contract
212
261
  end
213
262
 
214
- def bitwise_or(_a = nil, _b = nil)
215
- TEAL.instance << '|'
263
+ def bitwise_or(a = nil, b = nil)
264
+ @contract.teal << '|'
265
+ @contract
216
266
  end
217
267
 
218
- def bitwise_xor(_a = nil, _b = nil)
219
- TEAL.instance << '^'
268
+ def bitwise_xor(a = nil, b = nil)
269
+ @contract.teal << '^'
270
+ @contract
220
271
  end
221
272
 
222
273
  def bnz(target)
223
- TEAL.instance << "#{__method__} #{target}"
274
+ @contract.teal << "#{__method__} #{target}"
275
+ @contract
276
+ end
277
+
278
+ def box_create(name = nil, length = nil)
279
+ @contract.teal << 'box_create'
280
+ @contract
281
+ end
282
+
283
+ def box_extract(name = nil, offset = nil, length = nil)
284
+ @contract.teal << 'box_extract'
285
+ @contract
286
+ end
287
+
288
+ def box_replace(name = nil, offset = nil, value = nil)
289
+ @contract.teal << 'box_replace'
290
+ @contract
291
+ end
292
+
293
+ def box_del(name = nil)
294
+ @contract.teal << 'box_del'
295
+ @contract
296
+ end
297
+
298
+ def box_len(name = nil)
299
+ @contract.teal << 'box_len'
300
+ @contract
224
301
  end
225
302
 
226
- def bsqrt(_big_endian_uint = nil)
227
- TEAL.instance << 'bsqrt'
303
+ def box_get(name = nil)
304
+ @contract.teal << 'box_get'
305
+ @contract
228
306
  end
229
307
 
230
- def btoi(_bytes = nil)
231
- TEAL.instance << 'btoi'
308
+ def box_put(name = nil, value = nil)
309
+ @contract.teal << 'box_put'
310
+ @contract
311
+ end
312
+
313
+ def bsqrt(big_endian_uint = nil)
314
+ @contract.teal << 'bsqrt'
315
+ @contract
316
+ end
317
+
318
+ def btoi(bytes = nil)
319
+ @contract.teal << 'btoi'
320
+ @contract
232
321
  end
233
322
 
234
323
  def byte(string)
235
- TEAL.instance << "byte \"#{string}\""
324
+ @contract.teal << "byte \"#{string}\""
325
+ @contract
236
326
  end
237
327
 
238
328
  def bytec(index)
239
- TEAL.instance << "bytec #{index}"
329
+ @contract.teal << "bytec #{index}"
330
+ @contract
240
331
  end
241
332
 
242
333
  def bytec_0 # rubocop:disable Naming/VariableNumber
243
- TEAL.instance << 'bytec_0'
334
+ @contract.teal << 'bytec_0'
335
+ @contract
244
336
  end
245
337
 
246
338
  def bytec_1 # rubocop:disable Naming/VariableNumber
247
- TEAL.instance << 'bytec_1'
339
+ @contract.teal << 'bytec_1'
340
+ @contract
248
341
  end
249
342
 
250
343
  def bytec_2 # rubocop:disable Naming/VariableNumber
251
- TEAL.instance << 'bytec_2'
344
+ @contract.teal << 'bytec_2'
345
+ @contract
252
346
  end
253
347
 
254
348
  def bytec_3 # rubocop:disable Naming/VariableNumber
255
- TEAL.instance << 'bytec_3'
349
+ @contract.teal << 'bytec_3'
350
+ @contract
256
351
  end
257
352
 
258
353
  def bytecblock(*bytes)
259
- TEAL.instance << "bytecblock #{bytes.join(' ')}"
354
+ @contract.teal << "bytecblock #{bytes.join(' ')}"
355
+ @contract
260
356
  end
261
357
 
262
358
  def bz(target)
263
- TEAL.instance << "#{__method__} #{target}"
359
+ @contract.teal << "#{__method__} #{target}"
360
+ @contract
264
361
  end
265
362
 
266
- def bzero(_length = nil)
267
- TEAL.instance << 'bzero'
363
+ def bzero(length = nil)
364
+ @contract.teal << 'bzero'
365
+ @contract
268
366
  end
269
367
 
270
368
  def callsub(name, *_args)
271
- TEAL.instance << "callsub #{name}"
369
+ @contract.teal << "callsub #{name}"
370
+ @contract
272
371
  end
273
372
 
274
- def concat(_a = nil, _b = nil)
275
- TEAL.instance << 'concat'
373
+ def concat(a = nil, b = nil)
374
+ @contract.teal << 'concat'
375
+ @contract
276
376
  end
277
377
 
278
378
  def cover(count)
279
- TEAL.instance << "cover #{count}"
379
+ @contract.teal << "cover #{count}"
380
+ @contract
280
381
  end
281
382
 
282
383
  def dig(index)
283
- TEAL.instance << "dig #{index}"
384
+ @contract.teal << "dig #{index}"
385
+ @contract
284
386
  end
285
387
 
286
- def divide(_a = nil, _b = nil)
287
- TEAL.instance << '/'
388
+ def divide(a = nil, b = nil)
389
+ @contract.teal << '/'
390
+ @contract
288
391
  end
289
392
 
290
- def divmodw(_a = nil, _b = nil)
291
- TEAL.instance << 'divmodw'
393
+ def divmodw(a = nil, b = nil)
394
+ @contract.teal << 'divmodw'
395
+ @contract
292
396
  end
293
397
 
294
- def divw(_a = nil, _b = nil)
295
- TEAL.instance << 'divw'
398
+ def divw(a = nil, b = nil)
399
+ @contract.teal << 'divw'
400
+ @contract
296
401
  end
297
402
 
298
- def dup(_expr = nil)
299
- TEAL.instance << 'dup'
403
+ def dup(expr = nil)
404
+ @contract.teal << 'dup'
405
+ @contract
300
406
  end
301
407
 
302
- def dup2(_expr_a = nil, _expr_b = nil)
303
- TEAL.instance << 'dup2'
408
+ def dup2(expr_a = nil, expr_b = nil)
409
+ @contract.teal << 'dup2'
410
+ @contract
304
411
  end
305
412
 
306
- def ecdsa_pk_decompress(index, _input = nil)
307
- TEAL.instance << "ecdsa_pk_decompress #{index}"
413
+ def ecdsa_pk_decompress(index, input = nil)
414
+ @contract.teal << "ecdsa_pk_decompress #{index}"
415
+ @contract
308
416
  end
309
417
 
310
- def ecdsa_pk_recover(index, _input = nil)
311
- TEAL.instance << "ecdsa_pk_recover #{index}"
418
+ def ecdsa_pk_recover(index, input = nil)
419
+ @contract.teal << "ecdsa_pk_recover #{index}"
420
+ @contract
312
421
  end
313
422
 
314
- def ecdsa_verify(index, _input = nil)
315
- TEAL.instance << "ecdsa_verify #{index}"
423
+ def ecdsa_verify(index, input = nil)
424
+ @contract.teal << "ecdsa_verify #{index}"
425
+ @contract
316
426
  end
317
427
 
318
- def ed25519verify(_input = nil)
319
- TEAL.instance << 'ed25519verify'
428
+ def ed25519verify(input = nil)
429
+ @contract.teal << 'ed25519verify'
430
+ @contract
320
431
  end
321
432
 
322
- def equal(_a = nil, _b = nil)
323
- TEAL.instance << '=='
433
+ def ed25519verify_bare(input = nil)
434
+ @contract.teal << 'ed25519verify_bare'
435
+ @contract
436
+ end
437
+
438
+ def equal(a = nil, b = nil)
439
+ @contract.teal << '=='
440
+ @contract
324
441
  end
325
442
 
326
443
  def err
327
- TEAL.instance << 'err'
444
+ @contract.teal << 'err'
445
+ @contract
328
446
  end
329
447
 
330
- def exp(_a = nil, _b = nil)
331
- TEAL.instance << 'exp'
448
+ def exp(a = nil, b = nil)
449
+ @contract.teal << 'exp'
450
+ @contract
332
451
  end
333
452
 
334
- def expw(_a = nil, _b = nil)
335
- TEAL.instance << 'expw'
453
+ def expw(a = nil, b = nil)
454
+ @contract.teal << 'expw'
455
+ @contract
336
456
  end
337
457
 
338
- def extract(start, length, _byte_array = nil)
339
- TEAL.instance << "extract #{start} #{length}"
458
+ def extract(start, length, byte_array = nil)
459
+ @contract.teal << "extract #{start} #{length}"
460
+ @contract
340
461
  end
341
462
 
342
- def extract3(_byte_array = nil, _start = nil, _exclusive_end = nil)
343
- TEAL.instance << 'extract3'
463
+ def extract3(byte_array = nil, start = nil, exclusive_end = nil)
464
+ @contract.teal << 'extract3'
465
+ @contract
344
466
  end
345
467
 
346
- def extract_uint16(_byte_array = nil, _start = nil)
347
- TEAL.instance << 'extract_uint16'
468
+ def extract_uint16(byte_array = nil, start = nil)
469
+ @contract.teal << 'extract_uint16'
470
+ @contract
348
471
  end
349
472
 
350
- def extract_uint32(_byte_array = nil, _start = nil)
351
- TEAL.instance << 'extract_uint32'
473
+ def extract_uint32(byte_array = nil, start = nil)
474
+ @contract.teal << 'extract_uint32'
475
+ @contract
352
476
  end
353
477
 
354
- def extract_uint64(_byte_array = nil, _start = nil)
355
- TEAL.instance << 'extract_uint64'
478
+ def extract_uint64(byte_array = nil, start = nil)
479
+ @contract.teal << 'extract_uint64'
480
+ @contract
356
481
  end
357
482
 
358
483
  def gaid(transaction_index)
359
- TEAL.instance << "gaid #{transaction_index}"
484
+ @contract.teal << "gaid #{transaction_index}"
485
+ @contract
360
486
  end
361
487
 
362
- def gaids(_transaction = nil)
363
- TEAL.instance << 'gaids'
488
+ def gaids(transaction = nil)
489
+ @contract.teal << 'gaids'
490
+ @contract
364
491
  end
365
492
 
366
- def getbit(_input = nil, _bit_index = nil)
367
- TEAL.instance << 'getbit'
493
+ def getbit(input = nil, bit_index = nil)
494
+ @contract.teal << 'getbit'
495
+ @contract
368
496
  end
369
497
 
370
- def getbyte(_input = nil, _byte_index = nil)
371
- TEAL.instance << 'getbyte'
498
+ def getbyte(input = nil, byte_index = nil)
499
+ @contract.teal << 'getbyte'
500
+ @contract
372
501
  end
373
502
 
374
503
  def gitxn(transaction_index, field)
375
- TEAL.instance << "gitxn #{transaction_index} #{field}"
504
+ @contract.teal << "gitxn #{transaction_index} #{field}"
505
+ @contract
376
506
  end
377
507
 
378
508
  def gitxna(transaction_index, field, index)
379
- TEAL.instance << "gitxna #{transaction_index} #{field} #{index}"
509
+ @contract.teal << "gitxna #{transaction_index} #{field} #{index}"
510
+ @contract
380
511
  end
381
512
 
382
- def gitxnas(transaction_index, field, _index = nil)
383
- TEAL.instance << "gitxnas #{transaction_index} #{field}"
513
+ def gitxnas(transaction_index, field, index = nil)
514
+ @contract.teal << "gitxnas #{transaction_index} #{field}"
515
+ @contract
384
516
  end
385
517
 
386
518
  def gload(transaction_index, index)
387
- TEAL.instance << "gload #{transaction_index} #{index}"
519
+ @contract.teal << "gload #{transaction_index} #{index}"
520
+ @contract
388
521
  end
389
522
 
390
- def gloads(index, _transaction_index = nil)
391
- TEAL.instance << "gloads #{index}"
523
+ def gloads(index, transaction_index = nil)
524
+ @contract.teal << "gloads #{index}"
525
+ @contract
392
526
  end
393
527
 
394
- def gloadss(_transaction = nil, _index = nil)
395
- TEAL.instance << 'gloadss'
528
+ def gloadss(transaction = nil, index = nil)
529
+ @contract.teal << 'gloadss'
530
+ @contract
396
531
  end
397
532
 
398
533
  def global(field)
399
- TEAL.instance << "global #{field}"
534
+ @contract.teal << "global #{field}"
535
+ @contract
400
536
  end
401
537
 
402
- def greater(_a = nil, _b = nil)
403
- TEAL.instance << '>'
538
+ def greater(a = nil, b = nil)
539
+ @contract.teal << '>'
540
+ @contract
404
541
  end
405
542
 
406
- def greater_eq(_a = nil, _b = nil)
407
- TEAL.instance << '>='
543
+ def greater_eq(a = nil, b = nil)
544
+ @contract.teal << '>='
545
+ @contract
408
546
  end
409
547
 
410
548
  def gtxn(index, field)
411
- TEAL.instance << "gtxn #{index} #{field}"
549
+ @contract.teal << "gtxn #{index} #{field}"
550
+ @contract
412
551
  end
413
552
 
414
553
  def gtxna(transaction_index, field, index)
415
- TEAL.instance << "gtxna #{transaction_index} #{field} #{index}"
554
+ @contract.teal << "gtxna #{transaction_index} #{field} #{index}"
555
+ @contract
416
556
  end
417
557
 
418
- def gtxns(field, _transaction_index = nil)
419
- TEAL.instance << "gtxns #{field}"
558
+ def gtxns(field, transaction_index = nil)
559
+ @contract.teal << "gtxns #{field}"
560
+ @contract
420
561
  end
421
562
 
422
- def gtxnsa(field, index, _transaction_index = nil)
423
- TEAL.instance << "gtxnsa #{field} #{index}"
563
+ def gtxnsa(field, index, transaction_index = nil)
564
+ @contract.teal << "gtxnsa #{field} #{index}"
565
+ @contract
424
566
  end
425
567
 
426
- def gtxnas(transaction_index, field, _index = nil)
427
- TEAL.instance << "gtxnas #{transaction_index} #{field}"
568
+ def gtxnas(transaction_index, field, index = nil)
569
+ @contract.teal << "gtxnas #{transaction_index} #{field}"
570
+ @contract
428
571
  end
429
572
 
430
- def gtxnsas(field, _transaction_index = nil, _index = nil)
431
- TEAL.instance << "gtxnsas #{field}"
573
+ def gtxnsas(field, transaction_index = nil, index = nil)
574
+ @contract.teal << "gtxnsas #{field}"
575
+ @contract
432
576
  end
433
577
 
434
578
  def int(integer)
435
- TEAL.instance << "int #{integer}"
579
+ @contract.teal << "int #{integer}"
580
+ @contract
436
581
  end
437
582
 
438
583
  def intc(index)
439
- TEAL.instance << "intc #{index}"
584
+ @contract.teal << "intc #{index}"
585
+ @contract
440
586
  end
441
587
 
442
588
  def intc_0 # rubocop:disable Naming/VariableNumber
443
- TEAL.instance << 'intc_0'
589
+ @contract.teal << 'intc_0'
590
+ @contract
444
591
  end
445
592
 
446
593
  def intc_1 # rubocop:disable Naming/VariableNumber
447
- TEAL.instance << 'intc_1'
594
+ @contract.teal << 'intc_1'
595
+ @contract
448
596
  end
449
597
 
450
598
  def intc_2 # rubocop:disable Naming/VariableNumber
451
- TEAL.instance << 'intc_2'
599
+ @contract.teal << 'intc_2'
600
+ @contract
452
601
  end
453
602
 
454
603
  def intc_3 # rubocop:disable Naming/VariableNumber
455
- TEAL.instance << 'intc_3'
604
+ @contract.teal << 'intc_3'
605
+ @contract
456
606
  end
457
607
 
458
608
  def intcblock(*ints)
459
- TEAL.instance << "intcblock #{ints.join(' ')}"
609
+ @contract.teal << "intcblock #{ints.join(' ')}"
610
+ @contract
460
611
  end
461
612
 
462
- def itob(_bytes = nil)
463
- TEAL.instance << 'itob'
613
+ def itob(bytes = nil)
614
+ @contract.teal << 'itob'
615
+ @contract
464
616
  end
465
617
 
466
618
  def itxn_begin
467
- TEAL.instance << 'itxn_begin'
619
+ @contract.teal << 'itxn_begin'
620
+ @contract
468
621
  end
469
622
 
470
- def itxn_field(field, _value = nil)
471
- TEAL.instance << "itxn_field #{field}"
623
+ def itxn_field(field, value = nil)
624
+ @contract.teal << "itxn_field #{field}"
625
+ @contract
472
626
  end
473
627
 
474
628
  def itxn_next
475
- TEAL.instance << 'itxn_next'
629
+ @contract.teal << 'itxn_next'
630
+ @contract
476
631
  end
477
632
 
478
633
  def itxn_submit
479
- TEAL.instance << 'itxn_submit'
634
+ @contract.teal << 'itxn_submit'
635
+ @contract
480
636
  end
481
637
 
482
638
  def itxna(field, index)
483
- TEAL.instance << "itxna #{field} #{index}"
639
+ @contract.teal << "itxna #{field} #{index}"
640
+ @contract
484
641
  end
485
642
 
486
- def itxnas(field, _index = nil)
487
- TEAL.instance << "itxnas #{field}"
643
+ def itxnas(field, index = nil)
644
+ @contract.teal << "itxnas #{field}"
645
+ @contract
488
646
  end
489
647
 
490
- def keccak256(_input = nil)
491
- TEAL.instance << 'keccak256'
648
+ def json_ref(type, object = nil, key = nil)
649
+ @contract.teal << "json_ref #{type}"
650
+ @contract
651
+ end
652
+
653
+ def keccak256(input = nil)
654
+ @contract.teal << 'keccak256'
655
+ @contract
492
656
  end
493
657
 
494
658
  def label(label_name)
495
- TEAL.instance << "#{label_name}:"
659
+ @contract.teal << "#{label_name}:"
660
+ @contract
496
661
  end
497
662
 
498
- def len(_input = nil)
499
- TEAL.instance << 'len'
663
+ def len(input = nil)
664
+ @contract.teal << 'len'
665
+ @contract
500
666
  end
501
667
 
502
- def less(_a = nil, _b = nil)
503
- TEAL.instance << '<'
668
+ def less(a = nil, b = nil)
669
+ @contract.teal << '<'
670
+ @contract
504
671
  end
505
672
 
506
- def less_eq(_a = nil, _b = nil)
507
- TEAL.instance << '<='
673
+ def less_eq(a = nil, b = nil)
674
+ @contract.teal << '<='
675
+ @contract
508
676
  end
509
677
 
510
678
  def load(index)
511
- TEAL.instance << "load #{index}"
679
+ @contract.teal << "load #{index}"
680
+ @contract
512
681
  end
513
682
 
514
- def loads(_index = nil)
515
- TEAL.instance << 'loads'
683
+ def loads(index = nil)
684
+ @contract.teal << 'loads'
685
+ @contract
516
686
  end
517
687
 
518
- def log(_byte_array = nil)
519
- TEAL.instance << 'log'
688
+ def log(byte_array = nil)
689
+ @contract.teal << 'log'
690
+ @contract
520
691
  end
521
692
 
522
693
  def method_signature(signature)
523
- TEAL.instance << %(method "#{signature}")
694
+ @contract.teal << %(method "#{signature}")
695
+ @contract
524
696
  end
525
697
 
526
- def min_balance(_account = nil)
527
- TEAL.instance << 'min_balance'
698
+ def min_balance(account = nil)
699
+ @contract.teal << 'min_balance'
700
+ @contract
528
701
  end
529
702
 
530
- def modulo(_a = nil, _b = nil)
531
- TEAL.instance << '%'
703
+ def modulo(a = nil, b = nil)
704
+ @contract.teal << '%'
705
+ @contract
532
706
  end
533
707
 
534
- def multiply(_a = nil, _b = nil)
535
- TEAL.instance << '*'
708
+ def multiply(a = nil, b = nil)
709
+ @contract.teal << '*'
710
+ @contract
536
711
  end
537
712
 
538
- def mulw(_a = nil, _b = nil)
539
- TEAL.instance << 'mulw'
713
+ def mulw(a = nil, b = nil)
714
+ @contract.teal << 'mulw'
715
+ @contract
540
716
  end
541
717
 
542
- def zero?(_expr = nil)
543
- TEAL.instance << '!'
718
+ def zero?(expr = nil)
719
+ @contract.teal << '!'
720
+ @contract
544
721
  end
545
722
 
546
- def not_equal(_a = nil, _b = nil)
547
- TEAL.instance << '!='
723
+ def not_equal(a = nil, b = nil)
724
+ @contract.teal << '!='
725
+ @contract
548
726
  end
549
727
 
550
- def padded_bitwise_and(_a = nil, _b = nil)
551
- TEAL.instance << 'b&'
728
+ def padded_bitwise_and(a = nil, b = nil)
729
+ @contract.teal << 'b&'
730
+ @contract
552
731
  end
553
732
 
554
- def padded_bitwise_or(_a = nil, _b = nil)
555
- TEAL.instance << 'b|'
733
+ def padded_bitwise_or(a = nil, b = nil)
734
+ @contract.teal << 'b|'
735
+ @contract
556
736
  end
557
737
 
558
- def padded_bitwise_xor(_a = nil, _b = nil)
559
- TEAL.instance << 'b^'
738
+ def padded_bitwise_xor(a = nil, b = nil)
739
+ @contract.teal << 'b^'
740
+ @contract
560
741
  end
561
742
 
562
- def pop(_expr = nil)
563
- TEAL.instance << 'pop'
743
+ def pop(expr = nil)
744
+ @contract.teal << 'pop'
745
+ @contract
564
746
  end
565
747
 
566
748
  def pushbytes(string)
567
- TEAL.instance << "pushbytes \"#{string}\""
749
+ @contract.teal << "pushbytes \"#{string}\""
750
+ @contract
568
751
  end
569
752
 
570
753
  def pushint(integer)
571
- TEAL.instance << "pushint #{integer}"
754
+ @contract.teal << "pushint #{integer}"
755
+ @contract
756
+ end
757
+
758
+ def replace(a = nil, b = nil, c = nil)
759
+ @contract.teal << 'replace'
760
+ @contract
761
+ end
762
+
763
+ def replace2(start, a = nil, b = nil)
764
+ @contract.teal << "replace2 #{start}"
765
+ @contract
572
766
  end
573
767
 
574
768
  def retsub
575
- TEAL.instance << 'retsub'
769
+ @contract.teal << 'retsub'
770
+ @contract
576
771
  end
577
772
 
578
- def select(_expr_a = nil, _expr_b = nil, _expr_c = nil)
579
- TEAL.instance << 'select'
773
+ def select(expr_a = nil, expr_b = nil, expr_c = nil)
774
+ @contract.teal << 'select'
775
+ @contract
580
776
  end
581
777
 
582
- def setbit(_input = nil, _bit_index = nil, _value = nil)
583
- TEAL.instance << 'setbit'
778
+ def setbit(input = nil, bit_index = nil, value = nil)
779
+ @contract.teal << 'setbit'
780
+ @contract
584
781
  end
585
782
 
586
- def setbyte(_byte_array = nil, _byte_index = nil, _value = nil)
587
- TEAL.instance << 'setbyte'
783
+ def setbyte(byte_array = nil, byte_index = nil, value = nil)
784
+ @contract.teal << 'setbyte'
785
+ @contract
588
786
  end
589
787
 
590
- def sha256(_input = nil)
591
- TEAL.instance << 'sha256'
788
+ def sha256(input = nil)
789
+ @contract.teal << 'sha256'
790
+ @contract
592
791
  end
593
792
 
594
- def sha512_256(_input = nil) # rubocop:disable Naming/VariableNumber
595
- TEAL.instance << 'sha512_256'
793
+ # rubocop:disable Naming/VariableNumber
794
+ def sha3_256(input = nil)
795
+ @contract.teal << 'sha3_256'
796
+ @contract
596
797
  end
597
798
 
598
- def shl(_a = nil, _b = nil)
599
- TEAL.instance << 'shl'
799
+ def sha512_256(input = nil)
800
+ @contract.teal << 'sha512_256'
801
+ @contract
600
802
  end
601
803
 
602
- def shr(_a = nil, _b = nil)
603
- TEAL.instance << 'shr'
804
+ # rubocop:enable Naming/VariableNumber
805
+
806
+ def shl(a = nil, b = nil)
807
+ @contract.teal << 'shl'
808
+ @contract
604
809
  end
605
810
 
606
- def sqrt(_integer = nil)
607
- TEAL.instance << 'sqrt'
811
+ def shr(a = nil, b = nil)
812
+ @contract.teal << 'shr'
813
+ @contract
608
814
  end
609
815
 
610
- def store(index, _value = nil)
611
- TEAL.instance << "store #{index}"
816
+ def sqrt(integer = nil)
817
+ @contract.teal << 'sqrt'
818
+ @contract
612
819
  end
613
820
 
614
- def stores(_index = nil, _value = nil)
615
- TEAL.instance << 'stores'
821
+ def store(index, value = nil)
822
+ @contract.teal << "store #{index}"
823
+ @contract
616
824
  end
617
825
 
618
- def substring(start, exclusive_end, _byte_array = nil)
619
- TEAL.instance << "substring #{start} #{exclusive_end}"
826
+ def stores(index = nil, value = nil)
827
+ @contract.teal << 'stores'
828
+ @contract
620
829
  end
621
830
 
622
- def substring3(_byte_array = nil, _start = nil, _exclusive_end = nil)
623
- TEAL.instance << 'substring3'
831
+ def substring(start, exclusive_end, byte_array = nil)
832
+ @contract.teal << "substring #{start} #{exclusive_end}"
833
+ @contract
624
834
  end
625
835
 
626
- def subtract(_a = nil, _b = nil)
627
- TEAL.instance << '-'
836
+ def substring3(byte_array = nil, start = nil, exclusive_end = nil)
837
+ @contract.teal << 'substring3'
838
+ @contract
628
839
  end
629
840
 
630
- def swap(_expr_a = nil, _expr_b = nil)
631
- TEAL.instance << 'swap'
841
+ def subtract(a = nil, b = nil)
842
+ @contract.teal << '-'
843
+ @contract
632
844
  end
633
845
 
634
- def teal_return(_expr = nil)
635
- TEAL.instance << 'return'
846
+ def swap(expr_a = nil, expr_b = nil)
847
+ @contract.teal << 'swap'
848
+ @contract
849
+ end
850
+
851
+ def teal_return(expr = nil)
852
+ @contract.teal << 'return'
853
+ @contract
636
854
  end
637
855
 
638
856
  def txn(field)
639
- TEAL.instance << "txn #{field}"
857
+ @contract.teal << "txn #{field}"
858
+ @contract
640
859
  end
641
860
 
642
861
  def txna(field, index)
643
- TEAL.instance << "txna #{field} #{index}"
862
+ @contract.teal << "txna #{field} #{index}"
863
+ @contract
644
864
  end
645
865
 
646
- def txnas(field, _index = nil)
647
- TEAL.instance << "txnas #{field}"
866
+ def txnas(field, index = nil)
867
+ @contract.teal << "txnas #{field}"
868
+ @contract
648
869
  end
649
870
 
650
871
  def uncover(count)
651
- TEAL.instance << "uncover #{count}"
872
+ @contract.teal << "uncover #{count}"
873
+ @contract
874
+ end
875
+
876
+ def vrf_verify(standard, message = nil, proof = nil, public_key = nil)
877
+ @contract.teal << "vrf_verify #{standard}"
878
+ @contract
652
879
  end
653
880
 
654
- def boolean_and(_a = nil, _b = nil)
655
- TEAL.instance << '&&'
881
+ def boolean_and(a = nil, b = nil)
882
+ @contract.teal << '&&'
883
+ @contract
656
884
  end
657
885
 
658
- def boolean_or(_a = nil, _b = nil)
659
- TEAL.instance << '||'
886
+ def boolean_or(a = nil, b = nil)
887
+ @contract.teal << '||'
888
+ @contract
889
+ end
890
+
891
+ def pushints(*ints)
892
+ @contract.teal << "pushints #{ints.join(' ')}"
893
+ @contract
894
+ end
895
+
896
+ def pushbytess(*bytes)
897
+ @contract.teal << "pushbytes #{bytes.map { "\"#{_1}\"" }.join(' ')}"
898
+ @contract
899
+ end
900
+
901
+ def proto(num_args, num_return)
902
+ @contract.teal << "proto #{num_args} #{num_return}"
903
+ @contract
904
+ end
905
+
906
+ def frame_dig(n)
907
+ @contract.teal << "frame_dig #{n}"
908
+ @contract
909
+ end
910
+
911
+ def frame_bury(n)
912
+ @contract.teal << "frame_bury #{n}"
913
+ @contract
914
+ end
915
+
916
+ def switch(*labels)
917
+ @contract.teal << "switch #{labels.join(' ')}"
918
+ @contract
919
+ end
920
+
921
+ def match(*labels)
922
+ @contract.teal << "match #{labels.join(' ')}"
923
+ @contract
924
+ end
925
+
926
+ def popn(n)
927
+ @contract.teal << "popn #{n}"
928
+ @contract
929
+ end
930
+
931
+ def dupn(n)
932
+ @contract.teal << "dupn #{n}"
933
+ @contract
934
+ end
935
+
936
+ def bury(n)
937
+ @contract.teal << "bury #{n}"
938
+ @contract
660
939
  end
661
940
  end
662
941
  end
663
942
  end
943
+
944
+ # rubocop:enable Lint/UnusedMethodArgument