solace 0.1.4 → 0.1.6

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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/lib/solace/composers/associated_token_account_program_create_account_composer.rb +11 -10
  3. data/lib/solace/composers/associated_token_account_program_create_idempotent_account_composer.rb +2 -1
  4. data/lib/solace/composers/base.rb +1 -1
  5. data/lib/solace/composers/spl_token_program_close_account_composer.rb +3 -3
  6. data/lib/solace/composers/spl_token_program_initialize_mint_composer.rb +5 -5
  7. data/lib/solace/composers/spl_token_program_mint_to_composer.rb +4 -4
  8. data/lib/solace/composers/spl_token_program_transfer_checked_composer.rb +6 -6
  9. data/lib/solace/composers/spl_token_program_transfer_composer.rb +4 -4
  10. data/lib/solace/composers/system_program_create_account_composer.rb +5 -5
  11. data/lib/solace/composers/system_program_transfer_composer.rb +3 -3
  12. data/lib/solace/composers/token_2022_program_close_account_composer.rb +75 -0
  13. data/lib/solace/composers/token_2022_program_initialize_mint_composer.rb +93 -0
  14. data/lib/solace/composers/token_2022_program_mint_to_composer.rb +84 -0
  15. data/lib/solace/composers/token_2022_program_transfer_checked_composer.rb +109 -0
  16. data/lib/solace/composers/token_2022_program_transfer_composer.rb +86 -0
  17. data/lib/solace/connection.rb +29 -9
  18. data/lib/solace/constants.rb +8 -2
  19. data/lib/solace/errors/confirmation_timeout.rb +4 -4
  20. data/lib/solace/errors/rpc_error.rb +4 -4
  21. data/lib/solace/instructions/associated_token_account/create_account_instruction.rb +2 -1
  22. data/lib/solace/instructions/spl_token/close_account_instruction.rb +2 -2
  23. data/lib/solace/instructions/spl_token/initialize_account_instruction.rb +2 -2
  24. data/lib/solace/instructions/spl_token/initialize_mint_instruction.rb +2 -2
  25. data/lib/solace/instructions/spl_token/mint_to_instruction.rb +2 -2
  26. data/lib/solace/instructions/spl_token/transfer_checked_instruction.rb +3 -3
  27. data/lib/solace/instructions/spl_token/transfer_instruction.rb +2 -2
  28. data/lib/solace/instructions/system_program/create_account_instruction.rb +2 -2
  29. data/lib/solace/instructions/system_program/transfer_instruction.rb +2 -2
  30. data/lib/solace/instructions/token_2022/close_account_instruction.rb +50 -0
  31. data/lib/solace/instructions/token_2022/initialize_account_instruction.rb +62 -0
  32. data/lib/solace/instructions/token_2022/initialize_mint_instruction.rb +75 -0
  33. data/lib/solace/instructions/token_2022/mint_to_instruction.rb +59 -0
  34. data/lib/solace/instructions/token_2022/transfer_checked_instruction.rb +68 -0
  35. data/lib/solace/instructions/token_2022/transfer_instruction.rb +71 -0
  36. data/lib/solace/message.rb +5 -5
  37. data/lib/solace/programs/associated_token_account.rb +35 -17
  38. data/lib/solace/programs/spl_token.rb +18 -254
  39. data/lib/solace/programs/token_2022.rb +70 -0
  40. data/lib/solace/programs/token_program_interface.rb +312 -0
  41. data/lib/solace/serializers/address_lookup_table_deserializer.rb +2 -2
  42. data/lib/solace/serializers/base_deserializer.rb +1 -1
  43. data/lib/solace/serializers/instruction_deserializer.rb +2 -2
  44. data/lib/solace/serializers/message_deserializer.rb +3 -3
  45. data/lib/solace/serializers/transaction_deserializer.rb +1 -1
  46. data/lib/solace/tokens/token.rb +1 -1
  47. data/lib/solace/tokens.rb +2 -2
  48. data/lib/solace/transaction.rb +1 -1
  49. data/lib/solace/transaction_composer.rb +5 -5
  50. data/lib/solace/utils/account_context.rb +9 -9
  51. data/lib/solace/utils/codecs.rb +309 -49
  52. data/lib/solace/utils/rpc_client.rb +9 -9
  53. data/lib/solace/version.rb +1 -1
  54. data/lib/solace.rb +2 -0
  55. metadata +124 -9
  56. data/CHANGELOG +0 -226
  57. data/LICENSE +0 -21
  58. data/README.md +0 -518
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Scholl
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-06-22 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: base58
@@ -51,6 +52,20 @@ dependencies:
51
52
  - - "~>"
