@bananapus/nana-sdk-core 1.11.1 → 2.1.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/actions/JBSuckerAbi.d.ts +12 -2
- package/dist/cjs/actions/JBSuckerAbi.d.ts.map +1 -1
- package/dist/cjs/actions/JBSuckerAbi.js +12 -2
- package/dist/cjs/actions/JBSuckerAbi.js.map +1 -1
- package/dist/cjs/actions/projectMetadata.d.ts.map +1 -1
- package/dist/cjs/actions/projectMetadata.js +15 -9
- package/dist/cjs/actions/projectMetadata.js.map +1 -1
- package/dist/cjs/actions/suckerPairs.d.ts +26 -0
- package/dist/cjs/actions/suckerPairs.d.ts.map +1 -1
- package/dist/cjs/actions/suckerPairs.js +73 -39
- package/dist/cjs/actions/suckerPairs.js.map +1 -1
- package/dist/cjs/constants.d.ts +17 -7
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +45 -31
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/contracts.d.ts +6 -1
- package/dist/cjs/contracts.d.ts.map +1 -1
- package/dist/cjs/contracts.js +7 -1
- package/dist/cjs/contracts.js.map +1 -1
- package/dist/cjs/generated/juicebox.d.ts +8779 -6436
- package/dist/cjs/generated/juicebox.d.ts.map +1 -1
- package/dist/cjs/generated/juicebox.js +3027 -1244
- package/dist/cjs/generated/juicebox.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jbcenter.d.ts +126 -0
- package/dist/cjs/jbcenter.d.ts.map +1 -0
- package/dist/cjs/jbcenter.js +307 -0
- package/dist/cjs/jbcenter.js.map +1 -0
- package/dist/cjs/types.d.ts +13 -10
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +10 -6
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/bendystraw.d.ts +19 -3
- package/dist/cjs/utils/bendystraw.d.ts.map +1 -1
- package/dist/cjs/utils/bendystraw.js +38 -10
- package/dist/cjs/utils/bendystraw.js.map +1 -1
- package/dist/cjs/utils/errors.d.ts +19 -0
- package/dist/cjs/utils/errors.d.ts.map +1 -0
- package/dist/cjs/utils/errors.js +32 -0
- package/dist/cjs/utils/errors.js.map +1 -0
- package/dist/cjs/utils/fee.d.ts +12 -0
- package/dist/cjs/utils/fee.d.ts.map +1 -1
- package/dist/cjs/utils/fee.js +13 -2
- package/dist/cjs/utils/fee.js.map +1 -1
- package/dist/cjs/utils/hook.d.ts +17 -4
- package/dist/cjs/utils/hook.d.ts.map +1 -1
- package/dist/cjs/utils/hook.js +60 -31
- 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 +9 -1
- package/dist/cjs/utils/ipfs.d.ts.map +1 -1
- package/dist/cjs/utils/ipfs.js +13 -1
- package/dist/cjs/utils/ipfs.js.map +1 -1
- package/dist/cjs/utils/revnet.d.ts +1 -1
- package/dist/cjs/utils/revnet.d.ts.map +1 -1
- package/dist/cjs/utils/revnet.js +2 -1
- package/dist/cjs/utils/revnet.js.map +1 -1
- package/dist/cjs/utils/ruleset.d.ts +14 -0
- package/dist/cjs/utils/ruleset.d.ts.map +1 -1
- package/dist/cjs/utils/ruleset.js +19 -0
- package/dist/cjs/utils/ruleset.js.map +1 -1
- package/dist/cjs/utils/tx.d.ts +9 -0
- package/dist/cjs/utils/tx.d.ts.map +1 -1
- package/dist/cjs/utils/tx.js +10 -3
- package/dist/cjs/utils/tx.js.map +1 -1
- package/dist/cjs/utils/urn.d.ts +20 -1
- package/dist/cjs/utils/urn.d.ts.map +1 -1
- package/dist/cjs/utils/urn.js +54 -32
- package/dist/cjs/utils/urn.js.map +1 -1
- package/dist/cjs/v6/cashOut.d.ts +40 -6
- package/dist/cjs/v6/cashOut.d.ts.map +1 -1
- package/dist/cjs/v6/cashOut.js +54 -4
- package/dist/cjs/v6/cashOut.js.map +1 -1
- package/dist/cjs/v6/fees.d.ts +11 -8
- package/dist/cjs/v6/fees.d.ts.map +1 -1
- package/dist/cjs/v6/fees.js +12 -9
- package/dist/cjs/v6/fees.js.map +1 -1
- package/dist/cjs/v6/index.d.ts +1 -0
- package/dist/cjs/v6/index.d.ts.map +1 -1
- package/dist/cjs/v6/index.js +1 -0
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/loans.d.ts +13 -4
- package/dist/cjs/v6/loans.d.ts.map +1 -1
- package/dist/cjs/v6/loans.js +14 -5
- package/dist/cjs/v6/loans.js.map +1 -1
- package/dist/cjs/v6/nft.d.ts +11 -7
- package/dist/cjs/v6/nft.d.ts.map +1 -1
- package/dist/cjs/v6/nft.js +26 -11
- package/dist/cjs/v6/nft.js.map +1 -1
- package/dist/cjs/v6/priceFeeds.d.ts +78 -0
- package/dist/cjs/v6/priceFeeds.d.ts.map +1 -0
- package/dist/cjs/v6/priceFeeds.js +109 -0
- package/dist/cjs/v6/priceFeeds.js.map +1 -0
- package/dist/cjs/v6/revnets.d.ts +21 -2
- package/dist/cjs/v6/revnets.d.ts.map +1 -1
- package/dist/cjs/v6/revnets.js +35 -3
- package/dist/cjs/v6/revnets.js.map +1 -1
- package/dist/cjs/v6/suckers.d.ts +11 -0
- package/dist/cjs/v6/suckers.d.ts.map +1 -1
- package/dist/cjs/v6/suckers.js +22 -1
- package/dist/cjs/v6/suckers.js.map +1 -1
- package/dist/cjs/v6/terminals.d.ts +24 -4
- package/dist/cjs/v6/terminals.d.ts.map +1 -1
- package/dist/cjs/v6/terminals.js +13 -2
- package/dist/cjs/v6/terminals.js.map +1 -1
- package/dist/esm/actions/JBSuckerAbi.d.ts +12 -2
- package/dist/esm/actions/JBSuckerAbi.d.ts.map +1 -1
- package/dist/esm/actions/JBSuckerAbi.js +12 -2
- package/dist/esm/actions/JBSuckerAbi.js.map +1 -1
- package/dist/esm/actions/projectMetadata.d.ts.map +1 -1
- package/dist/esm/actions/projectMetadata.js +16 -10
- package/dist/esm/actions/projectMetadata.js.map +1 -1
- package/dist/esm/actions/suckerPairs.d.ts +26 -0
- package/dist/esm/actions/suckerPairs.d.ts.map +1 -1
- package/dist/esm/actions/suckerPairs.js +75 -41
- package/dist/esm/actions/suckerPairs.js.map +1 -1
- package/dist/esm/constants.d.ts +17 -7
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +44 -30
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/contracts.d.ts +6 -1
- package/dist/esm/contracts.d.ts.map +1 -1
- package/dist/esm/contracts.js +6 -0
- package/dist/esm/contracts.js.map +1 -1
- package/dist/esm/generated/juicebox.d.ts +8779 -6436
- package/dist/esm/generated/juicebox.d.ts.map +1 -1
- package/dist/esm/generated/juicebox.js +9644 -7861
- package/dist/esm/generated/juicebox.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jbcenter.d.ts +126 -0
- package/dist/esm/jbcenter.d.ts.map +1 -0
- package/dist/esm/jbcenter.js +300 -0
- package/dist/esm/jbcenter.js.map +1 -0
- package/dist/esm/types.d.ts +13 -10
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +10 -6
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/bendystraw.d.ts +19 -3
- package/dist/esm/utils/bendystraw.d.ts.map +1 -1
- package/dist/esm/utils/bendystraw.js +36 -9
- package/dist/esm/utils/bendystraw.js.map +1 -1
- package/dist/esm/utils/errors.d.ts +19 -0
- package/dist/esm/utils/errors.d.ts.map +1 -0
- package/dist/esm/utils/errors.js +28 -0
- package/dist/esm/utils/errors.js.map +1 -0
- package/dist/esm/utils/fee.d.ts +12 -0
- package/dist/esm/utils/fee.d.ts.map +1 -1
- package/dist/esm/utils/fee.js +13 -2
- package/dist/esm/utils/fee.js.map +1 -1
- package/dist/esm/utils/hook.d.ts +17 -4
- package/dist/esm/utils/hook.d.ts.map +1 -1
- package/dist/esm/utils/hook.js +61 -32
- 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 +9 -1
- package/dist/esm/utils/ipfs.d.ts.map +1 -1
- package/dist/esm/utils/ipfs.js +13 -1
- package/dist/esm/utils/ipfs.js.map +1 -1
- package/dist/esm/utils/revnet.d.ts +1 -1
- package/dist/esm/utils/revnet.d.ts.map +1 -1
- package/dist/esm/utils/revnet.js +2 -1
- package/dist/esm/utils/revnet.js.map +1 -1
- package/dist/esm/utils/ruleset.d.ts +14 -0
- package/dist/esm/utils/ruleset.d.ts.map +1 -1
- package/dist/esm/utils/ruleset.js +19 -0
- package/dist/esm/utils/ruleset.js.map +1 -1
- package/dist/esm/utils/tx.d.ts +9 -0
- package/dist/esm/utils/tx.d.ts.map +1 -1
- package/dist/esm/utils/tx.js +11 -4
- package/dist/esm/utils/tx.js.map +1 -1
- package/dist/esm/utils/urn.d.ts +20 -1
- package/dist/esm/utils/urn.d.ts.map +1 -1
- package/dist/esm/utils/urn.js +54 -32
- package/dist/esm/utils/urn.js.map +1 -1
- package/dist/esm/v6/cashOut.d.ts +40 -6
- package/dist/esm/v6/cashOut.d.ts.map +1 -1
- package/dist/esm/v6/cashOut.js +54 -4
- package/dist/esm/v6/cashOut.js.map +1 -1
- package/dist/esm/v6/fees.d.ts +11 -8
- package/dist/esm/v6/fees.d.ts.map +1 -1
- package/dist/esm/v6/fees.js +11 -8
- package/dist/esm/v6/fees.js.map +1 -1
- package/dist/esm/v6/index.d.ts +1 -0
- package/dist/esm/v6/index.d.ts.map +1 -1
- package/dist/esm/v6/index.js +1 -0
- package/dist/esm/v6/index.js.map +1 -1
- package/dist/esm/v6/loans.d.ts +13 -4
- package/dist/esm/v6/loans.d.ts.map +1 -1
- package/dist/esm/v6/loans.js +13 -4
- package/dist/esm/v6/loans.js.map +1 -1
- package/dist/esm/v6/nft.d.ts +11 -7
- package/dist/esm/v6/nft.d.ts.map +1 -1
- package/dist/esm/v6/nft.js +26 -11
- package/dist/esm/v6/nft.js.map +1 -1
- package/dist/esm/v6/priceFeeds.d.ts +78 -0
- package/dist/esm/v6/priceFeeds.d.ts.map +1 -0
- package/dist/esm/v6/priceFeeds.js +105 -0
- package/dist/esm/v6/priceFeeds.js.map +1 -0
- package/dist/esm/v6/revnets.d.ts +21 -2
- package/dist/esm/v6/revnets.d.ts.map +1 -1
- package/dist/esm/v6/revnets.js +34 -3
- package/dist/esm/v6/revnets.js.map +1 -1
- package/dist/esm/v6/suckers.d.ts +11 -0
- package/dist/esm/v6/suckers.d.ts.map +1 -1
- package/dist/esm/v6/suckers.js +21 -1
- package/dist/esm/v6/suckers.js.map +1 -1
- package/dist/esm/v6/terminals.d.ts +24 -4
- package/dist/esm/v6/terminals.d.ts.map +1 -1
- package/dist/esm/v6/terminals.js +13 -2
- package/dist/esm/v6/terminals.js.map +1 -1
- package/package.json +12 -1
package/dist/esm/v6/loans.d.ts
CHANGED
|
@@ -4,10 +4,19 @@ import { JBChainId } from "../types.js";
|
|
|
4
4
|
export * from "./loanMath.js";
|
|
5
5
|
/**
|
|
6
6
|
* The JBPermissions permission id apps grant to the REVLoans contract before borrowing
|
|
7
|
-
* against a holder's tokens (
|
|
8
|
-
* holder's collateral
|
|
7
|
+
* against a holder's tokens: `BURN_TOKENS` (11, per `JBPermissionIds`). REVLoans burns
|
|
8
|
+
* the holder's collateral via `JBController.burnTokensOf`, which is gated on this
|
|
9
|
+
* permission ONLY — never grant ROOT (1) to REVLoans; ROOT silently satisfies every
|
|
10
|
+
* permission check and hands the contract full operator power over the holder.
|
|
9
11
|
*/
|
|
10
|
-
export declare const
|
|
12
|
+
export declare const REVLOANS_BURN_PERMISSION_ID = 11;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Use {@link REVLOANS_BURN_PERMISSION_ID}. This constant previously held
|
|
15
|
+
* ROOT (1) — a grant that gives REVLoans unrestricted operator power over the holder.
|
|
16
|
+
* It now aliases `BURN_TOKENS` (11), the only permission REVLoans needs. Audit any
|
|
17
|
+
* grants made with the old value and revoke ROOT from REVLoans.
|
|
18
|
+
*/
|
|
19
|
+
export declare const REVLOANS_PERMISSION_ID = 11;
|
|
11
20
|
/**
|
|
12
21
|
* A Permit2 single allowance, passed to `repayLoan` when repaying with an ERC-20 via a
|
|
13
22
|
* signed permit. Pass {@link EMPTY_SINGLE_ALLOWANCE} (the default) when repaying with the
|
|
@@ -30,7 +39,7 @@ export declare const EMPTY_SINGLE_ALLOWANCE: JBSingleAllowance;
|
|
|
30
39
|
* tokens.
|
|
31
40
|
*
|
|
32
41
|
* The caller must be the holder or have permission to act on their behalf, and the holder
|
|
33
|
-
* must have granted permission id {@link
|
|
42
|
+
* must have granted permission id {@link REVLOANS_BURN_PERMISSION_ID} to REVLoans.
|
|
34
43
|
*
|
|
35
44
|
* @param args.chainId The chain to borrow on.
|
|
36
45
|
* @param args.revnetId The revnet to borrow from.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loans.d.ts","sourceRoot":"","sources":["../../../src/v6/loans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,cAAc,eAAe,CAAC;AAE9B
|
|
1
|
+
{"version":3,"file":"loans.d.ts","sourceRoot":"","sources":["../../../src/v6/loans.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/v6/loans.js
CHANGED
|
@@ -3,10 +3,19 @@ import { v6Address } from "./types.js";
|
|
|
3
3
|
export * from "./loanMath.js";
|
|
4
4
|
/**
|
|
5
5
|
* The JBPermissions permission id apps grant to the REVLoans contract before borrowing
|
|
6
|
-
* against a holder's tokens (
|
|
7
|
-
* holder's collateral
|
|
6
|
+
* against a holder's tokens: `BURN_TOKENS` (11, per `JBPermissionIds`). REVLoans burns
|
|
7
|
+
* the holder's collateral via `JBController.burnTokensOf`, which is gated on this
|
|
8
|
+
* permission ONLY — never grant ROOT (1) to REVLoans; ROOT silently satisfies every
|
|
9
|
+
* permission check and hands the contract full operator power over the holder.
|
|
8
10
|
*/
|
|
9
|
-
export const
|
|
11
|
+
export const REVLOANS_BURN_PERMISSION_ID = 11;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated Use {@link REVLOANS_BURN_PERMISSION_ID}. This constant previously held
|
|
14
|
+
* ROOT (1) — a grant that gives REVLoans unrestricted operator power over the holder.
|
|
15
|
+
* It now aliases `BURN_TOKENS` (11), the only permission REVLoans needs. Audit any
|
|
16
|
+
* grants made with the old value and revoke ROOT from REVLoans.
|
|
17
|
+
*/
|
|
18
|
+
export const REVLOANS_PERMISSION_ID = REVLOANS_BURN_PERMISSION_ID;
|
|
10
19
|
/**
|
|
11
20
|
* An empty Permit2 allowance: use when no permit signature is needed (native-token
|
|
12
21
|
* repayments, or ERC-20s already approved to REVLoans).
|
|
@@ -23,7 +32,7 @@ export const EMPTY_SINGLE_ALLOWANCE = {
|
|
|
23
32
|
* tokens.
|
|
24
33
|
*
|
|
25
34
|
* The caller must be the holder or have permission to act on their behalf, and the holder
|
|
26
|
-
* must have granted permission id {@link
|
|
35
|
+
* must have granted permission id {@link REVLOANS_BURN_PERMISSION_ID} to REVLoans.
|
|
27
36
|
*
|
|
28
37
|
* @param args.chainId The chain to borrow on.
|
|
29
38
|
* @param args.revnetId The revnet to borrow from.
|
package/dist/esm/v6/loans.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loans.js","sourceRoot":"","sources":["../../../src/v6/loans.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,cAAc,eAAe,CAAC;AAE9B
|
|
1
|
+
{"version":3,"file":"loans.js","sourceRoot":"","sources":["../../../src/v6/loans.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,cAAc,eAAe,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;AAelE;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,KAAK,EACL,eAAe,GAAG,EAAE,EACpB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,MAAM,GAUP;IAOC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,WAAW;QAChB,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE;YACJ,QAAQ;YACR,KAAK;YACL,eAAe;YACf,eAAe;YACf,WAAW;YACX,iBAAiB;YACjB,MAAM;SACP;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,SAAS,GAAG,sBAAsB,EAClC,KAAK,GAAG,EAAE,GASX;IAQC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,WAAW;QAChB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE;YACJ,MAAM;YACN,oBAAoB;YACpB,uBAAuB;YACvB,WAAW;YACX,SAAS;SACV;QACD,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAC1C,OAAO,EACP,MAAM,EACN,yBAAyB,EACzB,KAAK,EACL,eAAe,GAAG,EAAE,EACpB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,GAUlB;IAOC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,WAAW;QAChB,YAAY,EAAE,8BAA8B;QAC5C,IAAI,EAAE;YACJ,MAAM;YACN,yBAAyB;YACzB,KAAK;YACL,eAAe;YACf,oBAAoB;YACpB,WAAW;YACX,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,EACE,OAAO,EACP,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,GAOT;IAED,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACpE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,WAAW;QAChB,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACtD,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC/C,CAAC"}
|
package/dist/esm/v6/nft.d.ts
CHANGED
|
@@ -156,8 +156,11 @@ export interface Project721Shop {
|
|
|
156
156
|
/**
|
|
157
157
|
* Read a JB721 hook's `METADATA_ID_TARGET` — the shared *implementation* address
|
|
158
158
|
* that pay/cash-out metadata ids must key off (a delegatecall clone reports the
|
|
159
|
-
* implementation, not itself). Falls back to `hook`
|
|
160
|
-
*
|
|
159
|
+
* implementation, not itself). Falls back to `hook` ONLY when the contract
|
|
160
|
+
* itself answered that it has no such getter (a revert or empty return — an
|
|
161
|
+
* older, non-clone hook). Transport/RPC failures are rethrown: treating them as
|
|
162
|
+
* "old hook" would key pay metadata off the clone address, which the hook
|
|
163
|
+
* silently ignores — the payer pays and receives no NFT.
|
|
161
164
|
*
|
|
162
165
|
* @param client A viem public client on the given chain.
|
|
163
166
|
* @param args.hook The project's 721 tiers hook (clone) address.
|
|
@@ -174,12 +177,13 @@ export declare function get721MetadataIdTarget(client: PublicClient, { hook }: {
|
|
|
174
177
|
* `REVOwner.tiered721HookOf`; custom projects read the current ruleset's pay
|
|
175
178
|
* data hook — either the omnichain deployer (the real hook lives in
|
|
176
179
|
* `JBOmnichainDeployer.tiered721HookOf(projectId, rulesetId)`) or the 721 hook
|
|
177
|
-
* itself, verified by probing `STORE()` (a revert
|
|
178
|
-
* the project has no shop).
|
|
180
|
+
* itself, verified by probing `STORE()` (a proven revert or empty return means
|
|
181
|
+
* it is not a 721 hook, so the project has no shop).
|
|
179
182
|
*
|
|
180
|
-
* Returns `null` when the project authoritatively has no 721 shop. RPC
|
|
181
|
-
*
|
|
182
|
-
* than a false
|
|
183
|
+
* Returns `null` only when the project authoritatively has no 721 shop. RPC and
|
|
184
|
+
* transport failures throw — on authoritative reads and on the `STORE()` probe
|
|
185
|
+
* alike — so a transient error surfaces as an error rather than a false
|
|
186
|
+
* "no shop".
|
|
183
187
|
*
|
|
184
188
|
* @param client A viem public client on the given chain.
|
|
185
189
|
* @param args.projectId The project (or revnet) id.
|
package/dist/esm/v6/nft.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nft.d.ts","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAe,MAAM,MAAM,CAAC;AAQ/D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"nft.d.ts","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/v6/nft.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { zeroAddress } from "viem";
|
|
2
2
|
import { JBOmnichainDeployerContracts } from "../contracts.js";
|
|
3
3
|
import { jb721TiersHookAbi, jb721TiersHookStoreAbi, jbContractAddress, jbOmnichainDeployerAbi, } from "../generated/juicebox.js";
|
|
4
|
+
import { isMissingContractFunctionError } from "../utils/errors.js";
|
|
4
5
|
import { ipfsAssetPath, isIpfsCid } from "../utils/ipfs.js";
|
|
5
6
|
import { getRevnetTiered721Hook } from "./revnets.js";
|
|
6
7
|
import { getCurrentRuleset } from "./rulesets.js";
|
|
@@ -246,8 +247,11 @@ export function effectiveTierPrice(price, discountPercent) {
|
|
|
246
247
|
/**
|
|
247
248
|
* Read a JB721 hook's `METADATA_ID_TARGET` — the shared *implementation* address
|
|
248
249
|
* that pay/cash-out metadata ids must key off (a delegatecall clone reports the
|
|
249
|
-
* implementation, not itself). Falls back to `hook`
|
|
250
|
-
*
|
|
250
|
+
* implementation, not itself). Falls back to `hook` ONLY when the contract
|
|
251
|
+
* itself answered that it has no such getter (a revert or empty return — an
|
|
252
|
+
* older, non-clone hook). Transport/RPC failures are rethrown: treating them as
|
|
253
|
+
* "old hook" would key pay metadata off the clone address, which the hook
|
|
254
|
+
* silently ignores — the payer pays and receives no NFT.
|
|
251
255
|
*
|
|
252
256
|
* @param client A viem public client on the given chain.
|
|
253
257
|
* @param args.hook The project's 721 tiers hook (clone) address.
|
|
@@ -259,7 +263,11 @@ export async function get721MetadataIdTarget(client, { hook }) {
|
|
|
259
263
|
abi: jb721TiersHookAbi,
|
|
260
264
|
functionName: "METADATA_ID_TARGET",
|
|
261
265
|
})
|
|
262
|
-
.catch(() =>
|
|
266
|
+
.catch((error) => {
|
|
267
|
+
if (isMissingContractFunctionError(error))
|
|
268
|
+
return hook;
|
|
269
|
+
throw error;
|
|
270
|
+
});
|
|
263
271
|
}
|
|
264
272
|
/**
|
|
265
273
|
* Resolve a project's 721 tiers hook, its store, metadata id target, pricing
|
|
@@ -269,12 +277,13 @@ export async function get721MetadataIdTarget(client, { hook }) {
|
|
|
269
277
|
* `REVOwner.tiered721HookOf`; custom projects read the current ruleset's pay
|
|
270
278
|
* data hook — either the omnichain deployer (the real hook lives in
|
|
271
279
|
* `JBOmnichainDeployer.tiered721HookOf(projectId, rulesetId)`) or the 721 hook
|
|
272
|
-
* itself, verified by probing `STORE()` (a revert
|
|
273
|
-
* the project has no shop).
|
|
280
|
+
* itself, verified by probing `STORE()` (a proven revert or empty return means
|
|
281
|
+
* it is not a 721 hook, so the project has no shop).
|
|
274
282
|
*
|
|
275
|
-
* Returns `null` when the project authoritatively has no 721 shop. RPC
|
|
276
|
-
*
|
|
277
|
-
* than a false
|
|
283
|
+
* Returns `null` only when the project authoritatively has no 721 shop. RPC and
|
|
284
|
+
* transport failures throw — on authoritative reads and on the `STORE()` probe
|
|
285
|
+
* alike — so a transient error surfaces as an error rather than a false
|
|
286
|
+
* "no shop".
|
|
278
287
|
*
|
|
279
288
|
* @param client A viem public client on the given chain.
|
|
280
289
|
* @param args.projectId The project (or revnet) id.
|
|
@@ -323,8 +332,10 @@ export async function getProject721Shop(client, { chainId, projectId, isRevnet,
|
|
|
323
332
|
}
|
|
324
333
|
if (!hook)
|
|
325
334
|
return null;
|
|
326
|
-
// 2. The hook's store. For a non-authoritative candidate a revert
|
|
327
|
-
// 721 hook"
|
|
335
|
+
// 2. The hook's store. For a non-authoritative candidate a PROVEN revert (or
|
|
336
|
+
// empty return) means "not a 721 hook" — no shop. Transport failures prove
|
|
337
|
+
// nothing and are rethrown; swallowing them would render "no shop" for a
|
|
338
|
+
// project that has one. For an authoritative hook, let every failure throw.
|
|
328
339
|
const readStore = () => client.readContract({
|
|
329
340
|
address: hook,
|
|
330
341
|
abi: jb721TiersHookAbi,
|
|
@@ -332,7 +343,11 @@ export async function getProject721Shop(client, { chainId, projectId, isRevnet,
|
|
|
332
343
|
});
|
|
333
344
|
const store = authoritative
|
|
334
345
|
? await readStore()
|
|
335
|
-
: await readStore().catch(() =>
|
|
346
|
+
: await readStore().catch((error) => {
|
|
347
|
+
if (isMissingContractFunctionError(error))
|
|
348
|
+
return null;
|
|
349
|
+
throw error;
|
|
350
|
+
});
|
|
336
351
|
if (!store)
|
|
337
352
|
return null;
|
|
338
353
|
// 3. Metadata id target + pricing context. Pricing is meaningless without the
|
package/dist/esm/v6/nft.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { PublicClient } from "viem";
|
|
2
|
+
import { JBChainId } from "../types.js";
|
|
3
|
+
import { JBAccountingContext } from "./terminals.js";
|
|
4
|
+
/**
|
|
5
|
+
* One `JBPrices.pricePerUnitOf` lookup a project's configuration depends on at
|
|
6
|
+
* runtime. Pairs are unordered — JBPrices falls back to the inverse feed
|
|
7
|
+
* itself, so reachability is symmetric.
|
|
8
|
+
*/
|
|
9
|
+
export interface JBFeedPair {
|
|
10
|
+
pricingCurrency: number;
|
|
11
|
+
unitCurrency: number;
|
|
12
|
+
/**
|
|
13
|
+
* The decimals the terminal itself passes: the context's decimals on the
|
|
14
|
+
* pay path, 18 (the store's max fixed-point fidelity) on the cross-context
|
|
15
|
+
* cash-out/surplus path.
|
|
16
|
+
*/
|
|
17
|
+
decimals: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Every `JBPrices` pair the terminal will resolve at runtime for a project
|
|
21
|
+
* accepting the given accounting contexts (the exact structs
|
|
22
|
+
* `buildAccountingContext` emits) with the given ruleset `baseCurrency`:
|
|
23
|
+
*
|
|
24
|
+
* - each `context.currency` ↔ `baseCurrency` (the pay/issuance conversion;
|
|
25
|
+
* skipped when equal — the terminal short-circuits), and
|
|
26
|
+
* - each `context.currency` ↔ each other `context.currency` (cash-out and
|
|
27
|
+
* surplus views convert every OTHER context's balance into the reclaimed
|
|
28
|
+
* context's currency, NOT the base currency; skipped for single-context
|
|
29
|
+
* projects).
|
|
30
|
+
*
|
|
31
|
+
* Pairs are deduped without direction. Feeds resolve direct or inverse only —
|
|
32
|
+
* never transitively through an intermediate currency — so every returned pair
|
|
33
|
+
* must be individually served by a feed or the project's payments and/or cash
|
|
34
|
+
* outs revert on-chain. Accounting contexts are immutable once set, so an
|
|
35
|
+
* unreachable pair must be caught BEFORE launch (see
|
|
36
|
+
* {@link probeFeedReachability}).
|
|
37
|
+
*/
|
|
38
|
+
export declare function requiredFeedPairs(accountingContexts: readonly JBAccountingContext[], baseCurrency: number): JBFeedPair[];
|
|
39
|
+
/**
|
|
40
|
+
* A feed-reachability verdict. Anything other than `ok` should block a launch:
|
|
41
|
+
* `missing` because the chain ANSWERED that a required pair has no feed, and
|
|
42
|
+
* `unavailable` because at least one probe could not be completed — an RPC
|
|
43
|
+
* failure is not proof of a missing feed, but it is not proof of a present one
|
|
44
|
+
* either, so it fails closed WITHOUT being reported as `missing`.
|
|
45
|
+
*/
|
|
46
|
+
export type FeedReachability = {
|
|
47
|
+
status: "ok";
|
|
48
|
+
} | {
|
|
49
|
+
status: "missing";
|
|
50
|
+
missing: JBFeedPair[];
|
|
51
|
+
} | {
|
|
52
|
+
status: "unavailable";
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Probe on-chain that every given `JBPrices` pair resolves, via the same
|
|
56
|
+
* `pricePerUnitOf` read the terminal performs at runtime. The default
|
|
57
|
+
* `projectId` 0 gives exactly the protocol-default-feed semantics a freshly
|
|
58
|
+
* launched project starts with — and, because the probe is on-chain, a later
|
|
59
|
+
* protocol-side default-feed registration unblocks the combination with no
|
|
60
|
+
* client release.
|
|
61
|
+
*
|
|
62
|
+
* A revert (as opposed to a transport failure) means the chain answered, so a
|
|
63
|
+
* pair is only ever reported `missing` on a proven
|
|
64
|
+
* `ContractFunctionRevertedError`; every other failure — timeouts, HTTP
|
|
65
|
+
* errors, a chain with no known `JBPrices` deployment — yields `unavailable`.
|
|
66
|
+
*
|
|
67
|
+
* @param client A viem public client on the given chain.
|
|
68
|
+
* @param args.chainId The chain to probe on.
|
|
69
|
+
* @param args.pairs The pairs to probe (see {@link requiredFeedPairs}).
|
|
70
|
+
* @param args.projectId The project id to resolve feeds for. Defaults to 0n
|
|
71
|
+
* (the protocol default feeds).
|
|
72
|
+
*/
|
|
73
|
+
export declare function probeFeedReachability(client: PublicClient, { chainId, pairs, projectId, }: {
|
|
74
|
+
chainId: JBChainId;
|
|
75
|
+
pairs: readonly JBFeedPair[];
|
|
76
|
+
projectId?: bigint;
|
|
77
|
+
}): Promise<FeedReachability>;
|
|
78
|
+
//# sourceMappingURL=priceFeeds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priceFeeds.d.ts","sourceRoot":"","sources":["../../../src/v6/priceFeeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAC/B,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,EAClD,YAAY,EAAE,MAAM,GACnB,UAAU,EAAE,CA0Bd;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,UAAU,EAAE,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC;AAE9B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,YAAY,EACpB,EACE,OAAO,EACP,KAAK,EACL,SAAc,GACf,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,OAAO,CAAC,gBAAgB,CAAC,CAuC3B"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { jbPricesAbi } from "../generated/juicebox.js";
|
|
2
|
+
import { isContractRevertError } from "../utils/errors.js";
|
|
3
|
+
import { v6Address } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Every `JBPrices` pair the terminal will resolve at runtime for a project
|
|
6
|
+
* accepting the given accounting contexts (the exact structs
|
|
7
|
+
* `buildAccountingContext` emits) with the given ruleset `baseCurrency`:
|
|
8
|
+
*
|
|
9
|
+
* - each `context.currency` ↔ `baseCurrency` (the pay/issuance conversion;
|
|
10
|
+
* skipped when equal — the terminal short-circuits), and
|
|
11
|
+
* - each `context.currency` ↔ each other `context.currency` (cash-out and
|
|
12
|
+
* surplus views convert every OTHER context's balance into the reclaimed
|
|
13
|
+
* context's currency, NOT the base currency; skipped for single-context
|
|
14
|
+
* projects).
|
|
15
|
+
*
|
|
16
|
+
* Pairs are deduped without direction. Feeds resolve direct or inverse only —
|
|
17
|
+
* never transitively through an intermediate currency — so every returned pair
|
|
18
|
+
* must be individually served by a feed or the project's payments and/or cash
|
|
19
|
+
* outs revert on-chain. Accounting contexts are immutable once set, so an
|
|
20
|
+
* unreachable pair must be caught BEFORE launch (see
|
|
21
|
+
* {@link probeFeedReachability}).
|
|
22
|
+
*/
|
|
23
|
+
export function requiredFeedPairs(accountingContexts, baseCurrency) {
|
|
24
|
+
const pairs = [];
|
|
25
|
+
const seen = new Set();
|
|
26
|
+
const add = (pricingCurrency, unitCurrency, decimals) => {
|
|
27
|
+
if (pricingCurrency === unitCurrency)
|
|
28
|
+
return;
|
|
29
|
+
const key = `${Math.min(pricingCurrency, unitCurrency)}:${Math.max(pricingCurrency, unitCurrency)}`;
|
|
30
|
+
if (seen.has(key))
|
|
31
|
+
return;
|
|
32
|
+
seen.add(key);
|
|
33
|
+
pairs.push({ pricingCurrency, unitCurrency, decimals });
|
|
34
|
+
};
|
|
35
|
+
for (const context of accountingContexts) {
|
|
36
|
+
add(context.currency, baseCurrency, context.decimals);
|
|
37
|
+
}
|
|
38
|
+
for (let i = 0; i < accountingContexts.length; i++) {
|
|
39
|
+
for (let j = i + 1; j < accountingContexts.length; j++) {
|
|
40
|
+
add(accountingContexts[i].currency, accountingContexts[j].currency, 18);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return pairs;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Probe on-chain that every given `JBPrices` pair resolves, via the same
|
|
47
|
+
* `pricePerUnitOf` read the terminal performs at runtime. The default
|
|
48
|
+
* `projectId` 0 gives exactly the protocol-default-feed semantics a freshly
|
|
49
|
+
* launched project starts with — and, because the probe is on-chain, a later
|
|
50
|
+
* protocol-side default-feed registration unblocks the combination with no
|
|
51
|
+
* client release.
|
|
52
|
+
*
|
|
53
|
+
* A revert (as opposed to a transport failure) means the chain answered, so a
|
|
54
|
+
* pair is only ever reported `missing` on a proven
|
|
55
|
+
* `ContractFunctionRevertedError`; every other failure — timeouts, HTTP
|
|
56
|
+
* errors, a chain with no known `JBPrices` deployment — yields `unavailable`.
|
|
57
|
+
*
|
|
58
|
+
* @param client A viem public client on the given chain.
|
|
59
|
+
* @param args.chainId The chain to probe on.
|
|
60
|
+
* @param args.pairs The pairs to probe (see {@link requiredFeedPairs}).
|
|
61
|
+
* @param args.projectId The project id to resolve feeds for. Defaults to 0n
|
|
62
|
+
* (the protocol default feeds).
|
|
63
|
+
*/
|
|
64
|
+
export async function probeFeedReachability(client, { chainId, pairs, projectId = 0n, }) {
|
|
65
|
+
if (pairs.length === 0)
|
|
66
|
+
return { status: "ok" };
|
|
67
|
+
let prices;
|
|
68
|
+
try {
|
|
69
|
+
prices = v6Address("JBPrices", chainId);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return { status: "unavailable" };
|
|
73
|
+
}
|
|
74
|
+
let unverified = false;
|
|
75
|
+
const missing = [];
|
|
76
|
+
await Promise.all(pairs.map(async (pair) => {
|
|
77
|
+
try {
|
|
78
|
+
await client.readContract({
|
|
79
|
+
address: prices,
|
|
80
|
+
abi: jbPricesAbi,
|
|
81
|
+
functionName: "pricePerUnitOf",
|
|
82
|
+
args: [
|
|
83
|
+
projectId,
|
|
84
|
+
BigInt(pair.pricingCurrency),
|
|
85
|
+
BigInt(pair.unitCurrency),
|
|
86
|
+
BigInt(pair.decimals),
|
|
87
|
+
],
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
if (isContractRevertError(error)) {
|
|
92
|
+
missing.push(pair);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
unverified = true;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}));
|
|
99
|
+
if (missing.length > 0)
|
|
100
|
+
return { status: "missing", missing };
|
|
101
|
+
if (unverified)
|
|
102
|
+
return { status: "unavailable" };
|
|
103
|
+
return { status: "ok" };
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=priceFeeds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priceFeeds.js","sourceRoot":"","sources":["../../../src/v6/priceFeeds.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/v6/revnets.d.ts
CHANGED
|
@@ -36,6 +36,14 @@ export type REVDeploy721TiersHookConfig = RevDeployArgs6[4];
|
|
|
36
36
|
* may post to, and at what minimum price/supply.
|
|
37
37
|
*/
|
|
38
38
|
export type REVCroptopAllowedPost = RevDeployArgs6[5][number];
|
|
39
|
+
/**
|
|
40
|
+
* Ruleset `extraMetadata` bit 2: allows `REVDeployer.deploySuckersFor` to extend
|
|
41
|
+
* the revnet to new chains while the stage is active (the deployer checks
|
|
42
|
+
* `(metadata >> 2) & 1`). `extraMetadata` is folded into the revnet's immutable
|
|
43
|
+
* encoded-configuration hash, so a stage without this bit can NEVER be extended —
|
|
44
|
+
* there is no later fix.
|
|
45
|
+
*/
|
|
46
|
+
export declare const REV_METADATA_ALLOW_SUCKER_DEPLOYMENT: number;
|
|
39
47
|
/**
|
|
40
48
|
* Build a `REVStageConfig` (spec-exact encodings, documented per field).
|
|
41
49
|
*
|
|
@@ -58,8 +66,13 @@ export type REVCroptopAllowedPost = RevDeployArgs6[5][number];
|
|
|
58
66
|
* - `issuanceCutPercent`: how much issuance drops each period, out of 1e9
|
|
59
67
|
* (`MAX_WEIGHT_CUT_PERCENT`; e.g. 20% = 200,000,000).
|
|
60
68
|
* - `cashOutTaxRate`: out of 10,000 (`MAX_CASH_OUT_TAX_RATE`). Any non-zero
|
|
61
|
-
* rate makes EVERY cash out incur the 2.5% protocol fee
|
|
62
|
-
*
|
|
69
|
+
* rate makes EVERY cash out incur the 2.5% protocol fee; zero-tax cash outs
|
|
70
|
+
* still pay it on `min(reclaimAmount, feeFreeSurplusOf)`, which is often
|
|
71
|
+
* but not always zero.
|
|
72
|
+
* - `extraMetadata`: extra metadata bits forwarded to hooks.
|
|
73
|
+
* {@link REV_METADATA_ALLOW_SUCKER_DEPLOYMENT} (bit 2) is ORed in by default
|
|
74
|
+
* so the revnet stays extendable to new chains; pass
|
|
75
|
+
* `allowSuckerDeployment: false` to opt out PERMANENTLY for the stage.
|
|
63
76
|
*/
|
|
64
77
|
export declare function buildRevnetStageConfig(args: {
|
|
65
78
|
startsAtOrAfter: number;
|
|
@@ -71,6 +84,12 @@ export declare function buildRevnetStageConfig(args: {
|
|
|
71
84
|
issuanceCutPercent?: number;
|
|
72
85
|
cashOutTaxRate?: number;
|
|
73
86
|
extraMetadata?: number;
|
|
87
|
+
/**
|
|
88
|
+
* Whether `REVDeployer.deploySuckersFor` may extend the revnet to new chains
|
|
89
|
+
* during this stage. Defaults to TRUE — a stage without the bit is
|
|
90
|
+
* un-extendable forever, since stages are immutable once deployed.
|
|
91
|
+
*/
|
|
92
|
+
allowSuckerDeployment?: boolean;
|
|
74
93
|
}): REVStageConfig;
|
|
75
94
|
/**
|
|
76
95
|
* Build a `REVDeployer.deployFor` transaction request deploying a new revnet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revnets.d.ts","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,EAAE,cAAc,EAAe,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,KAAK,aAAa,GAAG,oBAAoB,CACvC,OAAO,cAAc,EACrB,SAAS,EACT,WAAW,CACZ,CAAC;AAEF,KAAK,cAAc,GAAG,OAAO,CAC3B,aAAa,EACb,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAChE,CAAC;AAEF,KAAK,cAAc,GAAG,OAAO,CAC3B,aAAa,EACb,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAC9C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D
|
|
1
|
+
{"version":3,"file":"revnets.d.ts","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/esm/v6/revnets.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { revDeployerAbi, revOwnerAbi } from "../generated/juicebox.js";
|
|
2
2
|
import { v6Address } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Ruleset `extraMetadata` bit 2: allows `REVDeployer.deploySuckersFor` to extend
|
|
5
|
+
* the revnet to new chains while the stage is active (the deployer checks
|
|
6
|
+
* `(metadata >> 2) & 1`). `extraMetadata` is folded into the revnet's immutable
|
|
7
|
+
* encoded-configuration hash, so a stage without this bit can NEVER be extended —
|
|
8
|
+
* there is no later fix.
|
|
9
|
+
*/
|
|
10
|
+
export const REV_METADATA_ALLOW_SUCKER_DEPLOYMENT = 1 << 2;
|
|
3
11
|
/**
|
|
4
12
|
* Build a `REVStageConfig` (spec-exact encodings, documented per field).
|
|
5
13
|
*
|
|
@@ -22,10 +30,18 @@ import { v6Address } from "./types.js";
|
|
|
22
30
|
* - `issuanceCutPercent`: how much issuance drops each period, out of 1e9
|
|
23
31
|
* (`MAX_WEIGHT_CUT_PERCENT`; e.g. 20% = 200,000,000).
|
|
24
32
|
* - `cashOutTaxRate`: out of 10,000 (`MAX_CASH_OUT_TAX_RATE`). Any non-zero
|
|
25
|
-
* rate makes EVERY cash out incur the 2.5% protocol fee
|
|
26
|
-
*
|
|
33
|
+
* rate makes EVERY cash out incur the 2.5% protocol fee; zero-tax cash outs
|
|
34
|
+
* still pay it on `min(reclaimAmount, feeFreeSurplusOf)`, which is often
|
|
35
|
+
* but not always zero.
|
|
36
|
+
* - `extraMetadata`: extra metadata bits forwarded to hooks.
|
|
37
|
+
* {@link REV_METADATA_ALLOW_SUCKER_DEPLOYMENT} (bit 2) is ORed in by default
|
|
38
|
+
* so the revnet stays extendable to new chains; pass
|
|
39
|
+
* `allowSuckerDeployment: false` to opt out PERMANENTLY for the stage.
|
|
27
40
|
*/
|
|
28
41
|
export function buildRevnetStageConfig(args) {
|
|
42
|
+
const extraMetadata = args.allowSuckerDeployment === false
|
|
43
|
+
? (args.extraMetadata ?? 0)
|
|
44
|
+
: (args.extraMetadata ?? 0) | REV_METADATA_ALLOW_SUCKER_DEPLOYMENT;
|
|
29
45
|
return {
|
|
30
46
|
startsAtOrAfter: args.startsAtOrAfter,
|
|
31
47
|
autoIssuances: args.autoIssuances ?? [],
|
|
@@ -35,7 +51,7 @@ export function buildRevnetStageConfig(args) {
|
|
|
35
51
|
issuanceCutFrequency: args.issuanceCutFrequency ?? 0,
|
|
36
52
|
issuanceCutPercent: args.issuanceCutPercent ?? 0,
|
|
37
53
|
cashOutTaxRate: args.cashOutTaxRate ?? 0,
|
|
38
|
-
extraMetadata
|
|
54
|
+
extraMetadata,
|
|
39
55
|
};
|
|
40
56
|
}
|
|
41
57
|
/**
|
|
@@ -66,6 +82,21 @@ export function buildRevnetStageConfig(args) {
|
|
|
66
82
|
export function buildDeployRevnetTx(args) {
|
|
67
83
|
const address = v6Address("REVDeployer", args.chainId);
|
|
68
84
|
const revnetId = args.revnetId ?? 0n;
|
|
85
|
+
// An omnichain revnet whose stages lack the sucker-deployment bit can never
|
|
86
|
+
// be extended to new chains (or have failed sucker deploys retried): stages
|
|
87
|
+
// are immutable and `deploySuckersFor` checks the CURRENT stage's bit. Refuse
|
|
88
|
+
// to encode that foot-gun — `buildRevnetStageConfig` sets the bit by default.
|
|
89
|
+
if (args.suckerConfig.deployerConfigurations.length > 0) {
|
|
90
|
+
const blockedStage = args.config.stageConfigurations.findIndex((stage) => (Number(stage.extraMetadata) & REV_METADATA_ALLOW_SUCKER_DEPLOYMENT) ===
|
|
91
|
+
0);
|
|
92
|
+
if (blockedStage !== -1) {
|
|
93
|
+
throw new Error(`Stage ${blockedStage} does not set REV_METADATA_ALLOW_SUCKER_DEPLOYMENT ` +
|
|
94
|
+
`(extraMetadata bit 2), so this cross-chain revnet could never deploy ` +
|
|
95
|
+
`suckers during that stage — permanently. Build stages with ` +
|
|
96
|
+
`buildRevnetStageConfig (which sets the bit by default), or OR the bit ` +
|
|
97
|
+
`into extraMetadata.`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
69
100
|
// The deployer forwards msg.value to `JBProjects.createFor` for new revnets and
|
|
70
101
|
// reverts on any value when initializing an existing project.
|
|
71
102
|
if (revnetId === 0n && args.creationFee === undefined) {
|