dtr_core 0.2.6 → 0.2.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 242efbb99a793163e085853ecaf69ef2e07d8bd0fc2952fdc7490d116d09af4a
4
- data.tar.gz: 3c363a459f8e5d23d2e81d188fa160deb567fb6a25cca378a5ae5f73a82cc16d
3
+ metadata.gz: b4c2bb162b6f7558a066ca08b82146f6934951c8b78a63f1ec2695df3582300c
4
+ data.tar.gz: e9afc8ec73ecddb50de3684f698aa19eebfcae7c59c236ef18f8785ac69e61e5
5
5
  SHA512:
6
- metadata.gz: 012c681fee649284f6ea504c68aa5c3b9ffd7fba9b4bf458fd45ecd88541c2d32f5b8b30ad44ebbdd7050237a0d2e479c812c1586014bdb84bf564a4282425e8
7
- data.tar.gz: 7e7aefdd93759b7c3286ba14436a4540c32d01d276c1d587226b109dfb6f44dfb1a2e47543a9ecd19bb78bec075716ff0b6585a275cbdb3e7fb85f9bb2cf26db
6
+ metadata.gz: f3520c017ed2737f133654425373cf7dfa4f2aebf1e45637b2fa1e5189c48d5bb3ee57ba89c0089f75aa1d55dda0e6eb782d00506aca5b63963288494d05f67f
7
+ data.tar.gz: d28e1da96a73ac17085ce0b9ac746c4300c206320f24e19e938ac15672f6cc285c6d01840b5d311b2937e888b5f846d9178804120441a7065475c5aec441b171
@@ -6,25 +6,33 @@ module DTRCore
6
6
  ## Instruction Categories ##
7
7
  INSTRUCTION_CATEGORY_BASIC = 'basic'
8
8
  INSTRUCTION_CATEGORY_STATE = 'state'
9
+ INSTRUCTION_CATEGORY_UNTYPED = 'untyped'
9
10
  INSTRUCTION_CATEGORY_NUMERIC = 'numeric'
10
11
  INSTRUCTION_CATEGORY_STRING = 'string'
11
12
  INSTRUCTION_CATEGORY_ENVIRONMENT = 'environment'
13
+ INSTRUCTION_CATEGORY_METHODS = 'methods'
14
+ INSTRUCTION_CATEGORY_OBJECTS = 'objects'
12
15
  INSTRUCTION_CATEGORIES = [
13
16
  INSTRUCTION_CATEGORY_BASIC,
14
17
  INSTRUCTION_CATEGORY_STATE,
18
+ INSTRUCTION_CATEGORY_UNTYPED,
15
19
  INSTRUCTION_CATEGORY_NUMERIC,
16
20
  INSTRUCTION_CATEGORY_STRING,
17
- INSTRUCTION_CATEGORY_ENVIRONMENT
21
+ INSTRUCTION_CATEGORY_ENVIRONMENT,
22
+ INSTRUCTION_CATEGORY_METHODS,
23
+ INSTRUCTION_CATEGORY_OBJECTS
18
24
  ].freeze
19
25
  ## Instructions ##
20
26
  INSTRUCTIONS = [
21
27
  # basic operations
22
28
  { name: 'return', description: 'Return a value from a function.', category: INSTRUCTION_CATEGORY_BASIC },
23
29
  { name: 'assign', description: 'Assign a value to a variable.', category: INSTRUCTION_CATEGORY_BASIC },
24
- { name: 'add', description: 'Add two things of unknown types together.', category: INSTRUCTION_CATEGORY_BASIC },
25
30
  # state operations
26
31
  { name: 'fetch_state', description: 'Fetch a value from the state.', category: INSTRUCTION_CATEGORY_STATE },
27
32
  { name: 'save_state', description: 'Save a value to the state.', category: INSTRUCTION_CATEGORY_STATE },
33
+ # untyped operations
34
+ { name: 'add', description: 'Add two things of unknown types together.', category: INSTRUCTION_CATEGORY_UNTYPED },
35
+ { name: 'add_and_assign', description: 'Add two things of unknown types together and then assign to the first one.', category: INSTRUCTION_CATEGORY_UNTYPED },
28
36
  # numeric operations
29
37
  { name: 'add_numbers', description: 'Add two numbers.', category: INSTRUCTION_CATEGORY_NUMERIC },
30
38
  { name: 'subtract_numbers', description: 'Subtract two numbers.', category: INSTRUCTION_CATEGORY_NUMERIC },
@@ -34,6 +42,10 @@ module DTRCore
34
42
  { name: 'add_strings', description: 'Concatenate two strings.', category: INSTRUCTION_CATEGORY_STRING },
35
43
  # environment operations
36
44
  { name: 'contract_address', description: 'Get the contract address.', category: INSTRUCTION_CATEGORY_ENVIRONMENT }
45
+ # method operations
46
+ { name: 'evaluate', description: 'Evaluate a method. Method name is the first input and arguments follow', category: INSTRUCTION_CATEGORY_METHODS }
47
+ # object operations
48
+ { name: 'field', description: 'Reference an object field.', category: INSTRUCTION_CATEGORY_OBJECTS }
37
49
  ].freeze
38
50
 
39
51
  # Supported Types for DTR.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dtr_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Durst
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-24 00:00:00.000000000 Z
11
+ date: 2024-05-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Core smart contract intermediate language (Digicus Textual Representation)
14
14
  parser.