52
53
  - !ruby/object:Gem::Version
53
54
  version: '7.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: factory_bot
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
54
69
  - !ruby/object:Gem::Dependency
55
70
  name: minitest
56
71
  requirement: !ruby/object:Gem::Requirement
@@ -65,6 +80,20 @@ dependencies:
65
80
  - - "~>"
66
81
  - !ruby/object:Gem::Version
67
82
  version: '5.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: minitest-hooks
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
68
97
  - !ruby/object:Gem::Dependency
69
98
  name: rake
70
99
  requirement: !ruby/object:Gem::Requirement
@@ -79,6 +108,48 @@ dependencies:
79
108
  - - "~>"
80
109
  - !ruby/object:Gem::Version
81
110
  version: '13.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: redcarpet
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop-yard
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
82
153
  - !ruby/object:Gem::Dependency
83
154
  name: tty-spinner
84
155
  requirement: !ruby/object:Gem::Requirement
@@ -93,6 +164,34 @@ dependencies:
93
164
  - - ">="
94
165
  - !ruby/object:Gem::Version
95
166
  version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: yard
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: yardstick
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
96
195
  description: A Ruby library for working with Solana blockchain. Provides both low-level
97
196
  instruction builders and high-level program clients for interacting with Solana
98
197
  programs.
@@ -102,9 +201,6 @@ executables: []
102
201
  extensions: []
103
202
  extra_rdoc_files: []
104
203
  files:
105
- - CHANGELOG
106
- - LICENSE
107
- - README.md
108
204
  - lib/solace.rb
109
205
  - lib/solace/address_lookup_table.rb
110
206
  - lib/solace/composers/associated_token_account_program_create_account_composer.rb
@@ -117,6 +213,11 @@ files:
117
213
  - lib/solace/composers/spl_token_program_transfer_composer.rb
118
214
  - lib/solace/composers/system_program_create_account_composer.rb
119
215
  - lib/solace/composers/system_program_transfer_composer.rb
216
+ - lib/solace/composers/token_2022_program_close_account_composer.rb
217
+ - lib/solace/composers/token_2022_program_initialize_mint_composer.rb
218
+ - lib/solace/composers/token_2022_program_mint_to_composer.rb
219
+ - lib/solace/composers/token_2022_program_transfer_checked_composer.rb
220
+ - lib/solace/composers/token_2022_program_transfer_composer.rb
120
221
  - lib/solace/concerns/binary_serializable.rb
121
222
  - lib/solace/connection.rb
122
223
  - lib/solace/constants.rb
@@ -138,11 +239,19 @@ files:
138
239
  - lib/solace/instructions/spl_token/transfer_instruction.rb
139
240
  - lib/solace/instructions/system_program/create_account_instruction.rb
140
241
  - lib/solace/instructions/system_program/transfer_instruction.rb
242
+ - lib/solace/instructions/token_2022/close_account_instruction.rb
243
+ - lib/solace/instructions/token_2022/initialize_account_instruction.rb
244
+ - lib/solace/instructions/token_2022/initialize_mint_instruction.rb
245
+ - lib/solace/instructions/token_2022/mint_to_instruction.rb
246
+ - lib/solace/instructions/token_2022/transfer_checked_instruction.rb
247
+ - lib/solace/instructions/token_2022/transfer_instruction.rb
141
248
  - lib/solace/keypair.rb
142
249
  - lib/solace/message.rb
143
250
  - lib/solace/programs/associated_token_account.rb
144
251
  - lib/solace/programs/base.rb
145
252
  - lib/solace/programs/spl_token.rb
253
+ - lib/solace/programs/token_2022.rb
254
+ - lib/solace/programs/token_program_interface.rb
146
255
  - lib/solace/public_key.rb
147
256
  - lib/solace/serializers/address_lookup_table_deserializer.rb
148
257
  - lib/solace/serializers/address_lookup_table_serializer.rb
