@artblocks/abx-sdk 0.1.0-alpha.0

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 (86) hide show
  1. package/LICENSE +21 -0
  2. package/dist/abi/generated.d.ts +6185 -0
  3. package/dist/abi/generated.d.ts.map +1 -0
  4. package/dist/abi/generated.js +28 -0
  5. package/dist/abi/generated.js.map +1 -0
  6. package/dist/abi/index.d.ts +3227 -0
  7. package/dist/abi/index.d.ts.map +1 -0
  8. package/dist/abi/index.js +38 -0
  9. package/dist/abi/index.js.map +1 -0
  10. package/dist/chains.d.ts +27 -0
  11. package/dist/chains.d.ts.map +1 -0
  12. package/dist/chains.js +71 -0
  13. package/dist/chains.js.map +1 -0
  14. package/dist/chunks.d.ts +168 -0
  15. package/dist/chunks.d.ts.map +1 -0
  16. package/dist/chunks.js +232 -0
  17. package/dist/chunks.js.map +1 -0
  18. package/dist/clients.d.ts +42 -0
  19. package/dist/clients.d.ts.map +1 -0
  20. package/dist/clients.js +90 -0
  21. package/dist/clients.js.map +1 -0
  22. package/dist/create2.d.ts +42 -0
  23. package/dist/create2.d.ts.map +1 -0
  24. package/dist/create2.js +47 -0
  25. package/dist/create2.js.map +1 -0
  26. package/dist/deploy.d.ts +192 -0
  27. package/dist/deploy.d.ts.map +1 -0
  28. package/dist/deploy.js +231 -0
  29. package/dist/deploy.js.map +1 -0
  30. package/dist/deployments.d.ts +60 -0
  31. package/dist/deployments.d.ts.map +1 -0
  32. package/dist/deployments.js +81 -0
  33. package/dist/deployments.js.map +1 -0
  34. package/dist/deps.d.ts +109 -0
  35. package/dist/deps.d.ts.map +1 -0
  36. package/dist/deps.js +103 -0
  37. package/dist/deps.js.map +1 -0
  38. package/dist/env.d.ts +2 -0
  39. package/dist/env.d.ts.map +1 -0
  40. package/dist/env.js +45 -0
  41. package/dist/env.js.map +1 -0
  42. package/dist/fastlz.d.ts +20 -0
  43. package/dist/fastlz.d.ts.map +1 -0
  44. package/dist/fastlz.js +123 -0
  45. package/dist/fastlz.js.map +1 -0
  46. package/dist/generator.d.ts +129 -0
  47. package/dist/generator.d.ts.map +1 -0
  48. package/dist/generator.js +81 -0
  49. package/dist/generator.js.map +1 -0
  50. package/dist/index.d.ts +31 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +20 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/ops.d.ts +379 -0
  55. package/dist/ops.d.ts.map +1 -0
  56. package/dist/ops.js +811 -0
  57. package/dist/ops.js.map +1 -0
  58. package/dist/probe.d.ts +30 -0
  59. package/dist/probe.d.ts.map +1 -0
  60. package/dist/probe.js +74 -0
  61. package/dist/probe.js.map +1 -0
  62. package/dist/reconstruct.d.ts +97 -0
  63. package/dist/reconstruct.d.ts.map +1 -0
  64. package/dist/reconstruct.js +597 -0
  65. package/dist/reconstruct.js.map +1 -0
  66. package/dist/spine.d.ts +110 -0
  67. package/dist/spine.d.ts.map +1 -0
  68. package/dist/spine.js +0 -0
  69. package/dist/spine.js.map +1 -0
  70. package/dist/token.d.ts +33 -0
  71. package/dist/token.d.ts.map +1 -0
  72. package/dist/token.js +66 -0
  73. package/dist/token.js.map +1 -0
  74. package/dist/tokendata.d.ts +50 -0
  75. package/dist/tokendata.d.ts.map +1 -0
  76. package/dist/tokendata.js +178 -0
  77. package/dist/tokendata.js.map +1 -0
  78. package/dist/traits.d.ts +38 -0
  79. package/dist/traits.d.ts.map +1 -0
  80. package/dist/traits.js +92 -0
  81. package/dist/traits.js.map +1 -0
  82. package/dist/types.d.ts +145 -0
  83. package/dist/types.d.ts.map +1 -0
  84. package/dist/types.js +2 -0
  85. package/dist/types.js.map +1 -0
  86. package/package.json +53 -0
