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