@@ -169,10 +278,15 @@ files:
169
278
  - lib/solace/utils/pda.rb
170
279
  - lib/solace/utils/rpc_client.rb
171
280
  - lib/solace/version.rb
172
- homepage: https://github.com/sebscholl/solace
281
+ homepage: https://github.com/zarpay/solace
173
282
  licenses:
174
283
  - MIT
175
- metadata: {}
284
+ metadata:
285
+ allowed_push_host: https://rubygems.org
286
+ source_code_uri: https://github.com/zarpay/solace
287
+ changelog_uri: https://github.com/zarpay/solace/blob/main/CHANGELOG
288
+ documentation_uri: https://zarpay.github.io/solace
289
+ rubygems_mfa_required: 'true'
176
290
  post_install_message: |2+
177
291
 
178
292
  Thank you for installing Solace!
@@ -180,7 +294,7 @@ post_install_message: |2+
180
294
  This gem includes native binaries for curve25519 operations.
181
295
  If you encounter any issues with native library loading,
182
296
  please check that your platform is supported or file an issue at:
183
- https://github.com/sebscholl/solace/issues
297
+ https://github.com/zarpay/solace/issues
184
298
 
185
299
  rdoc_options: []
186
300
  require_paths:
@@ -196,7 +310,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
196
310
  - !ruby/object:Gem::Version
197
311
  version: '0'
198
312
  requirements: []
199
- rubygems_version: 4.0.6
313
+ rubygems_version: 3.5.22
314
+ signing_key:
200
315
  specification_version: 4
201
316
  summary: Solana ruby library
202
317
  test_files: []
