@artblocks/abx-sdk 0.1.0-alpha.20 → 0.1.0-alpha.22
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.
- package/CHANGELOG.md +2222 -0
- package/dist/anchors.d.ts +54 -1
- package/dist/anchors.d.ts.map +1 -1
- package/dist/anchors.js +106 -56
- package/dist/anchors.js.map +1 -1
- package/dist/deployments.d.ts +51 -0
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +51 -4
- package/dist/deployments.js.map +1 -1
- package/dist/execute.d.ts +8 -5
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +23 -6
- package/dist/execute.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +3 -1
- package/dist/migrate.js.map +1 -1
- package/dist/onchain-uri.d.ts.map +1 -1
- package/dist/onchain-uri.js +5 -1
- package/dist/onchain-uri.js.map +1 -1
- package/dist/policy.d.ts +58 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/policy.js +36 -0
- package/dist/policy.js.map +1 -0
- package/dist/reconstruct.d.ts +2 -0
- package/dist/reconstruct.d.ts.map +1 -1
- package/dist/reconstruct.js +58 -8
- package/dist/reconstruct.js.map +1 -1
- package/dist/service.d.ts +18 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js.map +1 -1
- package/dist/spine.d.ts +16 -0
- package/dist/spine.d.ts.map +1 -1
- package/dist/spine.js +0 -0
- package/dist/spine.js.map +1 -1
- package/dist/tokens.d.ts +33 -7
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +24 -3
- package/dist/tokens.js.map +1 -1
- package/dist/types.d.ts +55 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
package/dist/execute.js
CHANGED
|
@@ -78,11 +78,14 @@ export async function pinGas(client, tx, opts = {}) {
|
|
|
78
78
|
* write-lag handling right ONCE.
|
|
79
79
|
*
|
|
80
80
|
* Two lags, pinned once at construction / tracked locally per send, rather than re-read at send time:
|
|
81
|
-
* - the NONCE —
|
|
82
|
-
* distributed RPC (e.g. Alchemy) can briefly serve a
|
|
83
|
-
* (read-after-write lag), so re-fetching it for the NEXT send
|
|
84
|
-
* the just-spent nonce — the tx it already has in the mempool
|
|
85
|
-
* "replacement transaction underpriced", and that send is silently
|
|
81
|
+
* - the NONCE — read once here as `max(pending, latest)`, then incremented locally per tx. Right
|
|
82
|
+
* after a tx is mined a distributed RPC (e.g. Alchemy, `sepolia.base.org`) can briefly serve a
|
|
83
|
+
* stale `pending` transaction count (read-after-write lag), so re-fetching it for the NEXT send
|
|
84
|
+
* in the same sequence risks reusing the just-spent nonce — the tx it already has in the mempool
|
|
85
|
+
* rejects the duplicate as "replacement transaction underpriced", and that send is silently
|
|
86
|
+
* lost. The `max` covers the cross-INVOCATION case the local increment cannot see: a node whose
|
|
87
|
+
* pending view has fallen behind its own head answers the first send of the next `abx` command
|
|
88
|
+
* with a nonce it has already spent.
|
|
86
89
|
* - GAS, one field over: a tx after the first in a sequence may target a contract an EARLIER tx in
|
|
87
90
|
* this same sequence just created. If the node answering `eth_estimateGas` hasn't seen that
|
|
88
91
|
* block yet, the target looks codeless and the estimate comes back as the calldata cost alone —
|
|
@@ -104,7 +107,21 @@ export function makeHotSender(args) {
|
|
|
104
107
|
return async (tx) => {
|
|
105
108
|
if (nonce === undefined) {
|
|
106
109
|
// Fetch once, then increment locally per send — see the read-after-write-lag reasoning above.
|
|
107
|
-
|
|
110
|
+
//
|
|
111
|
+
// Read BOTH views and take the higher. `pending` is by definition >= `latest` on a coherent
|
|
112
|
+
// node, but a distributed endpoint that has not caught up with its own head serves a *lower*
|
|
113
|
+
// pending count than its own latest-block count — measured on `sepolia.base.org` right after
|
|
114
|
+
// a confirmed write, and never on the publicnode fallback. That is the cross-invocation half
|
|
115
|
+
// of the same lag this sender already handles within one sequence: each `abx` command is a
|
|
116
|
+
// fresh process, so the first send of the NEXT command re-reads a nonce the node has already
|
|
117
|
+
// spent, and the broadcast is rejected as a duplicate — silently, because a viem simulation
|
|
118
|
+
// failure means nothing is ever sent. `max` is correct-or-better in every case: with real
|
|
119
|
+
// pending txs `pending` wins, and against a stale view `latest` floors it.
|
|
120
|
+
const [pending, latest] = await Promise.all([
|
|
121
|
+
publicClient.getTransactionCount({ address: account.address, blockTag: 'pending' }),
|
|
122
|
+
publicClient.getTransactionCount({ address: account.address, blockTag: 'latest' }),
|
|
123
|
+
]);
|
|
124
|
+
nonce = Math.max(pending, latest);
|
|
108
125
|
}
|
|
109
126
|
// The SAME lag, one field over: every send after the first in this sender's sequence may target
|
|
110
127
|
// what an earlier send just created.
|
package/dist/execute.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAC,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAoB,EAAE,OAAgB,EAAE,SAAS,GAAG,MAAM;IAC5F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,OAAO,KAAK,CAAC;QACzC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,MAAoB,EACpB,EAA+E,EAC/E,OAA8C,EAAE;IAEhD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IACpC,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,SAAkB,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;gBACxC,OAAO,EAAE,EAAE,CAAC,IAAI;gBAChB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,SAAS;gBACtB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE,CAAC,CAAC;YACH,kEAAkE;YAClE,IAAI,QAAQ,IAAI,KAAK;gBAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YACvD,YAAY,GAAG,QAAQ,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,CAAC;YAChB,0FAA0F;YAC1F,4FAA4F;YAC5F,IAAI,KAAK,KAAK,EAAE;gBAAE,MAAM,GAAG,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC;YAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,0BAA0B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACpF,CAAC;AAeD
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ export * from './script-chunks.js';
|
|
|
39
39
|
export * from './migrate.js';
|
|
40
40
|
export * from './mime.js';
|
|
41
41
|
export * from './onchain-uri.js';
|
|
42
|
+
export * from './policy.js';
|
|
42
43
|
export * from './service.js';
|
|
43
44
|
export * from './staging.js';
|
|
44
45
|
export * from './util.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,YAAY,EAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAC,MAAM,MAAM,CAAC;AAE5E,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,aAAa,GACd,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,YAAY,EAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAC,MAAM,MAAM,CAAC;AAE5E,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,aAAa,GACd,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -28,6 +28,7 @@ export * from './script-chunks.js';
|
|
|
28
28
|
export * from './migrate.js';
|
|
29
29
|
export * from './mime.js';
|
|
30
30
|
export * from './onchain-uri.js';
|
|
31
|
+
export * from './policy.js';
|
|
31
32
|
export * from './service.js';
|
|
32
33
|
export * from './staging.js';
|
|
33
34
|
export * from './util.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,aAAa,GACd,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,aAAa,GACd,MAAM,gBAAgB,CAAC"}
|
package/dist/migrate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAsB,KAAK,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAEvE,OAAO,KAAK,EAAgB,YAAY,EAAC,MAAM,YAAY,CAAC;AA4B5D;iGACiG;AACjG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,4GAA4G;IAC5G,IAAI,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oGAAoG;AACpG,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,sGAAsG;IACtG,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,0FAA0F;IAC1F,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,IAAI,MAAM,KAAG,MAC5B,CAAC;AAC3D,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,MACzB,CAAC;AA+BrD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAsB,KAAK,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAEvE,OAAO,KAAK,EAAgB,YAAY,EAAC,MAAM,YAAY,CAAC;AA4B5D;iGACiG;AACjG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,4GAA4G;IAC5G,IAAI,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oGAAoG;AACpG,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,sGAAsG;IACtG,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,0FAA0F;IAC1F,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,IAAI,MAAM,KAAG,MAC5B,CAAC;AAC3D,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,MACzB,CAAC;AA+BrD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,aAAa,CAAC,CAwDxB;AAED,uGAAuG;AACvG,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CAavB"}
|
package/dist/migrate.js
CHANGED
|
@@ -75,7 +75,9 @@ export async function buildMigrationPlan(sourceBase, chainId, local) {
|
|
|
75
75
|
// Prefer the contract API; fall back to token #0. Take a value only when its provenance
|
|
76
76
|
// says it's off-chain (a plain operator value) — on-chain values are re-derived by replay.
|
|
77
77
|
const contractJson = await getJson(contractApiUrl(sourceBase, chainId, addr));
|
|
78
|
-
|
|
78
|
+
// A burned token is not a probe subject: its `tokenURI` reverts, so reading it would report the
|
|
79
|
+
// whole migration source as broken.
|
|
80
|
+
const firstToken = local.tokens.find((t) => t.lifecycle === 'live') ?? local.tokens[0];
|
|
79
81
|
const tokenZeroJson = firstToken
|
|
80
82
|
? await getJson(tokenApiUrl(sourceBase, chainId, addr, firstToken.tokenId))
|
|
81
83
|
: null;
|
package/dist/migrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onchain-uri.d.ts","sourceRoot":"","sources":["../src/onchain-uri.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"onchain-uri.d.ts","sourceRoot":"","sources":["../src/onchain-uri.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAkC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAC,MAAM,MAAM,CAAC;AAG7E,OAAO,EAAsB,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAGnG,OAAO,EAAiB,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAC,MAAM,WAAW,CAAC;AAClF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAG7C;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAA;CAAC,GAAG,GAAG,EAAE,CAqBjG;AAQD;;mDAEmD;AACnD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC,GAAG,IAAI,CAAC,CAqBvD;AAED;uFACuF;AACvF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAYlH;AAED;;;;;yFAKyF;AACzF,wBAAsB,cAAc,CAClC,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAC,GAAG,IAAI,CAAC,CAYvF;AAED;;0DAE0D;AAC1D,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1G;AAID;;;kFAGkF;AAClF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,mBAAmB,EAAE,EAC3B,MAAM,EAAE,QAAQ,EAAE,GACjB;IAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAoB5C;AAID;;sEAEsE;AACtE,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAUnF;AAED;mFACmF;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAM9D;AA6BD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB;oEACgE;IAChE,QAAQ,EAAE,UAAU,GAAG,KAAK,CAAC;IAC7B,kGAAkG;IAClG,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EACL;QAAC,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAC,GACzD;QAAC,IAAI,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,GAC1B;QAAC,IAAI,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GACpC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAC,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;IACxB,gEAAgE;IAChE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CAC7B;AAoBD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,YAAY,EACnB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,gBAAgB,CAAC,CA4C3B"}
|
package/dist/onchain-uri.js
CHANGED
|
@@ -237,7 +237,11 @@ export async function onChainUriReport(client, state, generatorOverride) {
|
|
|
237
237
|
throw new Error(`no AbxGenerator known for chain ${state.chainId} — set ABX_GENERATOR=0x… (or update @artblocks/abx-sdk's deployments manifest)`);
|
|
238
238
|
}
|
|
239
239
|
const status = await readGeneratorStatus(client, generator, state.address);
|
|
240
|
-
|
|
240
|
+
// LIVE tokens only, and the reason is sharper than tidiness: this probe reads the LOWEST id it
|
|
241
|
+
// finds, and `tokenURI` reverts `NonexistentToken` for a burned one. While a burned token still
|
|
242
|
+
// read as minted, one holder burning token 0 made the whole collection's on-chain-URI lane report
|
|
243
|
+
// as broken (abx-services, 2026-08-20).
|
|
244
|
+
const minted = state.tokens.filter((t) => t.lifecycle === 'live').map((t) => BigInt(t.tokenId));
|
|
241
245
|
let probe = null;
|
|
242
246
|
if (minted.length) {
|
|
243
247
|
const tokenId = minted.reduce((a, b) => (b < a ? b : a));
|
package/dist/onchain-uri.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onchain-uri.js","sourceRoot":"","sources":["../src/onchain-uri.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"onchain-uri.js","sourceRoot":"","sources":["../src/onchain-uri.ts"],"names":[],"mappings":"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"}
|
package/dist/policy.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **collection policy** plane: the two permanent-ish promises a collection makes about itself
|
|
3
|
+
* that a buyer prices in and neither standard carries — whether tokens can be destroyed
|
|
4
|
+
* (`burnable()`, opt-in at deploy and fixed thereafter) and how high the resale royalty can ever go
|
|
5
|
+
* (`maxRoyaltyBps()`, owner-set at deploy and reduce-only forever after).
|
|
6
|
+
*
|
|
7
|
+
* Both facts have two lanes, and they are meant to be read as a pair:
|
|
8
|
+
*
|
|
9
|
+
* - **folded** — `ProjectState.burnable` / `.maxRoyaltyBps`, replayed from the log
|
|
10
|
+
* (`BurnConfigured` / `MaxRoyaltyBpsUpdated`). Works with no RPC beyond the scan, and is the
|
|
11
|
+
* authoritative tri-state: `null` there means *the spine never stated it*.
|
|
12
|
+
* - **live** — {@link readCollectionPolicy}, two staticcalls, answering for any address whether or
|
|
13
|
+
* not anything has indexed it.
|
|
14
|
+
*
|
|
15
|
+
* They are allowed to disagree, and a consumer serving both should say so out loud rather than
|
|
16
|
+
* silently picking: a live ceiling BELOW the folded one is almost certainly a reduction that hasn't
|
|
17
|
+
* been indexed yet (the cap is reduce-only, so that direction is expected), while a `burnable` that
|
|
18
|
+
* differs at all is a contradiction — it is emitted once, at deploy, and cannot legitimately move.
|
|
19
|
+
*
|
|
20
|
+
* This module exists because the CLI was declaring its own ABI fragments for both getters and
|
|
21
|
+
* reading them itself, in two places, so no other integrator could reach the facts at all. The SDK
|
|
22
|
+
* owns protocol knowledge; the CLI is a shell over it.
|
|
23
|
+
*/
|
|
24
|
+
import type { Address, PublicClient } from 'viem';
|
|
25
|
+
/**
|
|
26
|
+
* A collection's live policy, read from chain. Both members are tri-state, and `null` is a real
|
|
27
|
+
* answer, not a failure: **the contract did not publish this**. An implementation predating the
|
|
28
|
+
* opt-in has no `burn` entrypoint at all and a hard-coded ceiling — which is a different fact from
|
|
29
|
+
* `burnable: false` (an entrypoint that refuses) or a published ceiling of 1000, and must never be
|
|
30
|
+
* reported as either. `null` also covers "the read did not come back"; a caller that needs to tell
|
|
31
|
+
* those apart has the folded value to compare against (see the module note).
|
|
32
|
+
*/
|
|
33
|
+
export interface CollectionPolicy {
|
|
34
|
+
/** Can holders destroy their tokens? Fixed at deploy. `null` ⇒ the contract has no such getter. */
|
|
35
|
+
burnable: boolean | null;
|
|
36
|
+
/** The reduce-only royalty ceiling in basis points. `null` ⇒ the contract publishes no ceiling. */
|
|
37
|
+
maxRoyaltyBps: number | null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Read {@link CollectionPolicy} live from chain — two cheap staticcalls, no event scan, no indexer.
|
|
41
|
+
* Both getters have the same signature on all six token types (the 721 family and its ERC-1155
|
|
42
|
+
* twins), so one ABI covers every lane.
|
|
43
|
+
*/
|
|
44
|
+
export declare function readCollectionPolicy(client: PublicClient, contract: Address): Promise<CollectionPolicy>;
|
|
45
|
+
/**
|
|
46
|
+
* The gap between what a collection charges today and the most it could ever charge without asking
|
|
47
|
+
* anyone — `ceiling − rate`, in basis points. `null` when either number is unknown.
|
|
48
|
+
*
|
|
49
|
+
* Worth surfacing to both sides of a sale, because it is invisible on a listing page: an owner can
|
|
50
|
+
* raise the royalty to the ceiling unilaterally, so headroom is the part of "5% royalty" that isn't
|
|
51
|
+
* a promise yet. The corollary is the useful one for a creator — reducing the cap **to** the current
|
|
52
|
+
* rate (`abx set-royalty-cap`) is what converts "5% today" into "5%, provably, forever." (Observed
|
|
53
|
+
* and named by abx-services, 2026-08-20, as their `royalty-headroom` flag.)
|
|
54
|
+
*/
|
|
55
|
+
export declare function royaltyHeadroomBps(policy: {
|
|
56
|
+
maxRoyaltyBps?: number | null;
|
|
57
|
+
}, currentBps?: number | null): number | null;
|
|
58
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,MAAM,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mGAAmG;IACnG,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,mGAAmG;IACnG,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAY7G;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAIrH"}
|
package/dist/policy.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { oneOfOneImageAbi } from './abi/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Read {@link CollectionPolicy} live from chain — two cheap staticcalls, no event scan, no indexer.
|
|
4
|
+
* Both getters have the same signature on all six token types (the 721 family and its ERC-1155
|
|
5
|
+
* twins), so one ABI covers every lane.
|
|
6
|
+
*/
|
|
7
|
+
export async function readCollectionPolicy(client, contract) {
|
|
8
|
+
const [burnable, maxRoyaltyBps] = await Promise.all([
|
|
9
|
+
client
|
|
10
|
+
.readContract({ address: contract, abi: oneOfOneImageAbi, functionName: 'burnable' })
|
|
11
|
+
.then((v) => v)
|
|
12
|
+
.catch(() => null),
|
|
13
|
+
client
|
|
14
|
+
.readContract({ address: contract, abi: oneOfOneImageAbi, functionName: 'maxRoyaltyBps' })
|
|
15
|
+
.then((v) => Number(v))
|
|
16
|
+
.catch(() => null),
|
|
17
|
+
]);
|
|
18
|
+
return { burnable, maxRoyaltyBps };
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The gap between what a collection charges today and the most it could ever charge without asking
|
|
22
|
+
* anyone — `ceiling − rate`, in basis points. `null` when either number is unknown.
|
|
23
|
+
*
|
|
24
|
+
* Worth surfacing to both sides of a sale, because it is invisible on a listing page: an owner can
|
|
25
|
+
* raise the royalty to the ceiling unilaterally, so headroom is the part of "5% royalty" that isn't
|
|
26
|
+
* a promise yet. The corollary is the useful one for a creator — reducing the cap **to** the current
|
|
27
|
+
* rate (`abx set-royalty-cap`) is what converts "5% today" into "5%, provably, forever." (Observed
|
|
28
|
+
* and named by abx-services, 2026-08-20, as their `royalty-headroom` flag.)
|
|
29
|
+
*/
|
|
30
|
+
export function royaltyHeadroomBps(policy, currentBps) {
|
|
31
|
+
const cap = policy.maxRoyaltyBps;
|
|
32
|
+
if (cap == null || currentBps == null)
|
|
33
|
+
return null;
|
|
34
|
+
return Math.max(0, cap - currentBps);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAiBhD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAoB,EAAE,QAAiB;IAChF,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,MAAM;aACH,YAAY,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAC,CAAC;aAClF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAY,CAAC;aACzB,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACpB,MAAM;aACH,YAAY,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAC,CAAC;aACvF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAoB,CAAC,CAAC;aACzC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KACrB,CAAC,CAAC;IACH,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAuC,EAAE,UAA0B;IACpG,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC;IACjC,IAAI,GAAG,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/reconstruct.d.ts
CHANGED
|
@@ -72,6 +72,8 @@ export interface Fold {
|
|
|
72
72
|
receiver: Address;
|
|
73
73
|
bps: number;
|
|
74
74
|
} | null;
|
|
75
|
+
maxRoyaltyBps: number | null;
|
|
76
|
+
burnable: boolean | null;
|
|
75
77
|
extById: Map<string, ExtensionInfo>;
|
|
76
78
|
tokens: Map<string, TokenState>;
|
|
77
79
|
tokenFields: Map<string, Map<string, MetadataField>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconstruct.d.ts","sourceRoot":"","sources":["../src/reconstruct.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"reconstruct.d.ts","sourceRoot":"","sources":["../src/reconstruct.ts"],"names":[],"mappings":"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"}
|
package/dist/reconstruct.js
CHANGED
|
@@ -101,7 +101,7 @@ function decodedToSpineEvents(decoded) {
|
|
|
101
101
|
function tokenIn(tokens, id) {
|
|
102
102
|
let t = tokens.get(id);
|
|
103
103
|
if (!t) {
|
|
104
|
-
t = { tokenId: id,
|
|
104
|
+
t = { tokenId: id, lifecycle: 'unminted', owner: null, tokenURI: null, fields: [], lockedFields: [] };
|
|
105
105
|
tokens.set(id, t);
|
|
106
106
|
}
|
|
107
107
|
return t;
|
|
@@ -111,9 +111,12 @@ function tokenIn(tokens, id) {
|
|
|
111
111
|
* an id's per-id supply counter + holder balances. Mint = `from` the zero address (supply +=
|
|
112
112
|
* amount); burn = `to` the zero address (supply -= amount); a transfer between two live holders
|
|
113
113
|
* touches no supply, only balances — mirrors `AbxErc1155Base._afterTokenTransfer`'s own
|
|
114
|
-
* if/else-if exactly.
|
|
115
|
-
*
|
|
116
|
-
*
|
|
114
|
+
* if/else-if exactly.
|
|
115
|
+
*
|
|
116
|
+
* {@link TokenState.lifecycle} is recomputed from the counter on every leg, never latched: an
|
|
117
|
+
* edition id can return to zero supply (a full burn) and mint again. `supply > 0` ⇒ `'live'`;
|
|
118
|
+
* back to zero having once been issued ⇒ `'burned'`; never issued ⇒ `'unminted'`. Same three words
|
|
119
|
+
* the 721 lane uses, which is the point — one vocabulary, whichever standard produced it.
|
|
117
120
|
*/
|
|
118
121
|
function applyEditionTransfer(tokens, id, from, to, amount) {
|
|
119
122
|
const t = tokenIn(tokens, id);
|
|
@@ -121,7 +124,18 @@ function applyEditionTransfer(tokens, id, from, to, amount) {
|
|
|
121
124
|
t.supply = (BigInt(t.supply ?? '0') + amount).toString();
|
|
122
125
|
else if (isZeroAddr(to))
|
|
123
126
|
t.supply = (BigInt(t.supply ?? '0') - amount).toString();
|
|
124
|
-
|
|
127
|
+
// Zero live copies — and on this standard that is NOT `'burned'`, which is reserved for the
|
|
128
|
+
// terminal 721 case. An edition id at zero can mint again, whether it was never minted or fully
|
|
129
|
+
// burned, so the two have no different consequence for anything downstream and share one word.
|
|
130
|
+
// The alternative shipped for about an hour: `'burned'` on both standards, which put every
|
|
131
|
+
// consumer one forgotten `contractType` branch away from answering `410 Gone` for an id the
|
|
132
|
+
// contract still resolves and can reissue. See {@link TokenState.lifecycle}.
|
|
133
|
+
//
|
|
134
|
+
// Note this deliberately does NOT use the fold's extra knowledge (it could distinguish
|
|
135
|
+
// never-minted from fully-burned; the head-read lane cannot). Spending it here would make the two
|
|
136
|
+
// lanes disagree on the same id under one field name — the sibling-drift class — to express a
|
|
137
|
+
// distinction with no consumer. The history stays in `supply`, `holders`, and the log.
|
|
138
|
+
t.lifecycle = BigInt(t.supply ?? '0') > 0n ? 'live' : 'no-live-copies';
|
|
125
139
|
adjustHolderBalance(t, from, -amount);
|
|
126
140
|
adjustHolderBalance(t, to, amount);
|
|
127
141
|
}
|
|
@@ -162,6 +176,8 @@ export function foldSpine(events) {
|
|
|
162
176
|
deployTx: null,
|
|
163
177
|
owner: null,
|
|
164
178
|
royalty: null,
|
|
179
|
+
maxRoyaltyBps: null,
|
|
180
|
+
burnable: null,
|
|
165
181
|
extById: new Map(),
|
|
166
182
|
tokens: new Map(),
|
|
167
183
|
tokenFields: new Map(),
|
|
@@ -207,14 +223,44 @@ export function foldSpine(events) {
|
|
|
207
223
|
fold.royalty = isZeroAddr(receiver) && bps === 0 ? null : { receiver, bps };
|
|
208
224
|
break;
|
|
209
225
|
}
|
|
226
|
+
// The two collection-policy events. Both are Register 2 facts a buyer prices in, and both
|
|
227
|
+
// fold — being in `SPINE_EVENT_DOC` only supplies the `register`/`what` strings on the event
|
|
228
|
+
// record; it has never made anything land in state. (That confusion shipped in the
|
|
229
|
+
// 2026-08-20 memo and is the second instance of the class — see `DefaultMaxSupplySet`. The
|
|
230
|
+
// guard is now `spine-fold-coverage.test.ts`, which fails if a `folds: 'state'` event has no
|
|
231
|
+
// case here.)
|
|
232
|
+
case 'MaxRoyaltyBpsUpdated':
|
|
233
|
+
// Last-writer-wins: the deploy-time ceiling, then any `reduceMaxRoyaltyBps`.
|
|
234
|
+
fold.maxRoyaltyBps = Number(a.maxBps ?? 0);
|
|
235
|
+
break;
|
|
236
|
+
case 'BurnConfigured':
|
|
237
|
+
// Emitted once at initialize and fixed thereafter; still last-writer-wins for the same
|
|
238
|
+
// reason every other fold is — a re-fold of an overlapping range must be idempotent.
|
|
239
|
+
fold.burnable = String(a.burnable) === 'true';
|
|
240
|
+
break;
|
|
210
241
|
case 'OwnershipTransferred':
|
|
211
242
|
fold.owner = a.newOwner;
|
|
212
243
|
break;
|
|
213
244
|
case 'Transfer': {
|
|
214
245
|
const t = tokenIn(fold.tokens, String(a.tokenId ?? a.id ?? '0'));
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
246
|
+
// `to == 0x0` is a BURN and nothing else: Solady's `transferFrom` reverts on a zero
|
|
247
|
+
// recipient, so the only path that emits it is `_burn` (the token's own `burn(id)`, gated
|
|
248
|
+
// on the collection having opted in). So the leg is unambiguous, and it is the whole
|
|
249
|
+
// reason this case cannot just write `a.to` into `owner` — that put the zero address in a
|
|
250
|
+
// field every consumer reads as a holder, and left `minted` latched `true` forever.
|
|
251
|
+
// `'burned'` is TERMINAL on this standard, and that is a fact about ABX's mint paths rather
|
|
252
|
+
// than about ERC-721: ids come from a monotonic `nextTokenId`, so no entrypoint can reissue
|
|
253
|
+
// a destroyed id. The branch below would still return such an id to `'live'` if a log ever
|
|
254
|
+
// showed a re-mint — the fold owes the log's meaning, not our mint policy's — but no ABX
|
|
255
|
+
// deployment can produce that log, which is what makes the word safe to act on irreversibly.
|
|
256
|
+
if (isZeroAddr(a.to)) {
|
|
257
|
+
t.lifecycle = 'burned';
|
|
258
|
+
t.owner = null;
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
t.lifecycle = 'live';
|
|
262
|
+
t.owner = a.to;
|
|
263
|
+
}
|
|
218
264
|
break;
|
|
219
265
|
}
|
|
220
266
|
case 'TransferSingle': {
|
|
@@ -451,6 +497,10 @@ async function assembleState(client, address, events, fold, fromBlock, toBlock,
|
|
|
451
497
|
contractURIRenderer: null,
|
|
452
498
|
contractURILocked: null,
|
|
453
499
|
royalty: fold.royalty,
|
|
500
|
+
// Both tri-state and both folded, never defaulted: `null` says the spine did not state it (an
|
|
501
|
+
// implementation from before the opt-in), which is not the same fact as `false` / a 10% ceiling.
|
|
502
|
+
maxRoyaltyBps: fold.maxRoyaltyBps,
|
|
503
|
+
burnable: fold.burnable,
|
|
454
504
|
collectionFields: [...fold.collectionFields.values()],
|
|
455
505
|
lockedCollectionFields: [...fold.collectionLocked],
|
|
456
506
|
contractType: fold.deployBlock === null
|