tealrb 0.10.1 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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