data/CHANGELOG DELETED
@@ -1,226 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
6
-
7
- ### Template
8
-
9
- ```markdown
10
- ## [VERSION] - yyyy-mm-dd
11
-
12
- ### Added
13
-
14
- 1.
15
-
16
- ### Changed
17
-
18
- ### Fixed
19
- ```
20
-
21
- ---
22
-
23
- ## 0.1.3 - 2025-06-11
24
-
25
- ### Added
26
-
27
- 1. Added `Solace::Instructions::AssociatedTokenAccount::CreateIdempotentAccountInstruction`
28
- 2. Added `Solace::Composers::AssociatedTokenAccountCreateIdempotentAccountComposer`
29
-
30
- ### Changed
31
-
32
- 1. Renamed `Solace::Instructions::AssociatedTokenAccount::CreateAssociatedTokenAccountInstruction` to `Solace::Instructions::AssociatedTokenAccount::CreateAccountInstruction` with backwards compatibility
33
-
34
- ---
35
-
36
- ## [0.1.2] - 2025-05-11
37
-
38
- ### Added
39
-
40
- 1. Added support for closing SPL token accounts with:
41
- - `Solace::Composers::SystemProgramCreateAccountComposer`
42
- - `Solace::Instructions::SystemProgram::CreateAccountInstruction`
43
-
44
- ## [0.1.1] - 2025-05-11
45
-
46
- ### Added
47
-
48
- 1. Added support to inject encoding externally to get the data with respective encoding.
49
-
50
- ## [0.1.0] - 2025-18-10
51
-
52
- **NOTE (Breaking):**
53
- All previous `prepare_*` Program methods have been renamed to `compose_*` and now return an **unsigned composer instance**. This enables composition and extensibility that weren’t possible when methods returned a signed transaction that was only editable via low-level manipulation.
54
- Additionally, unless explicitly required by a composer’s instruction, the `payer:` keyword has been removed from the new `compose_*` methods and is instead only used in their execution counterparts (e.g., `compose_mint_to` → `mint_to`). This allows specifying the fee payer when building the final transaction, while keeping composition steps payer-agnostic.
55
-
56
- ### Added
57
-
58
- 1. **`Solace::Tokens`** — a structured registry and lookup system for Solana token metadata.
59
-
60
- - Developers can define token details via a YAML configuration file scoped by network (e.g., `mainnet`, `devnet`).
61
- - Programmatic access to token metadata:
62
-
63
- ```ruby
64
- Solace::Tokens.load(path: 'tokens.yml', network: :devnet)
65
- Solace::Tokens::USDC.decimals # => 6
66
- Solace::Tokens.fetch('USDC') # => <Solace::Tokens::Token ...>
67
- Solace::Tokens.where(decimals: 6)
68
- ```
69
-
70
- - Dynamically registers constants for each token symbol (`USDC`, `SOL`, etc.).
71
- - Safety improvements to preserve internal constants (`Token`) during reloads.
72
-
73
- 2. **`SystemProgramCreateAccountComposer`** — composer for building account creation flows via the Solana System Program.
74
-
75
- - Wraps `SystemProgram::CreateAccountInstruction`.
76
- - Handles lamport allocation, rent exemption, and ownership assignment.
77
- - Simplifies creation of system-owned and program-owned accounts.
78
-
79
- 3. **`SplTokenProgramInitializeMintComposer`** — composer for initializing new SPL Token mints.
80
-
81
- - Wraps `SplToken::InitializeMintInstruction`.
82
- - Supports decimals, mint authority, and optional freeze authority.
83
- - Designed to pair with `SystemProgramCreateAccountComposer` for one-transaction mint creation.
84
-
85
- 4. **`SplTokenProgramMintToComposer`** — composer for minting tokens to an ATA.
86
-
87
- - Wraps `SplToken::MintToInstruction`.
88
- - Supports minting tokens to a destination ATA.
89
-
90
- 5. **`SplTokenProgramTransferComposer`** — composer for transferring tokens.
91
-
92
- - Wraps `SplToken::TransferInstruction`.
93
- - Supports sending SPL tokens.
94
-
95
- 6. **`Solace::Connection`** — cached blockhash accessors.
96
-
97
- - Added `last_fetched_blockhash` and `last_fetched_block_height`.
98
- - Stores the most recently retrieved blockhash and corresponding `lastValidBlockHeight`.
99
- - Enables reuse without re-fetching between sequential transactions.
100
- - `get_latest_blockhash` now sets these values automatically.
101
-
102
- 7. **`TransactionComposer`** — instruction ordering helpers.
103
-
104
- - Added `prepend_instruction` and `insert_instruction` for finer control of instruction order.
105
-
106
- 8. **`Transaction`** — signature helper.
107
-
108
- - Added `transaction.signature` to get the signature from a signed transaction.
109
-
110
- 9. **Program method options** — higher-level control.
111
-
112
- - Added `execute`, `sign`, and a yield block to relevant Program methods for flow control and composer access.
113
-
114
- ### Changed
115
-
116
- 1. `TransactionComposer#build_instructions` now flattens arrays so composers can return multiple instructions (e.g., create an account then initialize it).
117
-
118
- 2. `Connection#get_latest_blockhash` now uses the connection’s expected commitment (or provided options) and returns `[blockhash, lastValidBlockheight]`.
119
-
120
- 3. Default commitment level changed to `processed` in `Solace::Connection`.
121
-
122
- 4. SPL Program: renamed/adjusted kwargs for `compose_create_mint` and moved signing logic to `create_mint`.
123
-
124
- 5. SPL Program: `compose_mint_to` moved signing logic to `mint_to`.
125
-
126
- 6. SPL Program: `compose_transfer` moved signing logic to `transfer`.
127
-
128
- 7. SPL Program: `create_mint`, `compose_create_mint`, and `compose_create_associated_token_account` now accept separate `funder` and `payer` keys. Both may be the same value, but splitting them allows one account to pay transaction fees while another covers rent exemption.
129
-
130
- 8. All executable Program methods now return the **Solace transaction instance** instead of an encoded signature.
131
-
132
- 9. Updated `test/bootstrap.rb` to use composers for setting up test fixtures in a single transaction.
133
-
134
- ### Fixed
135
-
136
- - Improved token loading safety in `Solace::Tokens` to prevent internal constant removal during reloads.
137
-
138
- ---
139
-
140
- ## [0.0.9] - 2025-08-12
141
-
142
- ### Added
143
-
144
- 1. Added `get_program_accounts` to `Solace::Connection`.
145
-
146
- ### Changed
147
-
148
- ### Fixed
149
-
150
- 1. Removed use of the `try` method for supporting non-rails environments.
151
-
152
- ## [0.0.8] - 2025-08-11
153
-
154
- ### Added
155
-
156
- 1. Added `load` method to `Solace::Constants` to load constants from a YAML file. This method allows for loading constants from a YAML file (i.e. custom program addresses and mint accounts).
157
- 2. Added `to_s` and `address` method to `Solace::Keypair` and `Solace::PublicKey` to return the public key as a Base58 string.
158
- 3. Added `get_signature_status` and `get_signature_statuses` to `Solace::Connection`.
159
- 4. Added `RPCClient` to `Solace::Utils` to handle HTTP requests to a Solana RPC node.
160
- 5. Added `Errors` module to `Solace::Utils` to handle errors from the HTTP requests made to the Solana RPC node.
161
-
162
- ### Changed
163
-
164
- 1. All methods that take a `Solace::Keypair` or `Solace::Pubkey` where an address is needed now also accept a plain string address. This prevents the need of creating instances of the classes when all that is needed is the address. This is with the exception of the low-level instruction builders, which only expect the correct data and indicies with no required casting.
165
- 2. Changed `wait_for_confirmed_signature` method to accept a `timeout`, `interval`, and `commitment` arguments.
166
-
167
- ### Fixed
168
-
169
- 1. Fixed `get_or_create_address` method in `Solace::Programs::AssociatedTokenAccount` to return the address of the associated token account if it already exists by checking if there is any data at the address.
170
-
171
- ## [0.0.7] - 2025-08-09
172
-
173
- ### Added
174
-
175
- 1. Added `AssociatedTokenAccountProgramCreateAccountComposer` with tests.
176
-
177
- ### Changed
178
-
179
- 1. Updated `AssociatedTokenAccount` to use `AssociatedTokenAccountProgramCreateAccountComposer` and sign the transaction in the `create_associated_token_account` method instead of the `compose_create_associated_token_account` method.
180
-
181
- ### Fixed
182
-
183
- ## [0.0.6] - 2025-08-07
184
-
185
- ### Added
186
-
187
- 1. Added `from_address` method to `Solace::PublicKey`.
188
- 2. Change docs on most methods to include an `@example` section.
189
-
190
- ### Changed
191
-
192
- 1. Change `private_key` method on Keypair to `pivate_key_bytes`
193
- 2. Change README to include a practical example of using composers.
194
-
195
- ### Fixed
196
-
197
- 1. Fix `encode_signatures` method in `Solace::Serializers::TransactionSerializer` to correctly count the number of signatures using the `num_required_signatures` field in the message.
198
-
199
- ## [0.0.3] - 2025-07-30
200
-
201
- ### Added
202
-
203
- 1. Moved `TransferCheckedInstruction` and `TransferInstruction` to `Solace::Instructions::SystemProgram` namespace.
204
- 2. Added `get_token_account_balance` to `Solace::Connection`.
205
- 3. Added `get_or_create_address` to `Solace::Programs::AssociatedTokenAccount`.
206
- 4. Added Composer system for handling accounts and instructions in a higher level abstraction.
207
- 5. Added `SystemProgramTransferComposer` to `Solace::Composers` namespace.
208
- 6. Added `SplTokenProgramTransferCheckedComposer` to `Solace::Composers` namespace.
209
- 7. Moved TransferCheckedInstruction to proper namespace `Solace::Instructions::SplToken::TransferCheckedInstruction`.
210
- 8. Updated `get_or_create_address` to wait for confirmation before returning the address in `Solace::Programs::AssociatedTokenAccount`.
211
- 9. Moved default options to instance variable in `Solace::Connection`.
212
- 10. Moved test setup to `test/bootstrap.rb` and added rake task `bootstrap` to run it.
213
-
214
- ### Changed
215
-
216
- THESE ARE BREAKING CHANGES FROM 0.0.2 TO 0.0.3. Solice is still in alpha and the API is subject to change.
217
-
218
- There was a bit of a refactoring of the codebase to make it more maintainable and to make it easier to add new features. Additonally, the SDK now has `Composers` for handling accounts and instructions in a higher level abstraction. These composers are used in the tests and can be used in your own code as well.
219
-
220
- Soon, YARD documentation will be added to the SDK and published to https://solace-rb.github.io/solace/.
221
-
222
- Stay tuned.
223
-
224
- ### Fixed
225
-
226
- N/A
data/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Sebastian Scholl
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.