lib/universa/contract.rb in universa-3.9.15.pre.p1 vs lib/universa/contract.rb in universa-3.9.15
- old
+ new
@@ -10,20 +10,65 @@
# Adapter for Universa RevokePermission
class RevokePermission < RemoteAdapter
remote_class "com.icodici.universa.contract.permissions.RevokePermission"
end
+ # Adapter for plitjoin permission
class SplitJoinPermission < RemoteAdapter
remote_class "com.icodici.universa.contract.permissions.SplitJoinPermission"
end
# Adapter for Universa Role
class Role < RemoteAdapter
remote_class "com.icodici.universa.contract.roles.Role"
+
+ class RequireMode
+ ALL_OF = "ALL_OF"
+ ANY_OF = "ANY_OF"
+ end
end
+ # Adaoter for link role
+ class RoleLink < RemoteAdapter
+ remote_class "com.icodici.universa.contract.roles.RoleLink"
+ end
+ # adapter for a simple (key owner) role
+ class SimpleRole < RemoteAdapter
+ remote_class "com.icodici.universa.contract.roles.SimpleRole"
+ end
+
+ # adapter for a role that is a list of roles
+ class ListRole < RemoteAdapter
+ remote_class "com.icodici.universa.contract.roles.ListRole"
+ end
+
+ # Adapter for permission to modify data
+ class ModifyDataPermission < RemoteAdapter
+ remote_class "com.icodici.universa.contract.permissions.ModifyDataPermission"
+ end
+
+
+ # Wrapper for Java API Reference class
+
+ class Reference < RemoteAdapter
+ remote_class "com.icodici.universa.contract.Reference"
+
+ remote_field :name, :type, :transactional_id, :contract_id, :required, :origin, :signed_by, :fields, :roles,
+ :matchingItems
+
+ alias matching_items matchingItems
+
+ ALL_OF = 'all_of'
+ ANY_OF = 'any_of'
+ SIMPLE_CONDITION = 'simple_condition'
+
+ TYPE_TRANSACTIONAL = 1
+ TYPE_EXISTING_DEFINITION = 2
+ TYPE_EXISTING_STATE = 3
+ end
+
# adapter for Universa TransactionPack
class TransactionPack < RemoteAdapter
remote_class "com.icodici.universa.contract.TransactionPack"
# Unpack the transaction pack
@@ -54,9 +99,16 @@
# @param [String] string_id id string representation, like from +hash_id_instance.to_s+. See {#to_s}.
def self.from_string(string_id)
string_id.force_encoding('utf-8').gsub('-', '+').gsub('_', '/')
invoke_static 'with_digest', string_id
end
+
+ # Create a random HashId
+ # @return [HashId] random HashId
+ def self.create_random
+ invoke_static 'create_random'
+ end
+
# Get binary representation. It is shorter than string representation but contain non-printable characters and
# can cause problems if treated like a string. Use {#to_s} to get string representation instead.
#
# @return [String] binary string
\ No newline at end of file