@@ -0,0 +1,145 @@
1
+ import type { Address, Hex } from 'viem';
2
+ /** One extension a contract has enabled, as learned from `AbxExtensionVersionSet`. */
3
+ export interface ExtensionInfo {
4
+ id: Hex;
5
+ name: string;
6
+ version: number;
7
+ }
8
+ /**
9
+ * One on-chain metadata value, decoded from the spine: a `field` (the *what*, e.g.
10
+ * "image") carried in a `representation` (the *how*, e.g. "inline" / "keccak256" /
11
+ * "arweave"). See the protocol registry (specs/protocol/onchain-metadata.md).
12
+ */
13
+ export interface MetadataField {
14
+ field: string;
15
+ representation: string;
16
+ value: Hex;
17
+ }
18
+ /** One param (Params extension): `key → bytes32` with the hash flag + write provenance. */
19
+ export interface ParamValue {
20
+ key: string;
21
+ value: Hex;
22
+ valueIsHash: boolean;
23
+ updatedBy: Address;
24
+ }
25
+ /** One key's governance (Configurable Params): what it means, who may set it, until when. */
26
+ export interface ParamSchema {
27
+ key: string;
28
+ paramType: string;
29
+ auth: string;
30
+ authAddress: Address | null;
31
+ lockAfter: string;
32
+ min: Hex;
33
+ max: Hex;
34
+ selectOptions: string[];
35
+ }
36
+ /** The three param lifecycle hooks (any may be null = none). */
37
+ export interface ParamHooks {
38
+ configureHook: Address | null;
39
+ augmentHook: Address | null;
40
+ transferHook: Address | null;
41
+ }
42
+ /** One declared code dependency (Dependencies extension); index 0 = the runtime. */
43
+ export interface DependencyInfo {
44
+ resolution: 'registry' | 'onchain';
45
+ ref: Hex;
46
+ refDecoded: string;
47
+ }
48
+ /** On-chain script custody state. Chunk content is a head read (too large to log). */
49
+ export interface ScriptState {
50
+ chunkCount: number | null;
51
+ locked: boolean;
52
+ /** keccak256 over the concatenated chunk contents (head read) — the content digest
53
+ * effect `inputsHash` values commit to. Null when unread or no chunks. */
54
+ digest?: Hex | null;
55
+ }
56
+ /** The declared dependency set (fully log-foldable — events carry full values). */
57
+ export interface DependenciesState {
58
+ list: DependencyInfo[];
59
+ registry: Address | null;
60
+ locked: boolean;
61
+ }
62
+ /** A decoded spine log, kept verbatim as reconstruction provenance. */
63
+ export interface SpineEvent {
64
+ name: string;
65
+ register: 1 | 2;
66
+ what: string;
67
+ blockNumber: string;
68
+ logIndex: number;
69
+ txHash: Hex;
70
+ args: Record<string, string>;
71
+ }
72
+ export interface TokenState {
73
+ tokenId: string;
74
+ minted: boolean;
75
+ owner: Address | null;
76
+ tokenURI: string | null;
77
+ fields: MetadataField[];
78
+ lockedFields: string[];
79
+ /** Token-scope params (Params extension) — `seed`, PostParam values, … Absent/empty ⇒ none. */
80
+ params?: ParamValue[];
81
+ }
82
+ /**
83
+ * The full reconstructed state of an ABX project — rebuilt from the event log
84
+ * (structure) plus targeted head reads (string values the events only ping).
85
+ * This is the object the reconstructability property produces: derivable from
86
+ * the chain alone, with no provider's cooperation.
87
+ */
88
+ export interface ProjectState {
89
+ address: Address;
90
+ chainId: number;
91
+ abxVersion: number | null;
92
+ deployBlock: string | null;
93
+ deployTx: Hex | null;
94
+ factory: Address | null;
95
+ implementation: Address | null;
96
+ isCanonical: boolean | null;
97
+ name: string | null;
98
+ symbol: string | null;
99
+ owner: Address | null;
100
+ contractURI: string | null;
101
+ royalty: {
102
+ receiver: Address;
103
+ bps: number;
104
+ } | null;
105
+ tokenURIRenderer: Address | null;
106
+ tokenURILocked: boolean | null;
107
+ contractURIRenderer: Address | null;
108
+ contractURILocked: boolean | null;
109
+ collectionFields: MetadataField[];
110
+ lockedCollectionFields: string[];
111
+ /** Which concrete token type this is, inferred from the enabled extensions. */
112
+ contractType?: '1of1' | 'series' | 'code';
113
+ /** Supply cap "X of Y" (Max Invocations extension); null/absent ⇒ uncapped 1/1. */
114
+ maxInvocations?: string | null;
115
+ /** The single authorized minter (External Minter extension); null ⇒ owner-only. */
116
+ minter?: Address | null;
117
+ /** Whether minting is paused (Paused extension) — true ⇒ owner-only. Absent/false ⇒ open. */
118
+ paused?: boolean;
119
+ /** Primary-sale payout destination (Primary Payee extension); null ⇒ none. */
120
+ primaryPayee?: Address | null;
121
+ /** Contract-scope params (Params extension). */
122
+ contractParams?: ParamValue[];
123
+ /** Per-key PostParam schemas (Configurable Params) — emitted in full, log-foldable. */
124
+ paramSchemas?: ParamSchema[];
125
+ /** The param lifecycle hooks; null ⇒ extension absent, all-null ⇒ none wired. */
126
+ paramHooks?: ParamHooks | null;
127
+ /** TokenOwner-auth delegation resolver: address, or null = disabled. Absence of the
128
+ * event resolves to the canonical delegate.xyz default when the extension is present. */
129
+ delegateRegistry?: Address | null;
130
+ /** Mint-time seed source (Seed Source extension); null ⇒ no mint-time seed. */
131
+ seedSource?: Address | null;
132
+ /** On-chain script custody (On-Chain Script extension); null ⇒ extension absent. */
133
+ script?: ScriptState | null;
134
+ /** Declared code dependencies (Dependencies extension); null ⇒ extension absent. */
135
+ dependencies?: DependenciesState | null;
136
+ extensions: ExtensionInfo[];
137
+ tokens: TokenState[];
138
+ events: SpineEvent[];
139
+ fromBlock: string;
140
+ toBlock: string;
141
+ eventCount: number;
142
+ reconstructedAt: string;
143
+ rpcUrl?: string;
144
+ }
145
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@artblocks/abx-sdk",
3
+ "version": "0.1.0-alpha.0",
4
+ "license": "MIT",
5
+ "description": "ABX SDK (Layer 2) — the neutral, low-level library that turns protocol operations into typed function calls. No provider, no chain, no UX baked in.",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./abi": {
14
+ "types": "./dist/abi/index.d.ts",
15
+ "import": "./dist/abi/index.js"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "LICENSE"
21
+ ],
22
+ "sideEffects": false,
23
+ "engines": {
24
+ "node": ">=22.5.0"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/ArtBlocks/abx.git",
29
+ "directory": "packages/sdk"
30
+ },
31
+ "homepage": "https://github.com/ArtBlocks/abx#readme",
32
+ "bugs": "https://github.com/ArtBlocks/abx/issues",
33
+ "keywords": [
34
+ "abx",
35
+ "nft",
36
+ "erc721",
37
+ "ethereum",
38
+ "viem",
39
+ "art-blocks",
40
+ "sdk"
41
+ ],
42
+ "publishConfig": {
43
+ "access": "public"
44
+ },
45
+ "dependencies": {
46
+ "viem": "^2.21.0"
47
+ },
48
+ "scripts": {
49
+ "build": "tsc -b tsconfig.build.json",
50
+ "sync-abis": "tsx scripts/sync-abis.ts"
51
+ },
52
+ "types": "./dist/index.d.ts"
53
+ }