@1sat/types 0.0.1

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.
@@ -0,0 +1,452 @@
1
+ /**
2
+ * @1sat/types - Type definitions for 1Sat Ordinals SDK
3
+ *
4
+ * These types are designed for transaction building and are compatible with js-1sat-ord.
5
+ * For wallet indexing/parsing, see @1sat/wallet which uses different internal types
6
+ * optimized for runtime processing.
7
+ */
8
+ import type { PrivateKey, Script, Transaction } from '@bsv/sdk';
9
+ /**
10
+ * Local signer using a private key directly
11
+ */
12
+ export interface LocalSigner {
13
+ idKey: PrivateKey;
14
+ }
15
+ /**
16
+ * Remote signer delegating to a signing service
17
+ */
18
+ export interface RemoteSigner {
19
+ keyHost: string;
20
+ authToken?: AuthToken;
21
+ /** How to deliver the auth token over HTTP (for sigma-protocol) */
22
+ transport?: AuthTransport;
23
+ }
24
+ /**
25
+ * Signer - either local (private key) or remote (signing service)
26
+ */
27
+ export type Signer = LocalSigner | RemoteSigner;
28
+ /**
29
+ * Authentication token - the signed proof
30
+ * Compatible with bitcoin-auth and extensible for future standards (CAIP-122)
31
+ *
32
+ * Serializes to: `${pubkey}|${scheme}|${timestamp}|${requestPath}|${signature}`
33
+ */
34
+ export interface AuthToken {
35
+ /** Signer's public key (hex) */
36
+ pubkey: string;
37
+ /** Signature algorithm: 'bsm', 'brc77', or extensible string */
38
+ scheme: 'bsm' | 'brc77' | string;
39
+ /** ISO8601 timestamp */
40
+ timestamp: string;
41
+ /** Resource being accessed */
42
+ requestPath: string;
43
+ /** The cryptographic signature */
44
+ signature: string;
45
+ }
46
+ /**
47
+ * HTTP transport configuration for auth tokens (used by sigma-protocol)
48
+ */
49
+ export interface AuthTransport {
50
+ type: 'header' | 'query';
51
+ key: string;
52
+ }
53
+ /**
54
+ * Base UTXO for transaction building
55
+ *
56
+ * @property satoshis - Amount in satoshis
57
+ * @property txid - Transaction ID (64 char hex)
58
+ * @property vout - Output index
59
+ * @property script - Base64 encoded locking script
60
+ * @property pk - Optional private key for unlocking
61
+ */
62
+ export type Utxo = {
63
+ satoshis: number;
64
+ txid: string;
65
+ vout: number;
66
+ script: string;
67
+ pk?: PrivateKey;
68
+ };
69
+ /**
70
+ * NFT UTXO - 1-satoshi output containing an ordinal inscription
71
+ */
72
+ export interface NftUtxo extends Utxo {
73
+ collectionId?: string;
74
+ contentType: string;
75
+ creatorBapId?: string;
76
+ origin: string;
77
+ satoshis: 1;
78
+ pk?: PrivateKey;
79
+ }
80
+ /**
81
+ * Token UTXO - 1-satoshi output containing BSV20/BSV21 tokens
82
+ *
83
+ * @property amt - Token amount as string in 'tsat' format (e.g., "100000000" = 1 token with 8 decimals)
84
+ * @property id - Token identifier (tick for BSV20, origin for BSV21)
85
+ */
86
+ export interface TokenUtxo extends Utxo {
87
+ amt: string;
88
+ id: string;
89
+ satoshis: 1;
90
+ payout?: string;
91
+ price?: number;
92
+ isListing?: boolean;
93
+ pk?: PrivateKey;
94
+ }
95
+ export declare enum TokenType {
96
+ BSV20 = "bsv20",
97
+ BSV21 = "bsv21"
98
+ }
99
+ export declare enum TokenSelectionStrategy {
100
+ SmallestFirst = "smallest",
101
+ LargestFirst = "largest",
102
+ RetainOrder = "retain",
103
+ Random = "random"
104
+ }
105
+ export declare enum TokenInputMode {
106
+ All = "all",
107
+ Needed = "needed"
108
+ }
109
+ export interface TokenSelectionOptions {
110
+ inputStrategy?: TokenSelectionStrategy;
111
+ outputStrategy?: TokenSelectionStrategy;
112
+ }
113
+ export interface TokenSelectionResult {
114
+ selectedUtxos: TokenUtxo[];
115
+ totalSelected: number;
116
+ isEnough: boolean;
117
+ }
118
+ /**
119
+ * Token distribution recipient
120
+ *
121
+ * @property address - Destination address or Script
122
+ * @property tokens - Amount in display format (e.g., 0.5 for half a token)
123
+ * @property omitMetaData - Omit MAP metadata from this output
124
+ */
125
+ export type Distribution = {
126
+ address: string | Script;
127
+ tokens: number;
128
+ omitMetaData?: boolean;
129
+ };
130
+ /**
131
+ * Configuration for splitting token change outputs
132
+ */
133
+ export type TokenSplitConfig = {
134
+ outputs: number;
135
+ threshold?: number;
136
+ omitMetaData?: boolean;
137
+ };
138
+ export type Inscription = {
139
+ dataB64: string;
140
+ contentType: string;
141
+ };
142
+ export type ImageContentType = 'image/png' | 'image/jpeg' | 'image/gif' | 'image/svg+xml' | 'image/webp';
143
+ export type IconInscription = {
144
+ dataB64: string;
145
+ contentType: ImageContentType;
146
+ };
147
+ export type Destination = {
148
+ address: string;
149
+ inscription?: Inscription;
150
+ };
151
+ export type TokenInscription = {
152
+ p: 'bsv-20';
153
+ amt: string;
154
+ op: 'transfer' | 'mint' | 'deploy+mint' | 'burn';
155
+ dec?: string;
156
+ };
157
+ export interface MintTokenInscription extends TokenInscription {
158
+ op: 'mint';
159
+ }
160
+ export interface DeployMintTokenInscription extends TokenInscription {
161
+ op: 'deploy+mint';
162
+ sym: string;
163
+ icon: string;
164
+ }
165
+ export interface TransferTokenInscription extends TokenInscription {
166
+ p: 'bsv-20';
167
+ amt: string;
168
+ op: 'transfer' | 'burn';
169
+ }
170
+ export interface TransferBSV20Inscription extends TransferTokenInscription {
171
+ tick: string;
172
+ }
173
+ export interface TransferBSV21Inscription extends TransferTokenInscription {
174
+ id: string;
175
+ }
176
+ export type Payment = {
177
+ to: string;
178
+ amount: number;
179
+ };
180
+ export type NewListing = {
181
+ payAddress: string;
182
+ price: number;
183
+ ordAddress: string;
184
+ listingUtxo: Utxo;
185
+ };
186
+ export type ExistingListing = {
187
+ payout: string;
188
+ listingUtxo: Utxo;
189
+ };
190
+ export type NewTokenListing = {
191
+ payAddress: string;
192
+ price: number;
193
+ tokens: number;
194
+ ordAddress: string;
195
+ };
196
+ export declare enum RoytaltyType {
197
+ Paymail = "paymail",
198
+ Address = "address",
199
+ Script = "script"
200
+ }
201
+ export type Royalty = {
202
+ type: RoytaltyType;
203
+ destination: string;
204
+ percentage: string;
205
+ };
206
+ export type BaseResult = {
207
+ tx: Transaction;
208
+ spentOutpoints: string[];
209
+ };
210
+ export interface ChangeResult extends BaseResult {
211
+ payChange?: Utxo;
212
+ }
213
+ export interface TokenChangeResult extends ChangeResult {
214
+ tokenChange?: TokenUtxo[];
215
+ }
216
+ /**
217
+ * MAP metadata with all values stringified (ready for blockchain)
218
+ */
219
+ export type MAP = {
220
+ app: string;
221
+ type: string;
222
+ [prop: string]: string;
223
+ };
224
+ /**
225
+ * PreMAP - metadata before stringification (allows objects/arrays)
226
+ */
227
+ export type PreMAP = {
228
+ app: string;
229
+ type: string;
230
+ [prop: string]: unknown;
231
+ royalties?: Royalty[];
232
+ subTypeData?: CollectionSubTypeData | CollectionItemSubTypeData;
233
+ };
234
+ export interface BurnMAP extends MAP {
235
+ type: 'ord';
236
+ op: 'burn';
237
+ }
238
+ export type Rarity = {
239
+ [key: string]: string;
240
+ };
241
+ export type RarityLabels = Rarity[];
242
+ export type CollectionTrait = {
243
+ values: string[];
244
+ occurancePercentages: string[];
245
+ };
246
+ export type CollectionTraits = {
247
+ [trait: string]: CollectionTrait;
248
+ };
249
+ export interface CollectionSubTypeData {
250
+ description: string;
251
+ quantity: number;
252
+ rarityLabels: RarityLabels;
253
+ traits: CollectionTraits;
254
+ }
255
+ export type CollectionItemTrait = {
256
+ name: string;
257
+ value: string;
258
+ rarityLabel?: string;
259
+ occurancePercentrage?: string;
260
+ };
261
+ export type CollectionItemAttachment = {
262
+ name: string;
263
+ description?: string;
264
+ 'content-type': string;
265
+ url: string;
266
+ };
267
+ export interface CollectionItemSubTypeData {
268
+ collectionId: string;
269
+ mintNumber?: number;
270
+ rank?: number;
271
+ rarityLabel?: RarityLabels;
272
+ traits?: CollectionItemTrait[];
273
+ attachments?: CollectionItemAttachment[];
274
+ }
275
+ export interface CreateOrdinalsMetadata extends PreMAP {
276
+ type: 'ord';
277
+ name: string;
278
+ previewUrl?: string;
279
+ }
280
+ export interface CreateOrdinalsCollectionMetadata extends CreateOrdinalsMetadata {
281
+ subType: 'collection';
282
+ subTypeData: CollectionSubTypeData;
283
+ royalties?: Royalty[];
284
+ }
285
+ export interface CreateOrdinalsCollectionItemMetadata extends PreMAP {
286
+ type: 'ord';
287
+ name: string;
288
+ subType: 'collectionItem';
289
+ subTypeData: CollectionItemSubTypeData;
290
+ previewUrl?: string;
291
+ }
292
+ export type CreateOrdinalsConfig = {
293
+ utxos: Utxo[];
294
+ destinations: Destination[];
295
+ paymentPk?: PrivateKey;
296
+ changeAddress?: string;
297
+ satsPerKb?: number;
298
+ metaData?: PreMAP;
299
+ signer?: LocalSigner | RemoteSigner;
300
+ additionalPayments?: Payment[];
301
+ /** When false, inputs are added without unlocking scripts and tx.sign() is skipped. Default: true */
302
+ signInputs?: boolean;
303
+ };
304
+ export interface CreateOrdinalsCollectionConfig extends CreateOrdinalsConfig {
305
+ metaData: CreateOrdinalsCollectionMetadata;
306
+ }
307
+ export interface CreateOrdinalsCollectionItemConfig extends CreateOrdinalsConfig {
308
+ metaData: CreateOrdinalsCollectionItemMetadata;
309
+ }
310
+ export type BurnOrdinalsConfig = {
311
+ ordPk?: PrivateKey;
312
+ ordinals: Utxo[];
313
+ metaData?: BurnMAP;
314
+ };
315
+ export type SendOrdinalsConfig = {
316
+ paymentUtxos: Utxo[];
317
+ ordinals: Utxo[];
318
+ paymentPk?: PrivateKey;
319
+ ordPk?: PrivateKey;
320
+ destinations: Destination[];
321
+ changeAddress?: string;
322
+ satsPerKb?: number;
323
+ metaData?: PreMAP;
324
+ signer?: LocalSigner | RemoteSigner;
325
+ additionalPayments?: Payment[];
326
+ enforceUniformSend?: boolean;
327
+ /** When false, inputs are added without unlocking scripts and tx.sign() is skipped. Default: true */
328
+ signInputs?: boolean;
329
+ };
330
+ export type DeployBsv21TokenConfig = {
331
+ symbol: string;
332
+ decimals?: number;
333
+ icon: string | IconInscription;
334
+ utxos: Utxo[];
335
+ initialDistribution: Distribution;
336
+ paymentPk?: PrivateKey;
337
+ destinationAddress: string;
338
+ changeAddress?: string;
339
+ satsPerKb?: number;
340
+ additionalPayments?: Payment[];
341
+ signer?: LocalSigner | RemoteSigner;
342
+ /** When false, inputs are added without unlocking scripts and tx.sign() is skipped. Default: true */
343
+ signInputs?: boolean;
344
+ };
345
+ export type SendUtxosConfig = {
346
+ utxos: Utxo[];
347
+ paymentPk?: PrivateKey;
348
+ payments: Payment[];
349
+ satsPerKb?: number;
350
+ changeAddress?: string;
351
+ metaData?: MAP;
352
+ signer?: LocalSigner | RemoteSigner;
353
+ /** When false, inputs are added without unlocking scripts and tx.sign() is skipped. Default: true */
354
+ signInputs?: boolean;
355
+ };
356
+ export type TransferOrdTokensConfig = {
357
+ protocol: TokenType;
358
+ tokenID: string;
359
+ decimals: number;
360
+ utxos: Utxo[];
361
+ inputTokens: TokenUtxo[];
362
+ distributions: Distribution[];
363
+ paymentPk?: PrivateKey;
364
+ ordPk?: PrivateKey;
365
+ inputMode?: TokenInputMode;
366
+ changeAddress?: string;
367
+ tokenChangeAddress?: string;
368
+ satsPerKb?: number;
369
+ metaData?: PreMAP;
370
+ signer?: LocalSigner | RemoteSigner;
371
+ additionalPayments?: Payment[];
372
+ burn?: boolean;
373
+ splitConfig?: TokenSplitConfig;
374
+ tokenInputMode?: TokenInputMode;
375
+ /** When false, inputs are added without unlocking scripts and tx.sign() is skipped. Default: true */
376
+ signInputs?: boolean;
377
+ };
378
+ export type CreateOrdListingsConfig = {
379
+ utxos: Utxo[];
380
+ listings: NewListing[];
381
+ paymentPk?: PrivateKey;
382
+ ordPk: PrivateKey;
383
+ changeAddress?: string;
384
+ satsPerKb?: number;
385
+ additionalPayments?: Payment[];
386
+ signer?: LocalSigner | RemoteSigner;
387
+ /** When false, inputs are added without unlocking scripts and tx.sign() is skipped. Default: true */
388
+ signInputs?: boolean;
389
+ };
390
+ export type PurchaseOrdListingConfig = {
391
+ utxos: Utxo[];
392
+ paymentPk?: PrivateKey;
393
+ listing: ExistingListing;
394
+ ordAddress: string;
395
+ changeAddress?: string;
396
+ satsPerKb?: number;
397
+ additionalPayments?: Payment[];
398
+ royalties?: Royalty[];
399
+ metaData?: MAP;
400
+ };
401
+ export type PurchaseOrdTokenListingConfig = {
402
+ protocol: TokenType;
403
+ tokenID: string;
404
+ utxos: Utxo[];
405
+ paymentPk?: PrivateKey;
406
+ listingUtxo: TokenUtxo;
407
+ ordAddress: string;
408
+ changeAddress?: string;
409
+ satsPerKb?: number;
410
+ additionalPayments?: Payment[];
411
+ metaData?: MAP;
412
+ };
413
+ export type CancelOrdListingsConfig = {
414
+ utxos: Utxo[];
415
+ paymentPk?: PrivateKey;
416
+ ordPk?: PrivateKey;
417
+ listingUtxos: Utxo[];
418
+ additionalPayments?: Payment[];
419
+ changeAddress?: string;
420
+ satsPerKb?: number;
421
+ };
422
+ export interface CancelOrdTokenListingsConfig extends CancelOrdListingsConfig {
423
+ utxos: Utxo[];
424
+ paymentPk?: PrivateKey;
425
+ ordPk?: PrivateKey;
426
+ listingUtxos: TokenUtxo[];
427
+ additionalPayments: Payment[];
428
+ changeAddress?: string;
429
+ satsPerKb?: number;
430
+ protocol: TokenType;
431
+ tokenID: string;
432
+ ordAddress?: string;
433
+ }
434
+ export interface CreateOrdTokenListingsConfig {
435
+ utxos: Utxo[];
436
+ listings: NewTokenListing[];
437
+ paymentPk?: PrivateKey;
438
+ ordPk?: PrivateKey;
439
+ changeAddress?: string;
440
+ satsPerKb?: number;
441
+ additionalPayments?: Payment[];
442
+ protocol: TokenType;
443
+ tokenID: string;
444
+ decimals: number;
445
+ inputTokens: TokenUtxo[];
446
+ tokenChangeAddress: string;
447
+ signer?: LocalSigner | RemoteSigner;
448
+ /** When false, inputs are added without unlocking scripts and tx.sign() is skipped. Default: true */
449
+ signInputs?: boolean;
450
+ }
451
+ export declare const MAX_TOKEN_SUPPLY = 18446744073709551615n;
452
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @1sat/types - Type definitions for 1Sat Ordinals SDK
3
+ *
4
+ * These types are designed for transaction building and are compatible with js-1sat-ord.
5
+ * For wallet indexing/parsing, see @1sat/wallet which uses different internal types
6
+ * optimized for runtime processing.
7
+ */
8
+ // ============================================================================
9
+ // Token Types
10
+ // ============================================================================
11
+ export var TokenType;
12
+ (function (TokenType) {
13
+ TokenType["BSV20"] = "bsv20";
14
+ TokenType["BSV21"] = "bsv21";
15
+ })(TokenType || (TokenType = {}));
16
+ export var TokenSelectionStrategy;
17
+ (function (TokenSelectionStrategy) {
18
+ TokenSelectionStrategy["SmallestFirst"] = "smallest";
19
+ TokenSelectionStrategy["LargestFirst"] = "largest";
20
+ TokenSelectionStrategy["RetainOrder"] = "retain";
21
+ TokenSelectionStrategy["Random"] = "random";
22
+ })(TokenSelectionStrategy || (TokenSelectionStrategy = {}));
23
+ export var TokenInputMode;
24
+ (function (TokenInputMode) {
25
+ TokenInputMode["All"] = "all";
26
+ TokenInputMode["Needed"] = "needed";
27
+ })(TokenInputMode || (TokenInputMode = {}));
28
+ // Note: Preserving typo "RoytaltyType" for js-1sat-ord compatibility
29
+ export var RoytaltyType;
30
+ (function (RoytaltyType) {
31
+ RoytaltyType["Paymail"] = "paymail";
32
+ RoytaltyType["Address"] = "address";
33
+ RoytaltyType["Script"] = "script";
34
+ })(RoytaltyType || (RoytaltyType = {}));
35
+ // ============================================================================
36
+ // Constants
37
+ // ============================================================================
38
+ export const MAX_TOKEN_SUPPLY = 18446744073709551615n; // 2^64 - 1
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0GH,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACpB,4BAAe,CAAA;IACf,4BAAe,CAAA;AAChB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IACjC,oDAA0B,CAAA;IAC1B,kDAAwB,CAAA;IACxB,gDAAsB,CAAA;IACtB,2CAAiB,CAAA;AAClB,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACzB,6BAAW,CAAA;IACX,mCAAiB,CAAA;AAClB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AA4HD,qEAAqE;AACrE,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACvB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;AAClB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAkTD,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAA,CAAC,WAAW"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@1sat/types",
3
+ "version": "0.0.1",
4
+ "description": "Type definitions for 1Sat Ordinals SDK",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": ["dist"],
15
+ "scripts": {
16
+ "build": "tsc",
17
+ "dev": "tsc --watch",
18
+ "clean": "rm -rf dist"
19
+ },
20
+ "keywords": ["1sat", "bsv", "ordinals", "types", "typescript"],
21
+ "license": "MIT",
22
+ "peerDependencies": {
23
+ "@bsv/sdk": "^1.9.0"
24
+ },
25
+ "devDependencies": {
26
+ "@bsv/sdk": "^1.9.24",
27
+ "typescript": "^5.9.3"
28
+ }
29
+ }