@bananapus/nana-sdk-core 1.2.0 → 1.4.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.
- package/dist/cjs/utils/hook.d.ts +15 -0
- package/dist/cjs/utils/hook.d.ts.map +1 -1
- package/dist/cjs/utils/hook.js +20 -0
- package/dist/cjs/utils/hook.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ipfs.d.ts +33 -1
- package/dist/cjs/utils/ipfs.d.ts.map +1 -1
- package/dist/cjs/utils/ipfs.js +212 -8
- package/dist/cjs/utils/ipfs.js.map +1 -1
- package/dist/cjs/utils/ipfs.test.js +34 -0
- package/dist/cjs/utils/ipfs.test.js.map +1 -1
- package/dist/cjs/v6/cashOut.d.ts +23 -0
- package/dist/cjs/v6/cashOut.d.ts.map +1 -1
- package/dist/cjs/v6/cashOut.js +35 -0
- package/dist/cjs/v6/cashOut.js.map +1 -1
- package/dist/cjs/v6/cashOut.test.js +20 -0
- package/dist/cjs/v6/cashOut.test.js.map +1 -1
- package/dist/cjs/v6/index.d.ts +3 -0
- package/dist/cjs/v6/index.d.ts.map +1 -1
- package/dist/cjs/v6/index.js +3 -0
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/launch.d.ts +23 -2
- package/dist/cjs/v6/launch.d.ts.map +1 -1
- package/dist/cjs/v6/launch.js +40 -1
- package/dist/cjs/v6/launch.js.map +1 -1
- package/dist/cjs/v6/launch.test.js +25 -0
- package/dist/cjs/v6/launch.test.js.map +1 -1
- package/dist/cjs/v6/nft.d.ts +165 -0
- package/dist/cjs/v6/nft.d.ts.map +1 -0
- package/dist/cjs/v6/nft.js +356 -0
- package/dist/cjs/v6/nft.js.map +1 -0
- package/dist/cjs/v6/nft.test.d.ts +2 -0
- package/dist/cjs/v6/nft.test.d.ts.map +1 -0
- package/dist/cjs/v6/nft.test.js +279 -0
- package/dist/cjs/v6/nft.test.js.map +1 -0
- package/dist/cjs/v6/pay.d.ts +13 -5
- package/dist/cjs/v6/pay.d.ts.map +1 -1
- package/dist/cjs/v6/pay.js +15 -18
- package/dist/cjs/v6/pay.js.map +1 -1
- package/dist/cjs/v6/pay.test.js +7 -0
- package/dist/cjs/v6/pay.test.js.map +1 -1
- package/dist/cjs/v6/permissions.d.ts +21 -0
- package/dist/cjs/v6/permissions.d.ts.map +1 -1
- package/dist/cjs/v6/permissions.js +44 -1
- package/dist/cjs/v6/permissions.js.map +1 -1
- package/dist/cjs/v6/permissions.test.js +25 -0
- package/dist/cjs/v6/permissions.test.js.map +1 -1
- package/dist/cjs/v6/projectPayers.d.ts +178 -0
- package/dist/cjs/v6/projectPayers.d.ts.map +1 -0
- package/dist/cjs/v6/projectPayers.js +108 -0
- package/dist/cjs/v6/projectPayers.js.map +1 -0
- package/dist/cjs/v6/projectPayers.test.d.ts +2 -0
- package/dist/cjs/v6/projectPayers.test.d.ts.map +1 -0
- package/dist/cjs/v6/projectPayers.test.js +85 -0
- package/dist/cjs/v6/projectPayers.test.js.map +1 -0
- package/dist/cjs/v6/revnets.d.ts +3 -2
- package/dist/cjs/v6/revnets.d.ts.map +1 -1
- package/dist/cjs/v6/revnets.js +3 -2
- package/dist/cjs/v6/revnets.js.map +1 -1
- package/dist/cjs/v6/rulesets.d.ts +42 -0
- package/dist/cjs/v6/rulesets.d.ts.map +1 -1
- package/dist/cjs/v6/rulesets.js +87 -0
- package/dist/cjs/v6/rulesets.js.map +1 -1
- package/dist/cjs/v6/rulesets.test.js +54 -0
- package/dist/cjs/v6/rulesets.test.js.map +1 -1
- package/dist/cjs/v6/suckers.d.ts +740 -2
- package/dist/cjs/v6/suckers.d.ts.map +1 -1
- package/dist/cjs/v6/suckers.js +647 -8
- package/dist/cjs/v6/suckers.js.map +1 -1
- package/dist/cjs/v6/suckers.test.js +228 -0
- package/dist/cjs/v6/suckers.test.js.map +1 -1
- package/dist/cjs/v6/uniswapV4.d.ts +82 -0
- package/dist/cjs/v6/uniswapV4.d.ts.map +1 -0
- package/dist/cjs/v6/uniswapV4.js +336 -0
- package/dist/cjs/v6/uniswapV4.js.map +1 -0
- package/dist/cjs/v6/uniswapV4.test.d.ts +2 -0
- package/dist/cjs/v6/uniswapV4.test.d.ts.map +1 -0
- package/dist/cjs/v6/uniswapV4.test.js +128 -0
- package/dist/cjs/v6/uniswapV4.test.js.map +1 -0
- package/dist/esm/utils/hook.d.ts +15 -0
- package/dist/esm/utils/hook.d.ts.map +1 -1
- package/dist/esm/utils/hook.js +20 -1
- package/dist/esm/utils/hook.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/ipfs.d.ts +33 -1
- package/dist/esm/utils/ipfs.d.ts.map +1 -1
- package/dist/esm/utils/ipfs.js +204 -8
- package/dist/esm/utils/ipfs.js.map +1 -1
- package/dist/esm/utils/ipfs.test.js +35 -1
- package/dist/esm/utils/ipfs.test.js.map +1 -1
- package/dist/esm/v6/cashOut.d.ts +23 -0
- package/dist/esm/v6/cashOut.d.ts.map +1 -1
- package/dist/esm/v6/cashOut.js +34 -0
- package/dist/esm/v6/cashOut.js.map +1 -1
- package/dist/esm/v6/cashOut.test.js +22 -2
- package/dist/esm/v6/cashOut.test.js.map +1 -1
- package/dist/esm/v6/index.d.ts +3 -0
- package/dist/esm/v6/index.d.ts.map +1 -1
- package/dist/esm/v6/index.js +3 -0
- package/dist/esm/v6/index.js.map +1 -1
- package/dist/esm/v6/launch.d.ts +23 -2
- package/dist/esm/v6/launch.d.ts.map +1 -1
- package/dist/esm/v6/launch.js +39 -2
- package/dist/esm/v6/launch.js.map +1 -1
- package/dist/esm/v6/launch.test.js +27 -2
- package/dist/esm/v6/launch.test.js.map +1 -1
- package/dist/esm/v6/nft.d.ts +165 -0
- package/dist/esm/v6/nft.d.ts.map +1 -0
- package/dist/esm/v6/nft.js +342 -0
- package/dist/esm/v6/nft.js.map +1 -0
- package/dist/esm/v6/nft.test.d.ts +2 -0
- package/dist/esm/v6/nft.test.d.ts.map +1 -0
- package/dist/esm/v6/nft.test.js +277 -0
- package/dist/esm/v6/nft.test.js.map +1 -0
- package/dist/esm/v6/pay.d.ts +13 -5
- package/dist/esm/v6/pay.d.ts.map +1 -1
- package/dist/esm/v6/pay.js +17 -20
- package/dist/esm/v6/pay.js.map +1 -1
- package/dist/esm/v6/pay.test.js +7 -0
- package/dist/esm/v6/pay.test.js.map +1 -1
- package/dist/esm/v6/permissions.d.ts +21 -0
- package/dist/esm/v6/permissions.d.ts.map +1 -1
- package/dist/esm/v6/permissions.js +40 -0
- package/dist/esm/v6/permissions.js.map +1 -1
- package/dist/esm/v6/permissions.test.js +26 -1
- package/dist/esm/v6/permissions.test.js.map +1 -1
- package/dist/esm/v6/projectPayers.d.ts +178 -0
- package/dist/esm/v6/projectPayers.d.ts.map +1 -0
- package/dist/esm/v6/projectPayers.js +101 -0
- package/dist/esm/v6/projectPayers.js.map +1 -0
- package/dist/esm/v6/projectPayers.test.d.ts +2 -0
- package/dist/esm/v6/projectPayers.test.d.ts.map +1 -0
- package/dist/esm/v6/projectPayers.test.js +83 -0
- package/dist/esm/v6/projectPayers.test.js.map +1 -0
- package/dist/esm/v6/revnets.d.ts +3 -2
- package/dist/esm/v6/revnets.d.ts.map +1 -1
- package/dist/esm/v6/revnets.js +3 -2
- package/dist/esm/v6/revnets.js.map +1 -1
- package/dist/esm/v6/rulesets.d.ts +42 -0
- package/dist/esm/v6/rulesets.d.ts.map +1 -1
- package/dist/esm/v6/rulesets.js +83 -0
- package/dist/esm/v6/rulesets.js.map +1 -1
- package/dist/esm/v6/rulesets.test.js +55 -1
- package/dist/esm/v6/rulesets.test.js.map +1 -1
- package/dist/esm/v6/suckers.d.ts +740 -2
- package/dist/esm/v6/suckers.d.ts.map +1 -1
- package/dist/esm/v6/suckers.js +630 -8
- package/dist/esm/v6/suckers.js.map +1 -1
- package/dist/esm/v6/suckers.test.js +230 -2
- package/dist/esm/v6/suckers.test.js.map +1 -1
- package/dist/esm/v6/uniswapV4.d.ts +82 -0
- package/dist/esm/v6/uniswapV4.d.ts.map +1 -0
- package/dist/esm/v6/uniswapV4.js +318 -0
- package/dist/esm/v6/uniswapV4.js.map +1 -0
- package/dist/esm/v6/uniswapV4.test.d.ts +2 -0
- package/dist/esm/v6/uniswapV4.test.d.ts.map +1 -0
- package/dist/esm/v6/uniswapV4.test.js +126 -0
- package/dist/esm/v6/uniswapV4.test.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/cjs/v6/index.d.ts
CHANGED
|
@@ -8,8 +8,11 @@ export * from "./splits.js";
|
|
|
8
8
|
export * from "./revnets.js";
|
|
9
9
|
export * from "./terminals.js";
|
|
10
10
|
export * from "./pay.js";
|
|
11
|
+
export * from "./projectPayers.js";
|
|
11
12
|
export * from "./cashOut.js";
|
|
13
|
+
export * from "./nft.js";
|
|
12
14
|
export * from "./tokens.js";
|
|
15
|
+
export * from "./uniswapV4.js";
|
|
13
16
|
export * from "./permissions.js";
|
|
14
17
|
export * from "./suckers.js";
|
|
15
18
|
export * from "./loans.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/cjs/v6/index.js
CHANGED
|
@@ -24,8 +24,11 @@ __exportStar(require("./splits.js"), exports);
|
|
|
24
24
|
__exportStar(require("./revnets.js"), exports);
|
|
25
25
|
__exportStar(require("./terminals.js"), exports);
|
|
26
26
|
__exportStar(require("./pay.js"), exports);
|
|
27
|
+
__exportStar(require("./projectPayers.js"), exports);
|
|
27
28
|
__exportStar(require("./cashOut.js"), exports);
|
|
29
|
+
__exportStar(require("./nft.js"), exports);
|
|
28
30
|
__exportStar(require("./tokens.js"), exports);
|
|
31
|
+
__exportStar(require("./uniswapV4.js"), exports);
|
|
29
32
|
__exportStar(require("./permissions.js"), exports);
|
|
30
33
|
__exportStar(require("./suckers.js"), exports);
|
|
31
34
|
__exportStar(require("./loans.js"), exports);
|
package/dist/cjs/v6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,gDAA8B;AAC9B,4CAA0B;AAC1B,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAC9B,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,2CAAyB;AACzB,+CAA6B;AAC7B,8CAA4B;AAC5B,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,gDAA8B;AAC9B,4CAA0B;AAC1B,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAC9B,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,2CAAyB;AACzB,qDAAmC;AACnC,+CAA6B;AAC7B,2CAAyB;AACzB,8CAA4B;AAC5B,iDAA+B;AAC/B,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B"}
|
package/dist/cjs/v6/launch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Address, ContractFunctionArgs, PublicClient } from "viem";
|
|
1
|
+
import { Address, ContractFunctionArgs, Hex, PublicClient } from "viem";
|
|
2
2
|
import { jbControllerAbi } from "../generated/juicebox.js";
|
|
3
3
|
import { JBChainId } from "../types.js";
|
|
4
4
|
import { JBRulesetConfig, JBRulesetMetadata } from "./rulesets.js";
|
|
@@ -75,7 +75,8 @@ export declare function buildRulesetMetadata(overrides?: Partial<JBRulesetMetada
|
|
|
75
75
|
* shared timestamp so every chain's ruleset is byte-identical.
|
|
76
76
|
* @param args.duration Seconds the ruleset is locked for. 0 = no duration.
|
|
77
77
|
* @param args.weight Tokens issued per unit of `baseCurrency` paid, as an
|
|
78
|
-
* 18-decimal fixed point (uint112).
|
|
78
|
+
* 18-decimal fixed point (uint112). Later configurations can use the exported
|
|
79
|
+
* `RULESET_WEIGHT_INHERIT` sentinel (1n); zero means genuine zero issuance.
|
|
79
80
|
* @param args.weightCutPercent Issuance cut applied each cycle, out of 1e9.
|
|
80
81
|
* @param args.approvalHook A deadline contract queued rulesets must clear.
|
|
81
82
|
* @param args.metadata Ruleset metadata; see {@link buildRulesetMetadata}.
|
|
@@ -2750,5 +2751,25 @@ export declare function buildLaunchProjectTx(args: {
|
|
|
2750
2751
|
}[], string];
|
|
2751
2752
|
value: bigint;
|
|
2752
2753
|
};
|
|
2754
|
+
/** Minimal log shape needed to decode a project launch. */
|
|
2755
|
+
export interface V6LaunchProjectLog {
|
|
2756
|
+
address: Address;
|
|
2757
|
+
data: Hex;
|
|
2758
|
+
topics: readonly Hex[];
|
|
2759
|
+
}
|
|
2760
|
+
/**
|
|
2761
|
+
* Decode a v6 `LaunchProject` log emitted by the canonical controller.
|
|
2762
|
+
*
|
|
2763
|
+
* Checking the emitter matters: unrelated contracts can emit an event with the
|
|
2764
|
+
* same signature, and ERC-721 `Transfer` logs in a complex receipt are not a
|
|
2765
|
+
* reliable way to identify which mint was the Juicebox project NFT.
|
|
2766
|
+
*/
|
|
2767
|
+
export declare function decodeLaunchProjectId(log: V6LaunchProjectLog, { chainId }: {
|
|
2768
|
+
chainId: JBChainId;
|
|
2769
|
+
}): bigint | null;
|
|
2770
|
+
/** Return the first canonical v6 project id found in a transaction's logs. */
|
|
2771
|
+
export declare function projectIdFromLaunchLogs(logs: readonly V6LaunchProjectLog[], args: {
|
|
2772
|
+
chainId: JBChainId;
|
|
2773
|
+
}): bigint | null;
|
|
2753
2774
|
export {};
|
|
2754
2775
|
//# sourceMappingURL=launch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../../src/v6/launch.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../../src/v6/launch.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA;AAED,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,kBAAkB,EACvB,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,GAClC,MAAM,GAAG,IAAI,CAmBf;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,kBAAkB,EAAE,EACnC,IAAI,EAAE;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,GAC3B,MAAM,GAAG,IAAI,CAMf"}
|
package/dist/cjs/v6/launch.js
CHANGED
|
@@ -6,6 +6,8 @@ exports.buildTerminalConfigurations = buildTerminalConfigurations;
|
|
|
6
6
|
exports.buildRulesetMetadata = buildRulesetMetadata;
|
|
7
7
|
exports.buildRulesetConfiguration = buildRulesetConfiguration;
|
|
8
8
|
exports.buildLaunchProjectTx = buildLaunchProjectTx;
|
|
9
|
+
exports.decodeLaunchProjectId = decodeLaunchProjectId;
|
|
10
|
+
exports.projectIdFromLaunchLogs = projectIdFromLaunchLogs;
|
|
9
11
|
const viem_1 = require("viem");
|
|
10
12
|
const constants_js_1 = require("../constants.js");
|
|
11
13
|
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
@@ -128,7 +130,8 @@ function buildRulesetMetadata(overrides) {
|
|
|
128
130
|
* shared timestamp so every chain's ruleset is byte-identical.
|
|
129
131
|
* @param args.duration Seconds the ruleset is locked for. 0 = no duration.
|
|
130
132
|
* @param args.weight Tokens issued per unit of `baseCurrency` paid, as an
|
|
131
|
-
* 18-decimal fixed point (uint112).
|
|
133
|
+
* 18-decimal fixed point (uint112). Later configurations can use the exported
|
|
134
|
+
* `RULESET_WEIGHT_INHERIT` sentinel (1n); zero means genuine zero issuance.
|
|
132
135
|
* @param args.weightCutPercent Issuance cut applied each cycle, out of 1e9.
|
|
133
136
|
* @param args.approvalHook A deadline contract queued rulesets must clear.
|
|
134
137
|
* @param args.metadata Ruleset metadata; see {@link buildRulesetMetadata}.
|
|
@@ -181,4 +184,40 @@ function buildLaunchProjectTx(args) {
|
|
|
181
184
|
value: args.creationFee,
|
|
182
185
|
};
|
|
183
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Decode a v6 `LaunchProject` log emitted by the canonical controller.
|
|
189
|
+
*
|
|
190
|
+
* Checking the emitter matters: unrelated contracts can emit an event with the
|
|
191
|
+
* same signature, and ERC-721 `Transfer` logs in a complex receipt are not a
|
|
192
|
+
* reliable way to identify which mint was the Juicebox project NFT.
|
|
193
|
+
*/
|
|
194
|
+
function decodeLaunchProjectId(log, { chainId }) {
|
|
195
|
+
if (!(0, viem_1.isAddressEqual)(log.address, (0, types_js_1.v6Address)("JBController", chainId))) {
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
const decoded = (0, viem_1.decodeEventLog)({
|
|
200
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
201
|
+
eventName: "LaunchProject",
|
|
202
|
+
data: log.data,
|
|
203
|
+
topics: log.topics,
|
|
204
|
+
strict: true,
|
|
205
|
+
});
|
|
206
|
+
return decoded.eventName === "LaunchProject"
|
|
207
|
+
? decoded.args.projectId
|
|
208
|
+
: null;
|
|
209
|
+
}
|
|
210
|
+
catch {
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/** Return the first canonical v6 project id found in a transaction's logs. */
|
|
215
|
+
function projectIdFromLaunchLogs(logs, args) {
|
|
216
|
+
for (const log of logs) {
|
|
217
|
+
const projectId = decodeLaunchProjectId(log, args);
|
|
218
|
+
if (projectId !== null)
|
|
219
|
+
return projectId;
|
|
220
|
+
}
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
184
223
|
//# sourceMappingURL=launch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../src/v6/launch.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../src/v6/launch.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,4 +134,29 @@ function stubClient(returnValue, calls = []) {
|
|
|
134
134
|
});
|
|
135
135
|
});
|
|
136
136
|
});
|
|
137
|
+
(0, vitest_1.describe)("launch receipt decoding", () => {
|
|
138
|
+
const launchLog = (address = (0, types_js_1.v6Address)("JBController", chains_1.sepolia.id)) => ({
|
|
139
|
+
address,
|
|
140
|
+
topics: (0, viem_1.encodeEventTopics)({
|
|
141
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
142
|
+
eventName: "LaunchProject",
|
|
143
|
+
}),
|
|
144
|
+
data: (0, viem_1.encodeAbiParameters)([
|
|
145
|
+
{ type: "uint256" },
|
|
146
|
+
{ type: "uint256" },
|
|
147
|
+
{ type: "string" },
|
|
148
|
+
{ type: "string" },
|
|
149
|
+
{ type: "address" },
|
|
150
|
+
], [12n, 42n, "ipfs://project", "launched", OWNER]),
|
|
151
|
+
});
|
|
152
|
+
(0, vitest_1.test)("decodes only the canonical controller's LaunchProject event", () => {
|
|
153
|
+
const log = launchLog();
|
|
154
|
+
(0, vitest_1.expect)((0, launch_js_1.decodeLaunchProjectId)(log, { chainId: chains_1.sepolia.id })).toBe(42n);
|
|
155
|
+
(0, vitest_1.expect)((0, launch_js_1.projectIdFromLaunchLogs)([log], { chainId: chains_1.sepolia.id })).toBe(42n);
|
|
156
|
+
(0, vitest_1.expect)((0, launch_js_1.decodeLaunchProjectId)(launchLog("0x1111111111111111111111111111111111111111"), { chainId: chains_1.sepolia.id })).toBeNull();
|
|
157
|
+
});
|
|
158
|
+
(0, vitest_1.test)("returns null for malformed launch logs", () => {
|
|
159
|
+
(0, vitest_1.expect)((0, launch_js_1.decodeLaunchProjectId)({ ...launchLog(), data: "0x" }, { chainId: chains_1.sepolia.id })).toBeNull();
|
|
160
|
+
});
|
|
161
|
+
});
|
|
137
162
|
//# sourceMappingURL=launch.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.test.js","sourceRoot":"","sources":["../../../src/v6/launch.test.ts"],"names":[],"mappings":";;AAAA,+
|
|
1
|
+
{"version":3,"file":"launch.test.js","sourceRoot":"","sources":["../../../src/v6/launch.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { Address, Hex, PublicClient } from "viem";
|
|
2
|
+
import { JBChainId } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* App-level sentinel convention used by Juicebox 721 shops for effectively
|
|
5
|
+
* unlimited inventory.
|
|
6
|
+
*/
|
|
7
|
+
export declare const TIER_UNLIMITED_SUPPLY = 999999999;
|
|
8
|
+
/**
|
|
9
|
+
* JB721TiersHookStore's `DISCOUNT_DENOMINATOR`: a tier's `discountPercent` is
|
|
10
|
+
* out of 200, so the shopper-facing "% off" is `discountPercent / 2`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DISCOUNT_DENOMINATOR = 200n;
|
|
13
|
+
/** Canonical display fields understood across Juicebox 721 metadata writers. */
|
|
14
|
+
export interface TierMetadata {
|
|
15
|
+
name?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
image?: string;
|
|
18
|
+
animationUrl?: string;
|
|
19
|
+
mediaType?: string;
|
|
20
|
+
categoryName?: string;
|
|
21
|
+
}
|
|
22
|
+
/** Input accepted by {@link buildTierMetadata}. */
|
|
23
|
+
export interface TierMetadataInput {
|
|
24
|
+
name: string;
|
|
25
|
+
description?: string;
|
|
26
|
+
image?: string;
|
|
27
|
+
animationUrl?: string;
|
|
28
|
+
mediaType?: string;
|
|
29
|
+
categoryName?: string;
|
|
30
|
+
}
|
|
31
|
+
/** JSON shape written for a tier's pinned metadata. */
|
|
32
|
+
export interface StoredTierMetadata {
|
|
33
|
+
name: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
image?: string;
|
|
36
|
+
animation_url?: string;
|
|
37
|
+
mediaType?: string;
|
|
38
|
+
categoryName?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Parse a `data:application/json` tier URI. Invalid, non-object, and non-data
|
|
42
|
+
* values return `null` so callers can fall back to an IPFS metadata fetch.
|
|
43
|
+
*/
|
|
44
|
+
export declare function parseTierMetadataJson(uri: string): Record<string, unknown> | null;
|
|
45
|
+
/**
|
|
46
|
+
* Normalize legacy and current tier metadata field names into one display
|
|
47
|
+
* shape. Only non-empty strings are returned.
|
|
48
|
+
*/
|
|
49
|
+
export declare function pickTierMetadata(json: Record<string, unknown>): TierMetadata;
|
|
50
|
+
/** Whether a tier media value uses an immutable or browser-loadable URI form. */
|
|
51
|
+
export declare function isSafeTierMediaUri(value: string): boolean;
|
|
52
|
+
/** Build the canonical JSON object pinned for one tier. */
|
|
53
|
+
export declare function buildTierMetadata(input: TierMetadataInput): StoredTierMetadata;
|
|
54
|
+
/**
|
|
55
|
+
* Route IPFS media through a caller-selected gateway base URL. Data URIs and
|
|
56
|
+
* ordinary HTTP URLs pass through unchanged.
|
|
57
|
+
*/
|
|
58
|
+
export declare function tierMediaAssetUrl(value: unknown, ipfsGatewayBaseUrl?: string): string | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Return a browser-renderable tier image URL. SVG data URIs that only wrap an
|
|
61
|
+
* external `<image href>` are unwrapped because browsers block that nested
|
|
62
|
+
* network request when the SVG itself is used as an `<img>` source.
|
|
63
|
+
*/
|
|
64
|
+
export declare function tierMediaImageUrl(image: unknown, ipfsGatewayBaseUrl?: string): string | undefined;
|
|
65
|
+
/** Pick and resolve all tier metadata fields in one pass. */
|
|
66
|
+
export declare function tierDisplayMetadata(json: Record<string, unknown>, ipfsGatewayBaseUrl?: string): TierMetadata;
|
|
67
|
+
/** Stable first-seen category ids, with blank categories assigned to 0. */
|
|
68
|
+
export declare function buildTierCategoryPlan(tiers: ReadonlyArray<{
|
|
69
|
+
id: string;
|
|
70
|
+
categoryName?: string;
|
|
71
|
+
}>): {
|
|
72
|
+
categoryByTierId: Record<string, number>;
|
|
73
|
+
storeCategories: Record<string, string>;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* A tier's effective (discounted) price, matching the on-chain formula in
|
|
77
|
+
* JB721TiersHookStore: `price - mulDiv(price, discountPercent, 200)` with
|
|
78
|
+
* integer-floor division.
|
|
79
|
+
*
|
|
80
|
+
* @param price The tier's full (undiscounted) price.
|
|
81
|
+
* @param discountPercent The tier's discount, out of 200 (`DISCOUNT_DENOMINATOR`).
|
|
82
|
+
*/
|
|
83
|
+
export declare function effectiveTierPrice(price: bigint, discountPercent: number | bigint): bigint;
|
|
84
|
+
/**
|
|
85
|
+
* A single 721 tier a project sells.
|
|
86
|
+
*/
|
|
87
|
+
export interface Project721Tier {
|
|
88
|
+
id: number;
|
|
89
|
+
/** Full (undiscounted) price in the shop's pricing terms. */
|
|
90
|
+
price: bigint;
|
|
91
|
+
remainingSupply: number;
|
|
92
|
+
initialSupply: number;
|
|
93
|
+
votingUnits: bigint;
|
|
94
|
+
reserveFrequency: number;
|
|
95
|
+
category: number;
|
|
96
|
+
/** Out of 200 — see {@link DISCOUNT_DENOMINATOR}. */
|
|
97
|
+
discountPercent: number;
|
|
98
|
+
encodedIpfsUri: Hex;
|
|
99
|
+
/** tokenUriResolver output (data URI), or "" if the hook has no resolver. */
|
|
100
|
+
resolvedUri: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* A project's resolved 721 tiers hook ("shop"): the hook, its store, the
|
|
104
|
+
* metadata id target for pay/cash-out metadata, the pricing context, and tiers.
|
|
105
|
+
*/
|
|
106
|
+
export interface Project721Shop {
|
|
107
|
+
/** The project's 721 tiers hook (the ruleset data hook / revnet hook). */
|
|
108
|
+
hook: Address;
|
|
109
|
+
/** The hook's tiers store. */
|
|
110
|
+
store: Address;
|
|
111
|
+
/**
|
|
112
|
+
* The hook's `METADATA_ID_TARGET` (shared implementation address). Pass this
|
|
113
|
+
* to {@link build721PayMetadata} / {@link build721CashOutMetadata}, never the
|
|
114
|
+
* `hook` address.
|
|
115
|
+
*/
|
|
116
|
+
metadataIdTarget: Address;
|
|
117
|
+
/** The hook's pricing context: `currency` id and `decimals`. */
|
|
118
|
+
pricing: {
|
|
119
|
+
currency: number;
|
|
120
|
+
decimals: number;
|
|
121
|
+
};
|
|
122
|
+
tiers: Project721Tier[];
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Read a JB721 hook's `METADATA_ID_TARGET` — the shared *implementation* address
|
|
126
|
+
* that pay/cash-out metadata ids must key off (a delegatecall clone reports the
|
|
127
|
+
* implementation, not itself). Falls back to `hook` if the read reverts (e.g. an
|
|
128
|
+
* older hook without the getter), which is only correct for a non-clone hook.
|
|
129
|
+
*
|
|
130
|
+
* @param client A viem public client on the given chain.
|
|
131
|
+
* @param args.hook The project's 721 tiers hook (clone) address.
|
|
132
|
+
*/
|
|
133
|
+
export declare function get721MetadataIdTarget(client: PublicClient, { hook }: {
|
|
134
|
+
chainId: JBChainId;
|
|
135
|
+
hook: Address;
|
|
136
|
+
}): Promise<Address>;
|
|
137
|
+
/**
|
|
138
|
+
* Resolve a project's 721 tiers hook, its store, metadata id target, pricing
|
|
139
|
+
* context, and tiers in one call.
|
|
140
|
+
*
|
|
141
|
+
* Hook resolution mirrors the app patterns: revnets read
|
|
142
|
+
* `REVOwner.tiered721HookOf`; custom projects read the current ruleset's pay
|
|
143
|
+
* data hook — either the omnichain deployer (the real hook lives in
|
|
144
|
+
* `JBOmnichainDeployer.tiered721HookOf(projectId, rulesetId)`) or the 721 hook
|
|
145
|
+
* itself, verified by probing `STORE()` (a revert means it is not a 721 hook, so
|
|
146
|
+
* the project has no shop).
|
|
147
|
+
*
|
|
148
|
+
* Returns `null` when the project authoritatively has no 721 shop. RPC failures
|
|
149
|
+
* on authoritative reads throw, so a transient error surfaces as an error rather
|
|
150
|
+
* than a false "no shop".
|
|
151
|
+
*
|
|
152
|
+
* @param client A viem public client on the given chain.
|
|
153
|
+
* @param args.projectId The project (or revnet) id.
|
|
154
|
+
* @param args.isRevnet Whether the project is a revnet (changes hook resolution).
|
|
155
|
+
* @param args.tierLimit Max tiers to read from `tiersOf`. Defaults to 100.
|
|
156
|
+
* @param args.categories Tier categories to filter by (empty = all). Defaults to `[]`.
|
|
157
|
+
*/
|
|
158
|
+
export declare function getProject721Shop(client: PublicClient, { chainId, projectId, isRevnet, tierLimit, categories, }: {
|
|
159
|
+
chainId: JBChainId;
|
|
160
|
+
projectId: bigint;
|
|
161
|
+
isRevnet: boolean;
|
|
162
|
+
tierLimit?: number;
|
|
163
|
+
categories?: bigint[];
|
|
164
|
+
}): Promise<Project721Shop | null>;
|
|
165
|
+
//# sourceMappingURL=nft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nft.d.ts","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"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"}
|