@bananapus/nana-sdk-core 1.0.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 +32 -0
- package/dist/cjs/actions/JBSuckerAbi.d.ts.map +1 -0
- package/dist/cjs/actions/JBSuckerAbi.js +42 -0
- package/dist/cjs/actions/JBSuckerAbi.js.map +1 -0
- package/dist/cjs/actions/dataHook.d.ts +29 -0
- package/dist/cjs/actions/dataHook.d.ts.map +1 -0
- package/dist/cjs/actions/dataHook.js +81 -0
- package/dist/cjs/actions/dataHook.js.map +1 -0
- package/dist/cjs/actions/projectMetadata.d.ts +16 -0
- package/dist/cjs/actions/projectMetadata.d.ts.map +1 -0
- package/dist/cjs/actions/projectMetadata.js +37 -0
- package/dist/cjs/actions/projectMetadata.js.map +1 -0
- package/dist/cjs/actions/suckerPairs.d.ts +19 -0
- package/dist/cjs/actions/suckerPairs.d.ts.map +1 -0
- package/dist/cjs/actions/suckerPairs.js +71 -0
- package/dist/cjs/actions/suckerPairs.js.map +1 -0
- package/dist/cjs/constants.d.ts +126 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +229 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/contracts.d.ts +71 -0
- package/dist/cjs/contracts.d.ts.map +1 -0
- package/dist/cjs/contracts.js +78 -0
- package/dist/cjs/contracts.js.map +1 -0
- package/dist/cjs/generated/juicebox.d.ts +79672 -0
- package/dist/cjs/generated/juicebox.d.ts.map +1 -0
- package/dist/cjs/generated/juicebox.js +62354 -0
- package/dist/cjs/generated/juicebox.js.map +1 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +9 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types.d.ts +120 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +31 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/contracts.d.ts +10 -0
- package/dist/cjs/utils/contracts.d.ts.map +1 -0
- package/dist/cjs/utils/contracts.js +28 -0
- package/dist/cjs/utils/contracts.js.map +1 -0
- package/dist/cjs/utils/data.d.ts +69 -0
- package/dist/cjs/utils/data.d.ts.map +1 -0
- package/dist/cjs/utils/data.js +80 -0
- package/dist/cjs/utils/data.js.map +1 -0
- package/dist/cjs/utils/data.test.d.ts +2 -0
- package/dist/cjs/utils/data.test.d.ts.map +1 -0
- package/dist/cjs/utils/data.test.js +25 -0
- package/dist/cjs/utils/data.test.js.map +1 -0
- package/dist/cjs/utils/debug.d.ts +2 -0
- package/dist/cjs/utils/debug.d.ts.map +1 -0
- package/dist/cjs/utils/debug.js +11 -0
- package/dist/cjs/utils/debug.js.map +1 -0
- package/dist/cjs/utils/deploy.d.ts +32 -0
- package/dist/cjs/utils/deploy.d.ts.map +1 -0
- package/dist/cjs/utils/deploy.js +62 -0
- package/dist/cjs/utils/deploy.js.map +1 -0
- package/dist/cjs/utils/deploy.test.d.ts +2 -0
- package/dist/cjs/utils/deploy.test.d.ts.map +1 -0
- package/dist/cjs/utils/deploy.test.js +22 -0
- package/dist/cjs/utils/deploy.test.js.map +1 -0
- package/dist/cjs/utils/fee.d.ts +2 -0
- package/dist/cjs/utils/fee.d.ts.map +1 -0
- package/dist/cjs/utils/fee.js +5 -0
- package/dist/cjs/utils/fee.js.map +1 -0
- package/dist/cjs/utils/fee.test.d.ts +2 -0
- package/dist/cjs/utils/fee.test.d.ts.map +1 -0
- package/dist/cjs/utils/fee.test.js +9 -0
- package/dist/cjs/utils/fee.test.js.map +1 -0
- package/dist/cjs/utils/format.d.ts +33 -0
- package/dist/cjs/utils/format.d.ts.map +1 -0
- package/dist/cjs/utils/format.js +48 -0
- package/dist/cjs/utils/format.js.map +1 -0
- package/dist/cjs/utils/format.test.d.ts +2 -0
- package/dist/cjs/utils/format.test.d.ts.map +1 -0
- package/dist/cjs/utils/format.test.js +25 -0
- package/dist/cjs/utils/format.test.js.map +1 -0
- package/dist/cjs/utils/hook.d.ts +9 -0
- package/dist/cjs/utils/hook.d.ts.map +1 -0
- package/dist/cjs/utils/hook.js +44 -0
- package/dist/cjs/utils/hook.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +13 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +13 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/ipfs.d.ts +12 -0
- package/dist/cjs/utils/ipfs.d.ts.map +1 -0
- package/dist/cjs/utils/ipfs.js +26 -0
- package/dist/cjs/utils/ipfs.js.map +1 -0
- package/dist/cjs/utils/ipfs.test.d.ts +2 -0
- package/dist/cjs/utils/ipfs.test.d.ts.map +1 -0
- package/dist/cjs/utils/ipfs.test.js +28 -0
- package/dist/cjs/utils/ipfs.test.js.map +1 -0
- package/dist/cjs/utils/revnet.d.ts +5 -0
- package/dist/cjs/utils/revnet.d.ts.map +1 -0
- package/dist/cjs/utils/revnet.js +26 -0
- package/dist/cjs/utils/revnet.js.map +1 -0
- package/dist/cjs/utils/revnet.test.d.ts +2 -0
- package/dist/cjs/utils/revnet.test.d.ts.map +1 -0
- package/dist/cjs/utils/revnet.test.js +10 -0
- package/dist/cjs/utils/revnet.test.js.map +1 -0
- package/dist/cjs/utils/ruleset.d.ts +18 -0
- package/dist/cjs/utils/ruleset.d.ts.map +1 -0
- package/dist/cjs/utils/ruleset.js +23 -0
- package/dist/cjs/utils/ruleset.js.map +1 -0
- package/dist/cjs/utils/ruleset.test.d.ts +2 -0
- package/dist/cjs/utils/ruleset.test.d.ts.map +1 -0
- package/dist/cjs/utils/ruleset.test.js +21 -0
- package/dist/cjs/utils/ruleset.test.js.map +1 -0
- package/dist/cjs/utils/token.d.ts +72 -0
- package/dist/cjs/utils/token.d.ts.map +1 -0
- package/dist/cjs/utils/token.js +129 -0
- package/dist/cjs/utils/token.js.map +1 -0
- package/dist/cjs/utils/token.test.d.ts +2 -0
- package/dist/cjs/utils/token.test.d.ts.map +1 -0
- package/dist/cjs/utils/token.test.js +38 -0
- package/dist/cjs/utils/token.test.js.map +1 -0
- package/dist/cjs/utils/tx.d.ts +2 -0
- package/dist/cjs/utils/tx.d.ts.map +1 -0
- package/dist/cjs/utils/tx.js +7 -0
- package/dist/cjs/utils/tx.js.map +1 -0
- package/dist/cjs/utils/urn.d.ts +8 -0
- package/dist/cjs/utils/urn.d.ts.map +1 -0
- package/dist/cjs/utils/urn.js +47 -0
- package/dist/cjs/utils/urn.js.map +1 -0
- package/dist/cjs/utils/urn.test.d.ts +2 -0
- package/dist/cjs/utils/urn.test.d.ts.map +1 -0
- package/dist/cjs/utils/urn.test.js +112 -0
- package/dist/cjs/utils/urn.test.js.map +1 -0
- package/dist/esm/actions/JBSuckerAbi.d.ts +32 -0
- package/dist/esm/actions/JBSuckerAbi.d.ts.map +1 -0
- package/dist/esm/actions/JBSuckerAbi.js +42 -0
- package/dist/esm/actions/JBSuckerAbi.js.map +1 -0
- package/dist/esm/actions/dataHook.d.ts +29 -0
- package/dist/esm/actions/dataHook.d.ts.map +1 -0
- package/dist/esm/actions/dataHook.js +81 -0
- package/dist/esm/actions/dataHook.js.map +1 -0
- package/dist/esm/actions/projectMetadata.d.ts +16 -0
- package/dist/esm/actions/projectMetadata.d.ts.map +1 -0
- package/dist/esm/actions/projectMetadata.js +37 -0
- package/dist/esm/actions/projectMetadata.js.map +1 -0
- package/dist/esm/actions/suckerPairs.d.ts +19 -0
- package/dist/esm/actions/suckerPairs.d.ts.map +1 -0
- package/dist/esm/actions/suckerPairs.js +71 -0
- package/dist/esm/actions/suckerPairs.js.map +1 -0
- package/dist/esm/constants.d.ts +126 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +229 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/contracts.d.ts +71 -0
- package/dist/esm/contracts.d.ts.map +1 -0
- package/dist/esm/contracts.js +78 -0
- package/dist/esm/contracts.js.map +1 -0
- package/dist/esm/generated/juicebox.d.ts +79672 -0
- package/dist/esm/generated/juicebox.d.ts.map +1 -0
- package/dist/esm/generated/juicebox.js +62354 -0
- package/dist/esm/generated/juicebox.js.map +1 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types.d.ts +120 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +31 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/contracts.d.ts +10 -0
- package/dist/esm/utils/contracts.d.ts.map +1 -0
- package/dist/esm/utils/contracts.js +28 -0
- package/dist/esm/utils/contracts.js.map +1 -0
- package/dist/esm/utils/data.d.ts +69 -0
- package/dist/esm/utils/data.d.ts.map +1 -0
- package/dist/esm/utils/data.js +80 -0
- package/dist/esm/utils/data.js.map +1 -0
- package/dist/esm/utils/data.test.d.ts +2 -0
- package/dist/esm/utils/data.test.d.ts.map +1 -0
- package/dist/esm/utils/data.test.js +25 -0
- package/dist/esm/utils/data.test.js.map +1 -0
- package/dist/esm/utils/debug.d.ts +2 -0
- package/dist/esm/utils/debug.d.ts.map +1 -0
- package/dist/esm/utils/debug.js +11 -0
- package/dist/esm/utils/debug.js.map +1 -0
- package/dist/esm/utils/deploy.d.ts +32 -0
- package/dist/esm/utils/deploy.d.ts.map +1 -0
- package/dist/esm/utils/deploy.js +62 -0
- package/dist/esm/utils/deploy.js.map +1 -0
- package/dist/esm/utils/deploy.test.d.ts +2 -0
- package/dist/esm/utils/deploy.test.d.ts.map +1 -0
- package/dist/esm/utils/deploy.test.js +22 -0
- package/dist/esm/utils/deploy.test.js.map +1 -0
- package/dist/esm/utils/fee.d.ts +2 -0
- package/dist/esm/utils/fee.d.ts.map +1 -0
- package/dist/esm/utils/fee.js +5 -0
- package/dist/esm/utils/fee.js.map +1 -0
- package/dist/esm/utils/fee.test.d.ts +2 -0
- package/dist/esm/utils/fee.test.d.ts.map +1 -0
- package/dist/esm/utils/fee.test.js +9 -0
- package/dist/esm/utils/fee.test.js.map +1 -0
- package/dist/esm/utils/format.d.ts +33 -0
- package/dist/esm/utils/format.d.ts.map +1 -0
- package/dist/esm/utils/format.js +48 -0
- package/dist/esm/utils/format.js.map +1 -0
- package/dist/esm/utils/format.test.d.ts +2 -0
- package/dist/esm/utils/format.test.d.ts.map +1 -0
- package/dist/esm/utils/format.test.js +25 -0
- package/dist/esm/utils/format.test.js.map +1 -0
- package/dist/esm/utils/hook.d.ts +9 -0
- package/dist/esm/utils/hook.d.ts.map +1 -0
- package/dist/esm/utils/hook.js +44 -0
- package/dist/esm/utils/hook.js.map +1 -0
- package/dist/esm/utils/index.d.ts +13 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +13 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/ipfs.d.ts +12 -0
- package/dist/esm/utils/ipfs.d.ts.map +1 -0
- package/dist/esm/utils/ipfs.js +26 -0
- package/dist/esm/utils/ipfs.js.map +1 -0
- package/dist/esm/utils/ipfs.test.d.ts +2 -0
- package/dist/esm/utils/ipfs.test.d.ts.map +1 -0
- package/dist/esm/utils/ipfs.test.js +28 -0
- package/dist/esm/utils/ipfs.test.js.map +1 -0
- package/dist/esm/utils/revnet.d.ts +5 -0
- package/dist/esm/utils/revnet.d.ts.map +1 -0
- package/dist/esm/utils/revnet.js +26 -0
- package/dist/esm/utils/revnet.js.map +1 -0
- package/dist/esm/utils/revnet.test.d.ts +2 -0
- package/dist/esm/utils/revnet.test.d.ts.map +1 -0
- package/dist/esm/utils/revnet.test.js +10 -0
- package/dist/esm/utils/revnet.test.js.map +1 -0
- package/dist/esm/utils/ruleset.d.ts +18 -0
- package/dist/esm/utils/ruleset.d.ts.map +1 -0
- package/dist/esm/utils/ruleset.js +23 -0
- package/dist/esm/utils/ruleset.js.map +1 -0
- package/dist/esm/utils/ruleset.test.d.ts +2 -0
- package/dist/esm/utils/ruleset.test.d.ts.map +1 -0
- package/dist/esm/utils/ruleset.test.js +21 -0
- package/dist/esm/utils/ruleset.test.js.map +1 -0
- package/dist/esm/utils/token.d.ts +72 -0
- package/dist/esm/utils/token.d.ts.map +1 -0
- package/dist/esm/utils/token.js +129 -0
- package/dist/esm/utils/token.js.map +1 -0
- package/dist/esm/utils/token.test.d.ts +2 -0
- package/dist/esm/utils/token.test.d.ts.map +1 -0
- package/dist/esm/utils/token.test.js +38 -0
- package/dist/esm/utils/token.test.js.map +1 -0
- package/dist/esm/utils/tx.d.ts +2 -0
- package/dist/esm/utils/tx.d.ts.map +1 -0
- package/dist/esm/utils/tx.js +7 -0
- package/dist/esm/utils/tx.js.map +1 -0
- package/dist/esm/utils/urn.d.ts +8 -0
- package/dist/esm/utils/urn.d.ts.map +1 -0
- package/dist/esm/utils/urn.js +47 -0
- package/dist/esm/utils/urn.js.map +1 -0
- package/dist/esm/utils/urn.test.d.ts +2 -0
- package/dist/esm/utils/urn.test.d.ts.map +1 -0
- package/dist/esm/utils/urn.test.js +112 -0
- package/dist/esm/utils/urn.test.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./actions/dataHook.js";
|
|
2
|
+
export * from "./actions/projectMetadata.js";
|
|
3
|
+
export * from "./actions/suckerPairs.js";
|
|
4
|
+
export * from "./constants.js";
|
|
5
|
+
export * from "./contracts.js";
|
|
6
|
+
export * from "./generated/juicebox.js";
|
|
7
|
+
export * from "./types.js";
|
|
8
|
+
export * from "./utils/index.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./actions/dataHook.js";
|
|
2
|
+
export * from "./actions/projectMetadata.js";
|
|
3
|
+
export * from "./actions/suckerPairs.js";
|
|
4
|
+
export * from "./constants.js";
|
|
5
|
+
export * from "./contracts.js";
|
|
6
|
+
export * from "./generated/juicebox.js";
|
|
7
|
+
export * from "./types.js";
|
|
8
|
+
export * from "./utils/index.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { ContractFunctionReturnType } from "viem";
|
|
2
|
+
import { jbControllerAbi, jbSplitsAbi } from "./generated/juicebox.js";
|
|
3
|
+
import { CashOutTaxRate, ReservedPercent, RulesetWeight, SplitPortion, WeightCutPercent } from "./utils/data.js";
|
|
4
|
+
import { SUPPORTED_CHAINS } from "./contracts.js";
|
|
5
|
+
export { JB721HookContracts, JBAddressRegistryContracts, JBBuybackHookContracts, JBCoreContracts, JBOmnichainDeployerContracts, JBRouterTerminalContracts, JBSuckerContracts, JBSwapTerminalContracts, JBVersion, } from "./contracts.js";
|
|
6
|
+
export type JBChainId = keyof typeof SUPPORTED_CHAINS;
|
|
7
|
+
export declare const projectTagOptions: readonly ["art", "business", "charity", "dao", "defi", "education", "events", "fundraising", "games", "music", "nfts", "social", "software"];
|
|
8
|
+
export type ProjectTagName = typeof projectTagOptions extends Readonly<Array<infer T>> ? T : never;
|
|
9
|
+
/**
|
|
10
|
+
* The metadata associated with a juicebox project.
|
|
11
|
+
*
|
|
12
|
+
* @interface
|
|
13
|
+
*/
|
|
14
|
+
export type JBProjectMetadata = {
|
|
15
|
+
/**
|
|
16
|
+
* The name of the project.
|
|
17
|
+
*/
|
|
18
|
+
name: string;
|
|
19
|
+
} & Partial<{
|
|
20
|
+
/**
|
|
21
|
+
* The description of the project. May be raw text or HTML.
|
|
22
|
+
*/
|
|
23
|
+
description: string;
|
|
24
|
+
/**
|
|
25
|
+
* The tagline of the project.
|
|
26
|
+
*/
|
|
27
|
+
projectTagline: string;
|
|
28
|
+
/**
|
|
29
|
+
* The URI of the project's cover image/banner. Typically ipfs://
|
|
30
|
+
*/
|
|
31
|
+
coverImageUri: string;
|
|
32
|
+
/**
|
|
33
|
+
* The URI of the project's logo. Typically ipfs://
|
|
34
|
+
*/
|
|
35
|
+
logoUri: string;
|
|
36
|
+
/**
|
|
37
|
+
* The project's website URL.
|
|
38
|
+
*/
|
|
39
|
+
infoUri: string;
|
|
40
|
+
/**
|
|
41
|
+
* Custom text for a project's pay button.
|
|
42
|
+
*/
|
|
43
|
+
payButton: string;
|
|
44
|
+
/**
|
|
45
|
+
* Custom text for a project to display to users before they pay.
|
|
46
|
+
*/
|
|
47
|
+
payDisclosure: string;
|
|
48
|
+
/**
|
|
49
|
+
* Flag indiciating if a project has been archived.
|
|
50
|
+
*/
|
|
51
|
+
archived: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* List of tags for the project.
|
|
54
|
+
*/
|
|
55
|
+
tags: ProjectTagName[];
|
|
56
|
+
telegram: string;
|
|
57
|
+
twitter: string;
|
|
58
|
+
discord: string;
|
|
59
|
+
/**
|
|
60
|
+
* Juicecrowd data
|
|
61
|
+
*/
|
|
62
|
+
introVideoUrl: string;
|
|
63
|
+
introImageUri: string;
|
|
64
|
+
softTargetAmount: string;
|
|
65
|
+
softTargetCurrency: string;
|
|
66
|
+
projectRequiredOFACCheck?: boolean;
|
|
67
|
+
}>;
|
|
68
|
+
export type JBSplit = Omit<ContractFunctionReturnType<typeof jbSplitsAbi, "view", "splitsOf">[number], "percent"> & {
|
|
69
|
+
percent: SplitPortion;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* The type of split.
|
|
73
|
+
*/
|
|
74
|
+
export declare enum SplitGroup {
|
|
75
|
+
/**
|
|
76
|
+
* Splits that are paid out in ETH.
|
|
77
|
+
*/
|
|
78
|
+
ETHPayout = 1,
|
|
79
|
+
/**
|
|
80
|
+
* Splits that are reserved for a project's token.
|
|
81
|
+
*/
|
|
82
|
+
ReservedTokens = 2
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Contractual groups of splits.
|
|
86
|
+
*/
|
|
87
|
+
export interface GroupedSplits<G> {
|
|
88
|
+
/**
|
|
89
|
+
* The group type of the splits.
|
|
90
|
+
*/
|
|
91
|
+
group: G;
|
|
92
|
+
/**
|
|
93
|
+
* The splits.
|
|
94
|
+
*/
|
|
95
|
+
splits: JBSplit[];
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Splits that are paid out in ETH.
|
|
99
|
+
*/
|
|
100
|
+
export type ETHPayoutGroupedSplits = GroupedSplits<SplitGroup.ETHPayout>;
|
|
101
|
+
/**
|
|
102
|
+
* Splits for a project's reserved token list.
|
|
103
|
+
*/
|
|
104
|
+
export type ReservedTokensGroupedSplits = GroupedSplits<SplitGroup.ReservedTokens>;
|
|
105
|
+
export type JBRuleset = ContractFunctionReturnType<typeof jbControllerAbi, "view", "currentRulesetOf">;
|
|
106
|
+
/**
|
|
107
|
+
* Juicebox ruleset.
|
|
108
|
+
*/
|
|
109
|
+
export type JBRulesetData = Omit<JBRuleset[0], "weight" | "weightCutPercent"> & {
|
|
110
|
+
weight: RulesetWeight;
|
|
111
|
+
weightCutPercent: WeightCutPercent;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Juicebox ruleset metadata.
|
|
115
|
+
*/
|
|
116
|
+
export type JBRulesetMetadata = Omit<JBRuleset[1], "cashOutTaxRate" | "reservedPercent"> & {
|
|
117
|
+
cashOutTaxRate: CashOutTaxRate;
|
|
118
|
+
reservedPercent: ReservedPercent;
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export { JB721HookContracts, JBAddressRegistryContracts, JBBuybackHookContracts, JBCoreContracts, JBOmnichainDeployerContracts, JBRouterTerminalContracts, JBSuckerContracts, JBSwapTerminalContracts, } from "./contracts.js";
|
|
2
|
+
export const projectTagOptions = [
|
|
3
|
+
"art",
|
|
4
|
+
"business",
|
|
5
|
+
"charity",
|
|
6
|
+
"dao",
|
|
7
|
+
"defi",
|
|
8
|
+
"education",
|
|
9
|
+
"events",
|
|
10
|
+
"fundraising",
|
|
11
|
+
"games",
|
|
12
|
+
"music",
|
|
13
|
+
"nfts",
|
|
14
|
+
"social",
|
|
15
|
+
"software",
|
|
16
|
+
];
|
|
17
|
+
/**
|
|
18
|
+
* The type of split.
|
|
19
|
+
*/
|
|
20
|
+
export var SplitGroup;
|
|
21
|
+
(function (SplitGroup) {
|
|
22
|
+
/**
|
|
23
|
+
* Splits that are paid out in ETH.
|
|
24
|
+
*/
|
|
25
|
+
SplitGroup[SplitGroup["ETHPayout"] = 1] = "ETHPayout";
|
|
26
|
+
/**
|
|
27
|
+
* Splits that are reserved for a project's token.
|
|
28
|
+
*/
|
|
29
|
+
SplitGroup[SplitGroup["ReservedTokens"] = 2] = "ReservedTokens";
|
|
30
|
+
})(SplitGroup || (SplitGroup = {}));
|
|
31
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,4BAA4B,EAC5B,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK;IACL,UAAU;IACV,SAAS;IACT,KAAK;IACL,MAAM;IACN,WAAW;IACX,QAAQ;IACR,aAAa;IACb,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,UAAU;CACF,CAAC;AAyEX;;GAEG;AACH,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IACpB;;OAEG;IACH,qDAAa,CAAA;IACb;;OAEG;IACH,+DAAkB,CAAA;AACpB,CAAC,EATW,UAAU,KAAV,UAAU,QASrB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useConfig } from "wagmi";
|
|
2
|
+
import { JBVersion } from "../contracts.js";
|
|
3
|
+
import { jbContractAddress } from "../generated/juicebox.js";
|
|
4
|
+
import { JBChainId } from "../types.js";
|
|
5
|
+
type ContractsForVersion<V extends JBVersion> = V extends 4 ? keyof (typeof jbContractAddress)["4"] : V extends 5 ? keyof (typeof jbContractAddress)["5"] : V extends 6 ? keyof (typeof jbContractAddress)["6"] : never;
|
|
6
|
+
export declare function getJBContractAddress<V extends JBVersion>(contract: ContractsForVersion<V>, version: V, chainId: JBChainId): `0x${string}`;
|
|
7
|
+
export declare function getProjectTerminalStore(chainId: JBChainId, version: JBVersion): `0x${string}`;
|
|
8
|
+
export declare function getPrimaryNativeTerminal(config: ReturnType<typeof useConfig>, chainId: JBChainId, projectId: bigint, version: JBVersion): Promise<`0x${string}`>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/utils/contracts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAkB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,KAAK,mBAAmB,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,CAAC,GACvD,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,CAAC,SAAS,CAAC,GACT,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,CAAC,SAAS,CAAC,GACT,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,KAAK,CAAC;AAEd,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,EACtD,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAChC,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,SAAS,GACjB,KAAK,MAAM,EAAE,CAKf;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,iBAOnB;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EACpC,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,0BAqBnB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { getContract, zeroAddress } from "viem";
|
|
2
|
+
import { NATIVE_TOKEN, USDC_ADDRESSES } from "../constants.js";
|
|
3
|
+
import { JBCoreContracts } from "../contracts.js";
|
|
4
|
+
import { jbContractAddress, jbDirectoryAbi } from "../generated/juicebox.js";
|
|
5
|
+
export function getJBContractAddress(contract, version, chainId) {
|
|
6
|
+
const versionKey = version.toString();
|
|
7
|
+
const chainKey = chainId.toString();
|
|
8
|
+
return jbContractAddress[versionKey]?.[contract]?.[chainKey];
|
|
9
|
+
}
|
|
10
|
+
export function getProjectTerminalStore(chainId, version) {
|
|
11
|
+
return getJBContractAddress(JBCoreContracts.JBTerminalStore, version, chainId);
|
|
12
|
+
}
|
|
13
|
+
export async function getPrimaryNativeTerminal(config, chainId, projectId, version) {
|
|
14
|
+
const client = config.getClient({ chainId: Number(chainId) });
|
|
15
|
+
const address = getJBContractAddress(JBCoreContracts.JBDirectory, version, chainId);
|
|
16
|
+
const directory = getContract({ address, abi: jbDirectoryAbi, client });
|
|
17
|
+
const primaryNativeTerminal = await directory.read.primaryTerminalOf([
|
|
18
|
+
projectId,
|
|
19
|
+
NATIVE_TOKEN,
|
|
20
|
+
]);
|
|
21
|
+
if (primaryNativeTerminal !== zeroAddress)
|
|
22
|
+
return primaryNativeTerminal;
|
|
23
|
+
return await directory.read.primaryTerminalOf([
|
|
24
|
+
projectId,
|
|
25
|
+
USDC_ADDRESSES[chainId],
|
|
26
|
+
]);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/utils/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,WAAW,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAa,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAY7E,MAAM,UAAU,oBAAoB,CAClC,QAAgC,EAChC,OAAU,EACV,OAAkB;IAElB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAoC,CAAC;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAEpC,OAAQ,iBAAiB,CAAC,UAAU,CAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAkB,EAClB,OAAkB;IAElB,OAAO,oBAAoB,CACzB,eAAe,CAAC,eAAe,EAC/B,OAAO,EACP,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAoC,EACpC,OAAkB,EAClB,SAAiB,EACjB,OAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAiB,CAAC;IAE9E,MAAM,OAAO,GAAG,oBAAoB,CAClC,eAAe,CAAC,WAAW,EAC3B,OAAO,EACP,OAAO,CACR,CAAC;IACF,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAExE,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACnE,SAAS;QACT,YAAY;KACb,CAAC,CAAC;IACH,IAAI,qBAAqB,KAAK,WAAW;QAAE,OAAO,qBAAqB,CAAC;IAExE,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC5C,SAAS;QACT,cAAc,CAAC,OAAO,CAAC;KACxB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { FixedInt, FixedPortion } from "fpnum";
|
|
2
|
+
/**
|
|
3
|
+
* Reserved rate for a ruleset.
|
|
4
|
+
*
|
|
5
|
+
* Has a decimal precision of 4 and a maximum value of 10,000.
|
|
6
|
+
*
|
|
7
|
+
* @extends FixedPortion
|
|
8
|
+
*/
|
|
9
|
+
export declare class ReservedPercent extends FixedPortion<4> {
|
|
10
|
+
constructor(value: number);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Cash Out Tax Rate for a ruleset.
|
|
14
|
+
*
|
|
15
|
+
* Has a decimal precision of 4 and a maximum value of 10,000.
|
|
16
|
+
|
|
17
|
+
* @extends FixedPortion
|
|
18
|
+
*/
|
|
19
|
+
export declare class CashOutTaxRate extends FixedPortion<4> {
|
|
20
|
+
constructor(value: number);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Decay rate for a ruleset.
|
|
24
|
+
*
|
|
25
|
+
* Has a decimal precision of 9 and a maximum value of 1,000,000,000.
|
|
26
|
+
|
|
27
|
+
* @extends FixedPortion
|
|
28
|
+
*/
|
|
29
|
+
export declare class WeightCutPercent extends FixedPortion<9> {
|
|
30
|
+
constructor(value: number);
|
|
31
|
+
}
|
|
32
|
+
export declare class SplitPortion extends FixedPortion<9> {
|
|
33
|
+
constructor(value: number);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Ether value.
|
|
37
|
+
*
|
|
38
|
+
* Has a decimal precision of 18.
|
|
39
|
+
*
|
|
40
|
+
* @extends FixedInt
|
|
41
|
+
*/
|
|
42
|
+
export declare class Ether extends FixedInt<18> {
|
|
43
|
+
constructor(value: bigint);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* A JB project's token.
|
|
47
|
+
*
|
|
48
|
+
* Has a decimal precision of 18.
|
|
49
|
+
*
|
|
50
|
+
* @extends FixedInt
|
|
51
|
+
*/
|
|
52
|
+
export declare class JBProjectToken extends FixedInt<18> {
|
|
53
|
+
constructor(value: bigint);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* ruleset weight.
|
|
57
|
+
*
|
|
58
|
+
* Has a decimal precision of 18.
|
|
59
|
+
*
|
|
60
|
+
* @extends FixedInt
|
|
61
|
+
*/
|
|
62
|
+
export declare class RulesetWeight extends FixedInt<18> {
|
|
63
|
+
constructor(value: bigint);
|
|
64
|
+
}
|
|
65
|
+
export interface TokenAmountType {
|
|
66
|
+
symbol: string | undefined;
|
|
67
|
+
amount: FixedInt<number>;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/utils/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAQ/C;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,YAAY,CAAC,CAAC,CAAC;gBACtC,KAAK,EAAE,MAAM;CAG1B;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,YAAY,CAAC,CAAC,CAAC;gBACrC,KAAK,EAAE,MAAM;CAG1B;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,CAAC,CAAC;gBACvC,KAAK,EAAE,MAAM;CAG1B;AAED,qBAAa,YAAa,SAAQ,YAAY,CAAC,CAAC,CAAC;gBACnC,KAAK,EAAE,MAAM;CAG1B;AAED;;;;;;GAMG;AACH,qBAAa,KAAM,SAAQ,QAAQ,CAAC,EAAE,CAAC;gBACzB,KAAK,EAAE,MAAM;CAG1B;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,QAAQ,CAAC,EAAE,CAAC;gBAClC,KAAK,EAAE,MAAM;CAG1B;AAED;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,QAAQ,CAAC,EAAE,CAAC;gBACjC,KAAK,EAAE,MAAM;CAG1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC1B"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { FixedInt, FixedPortion } from "fpnum";
|
|
2
|
+
import { MAX_WEIGHT_CUT_PERCENT, MAX_CASH_OUT_TAX_RATE, MAX_RESERVED_PERCENT, SPLITS_TOTAL_PERCENT, } from "../constants.js";
|
|
3
|
+
/**
|
|
4
|
+
* Reserved rate for a ruleset.
|
|
5
|
+
*
|
|
6
|
+
* Has a decimal precision of 4 and a maximum value of 10,000.
|
|
7
|
+
*
|
|
8
|
+
* @extends FixedPortion
|
|
9
|
+
*/
|
|
10
|
+
export class ReservedPercent extends FixedPortion {
|
|
11
|
+
constructor(value) {
|
|
12
|
+
super(BigInt(value), 4, BigInt(MAX_RESERVED_PERCENT));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Cash Out Tax Rate for a ruleset.
|
|
17
|
+
*
|
|
18
|
+
* Has a decimal precision of 4 and a maximum value of 10,000.
|
|
19
|
+
|
|
20
|
+
* @extends FixedPortion
|
|
21
|
+
*/
|
|
22
|
+
export class CashOutTaxRate extends FixedPortion {
|
|
23
|
+
constructor(value) {
|
|
24
|
+
super(BigInt(value), 4, BigInt(MAX_CASH_OUT_TAX_RATE));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Decay rate for a ruleset.
|
|
29
|
+
*
|
|
30
|
+
* Has a decimal precision of 9 and a maximum value of 1,000,000,000.
|
|
31
|
+
|
|
32
|
+
* @extends FixedPortion
|
|
33
|
+
*/
|
|
34
|
+
export class WeightCutPercent extends FixedPortion {
|
|
35
|
+
constructor(value) {
|
|
36
|
+
super(BigInt(value), 9, BigInt(MAX_WEIGHT_CUT_PERCENT));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class SplitPortion extends FixedPortion {
|
|
40
|
+
constructor(value) {
|
|
41
|
+
super(BigInt(value), 9, BigInt(SPLITS_TOTAL_PERCENT));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Ether value.
|
|
46
|
+
*
|
|
47
|
+
* Has a decimal precision of 18.
|
|
48
|
+
*
|
|
49
|
+
* @extends FixedInt
|
|
50
|
+
*/
|
|
51
|
+
export class Ether extends FixedInt {
|
|
52
|
+
constructor(value) {
|
|
53
|
+
super(value, 18);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A JB project's token.
|
|
58
|
+
*
|
|
59
|
+
* Has a decimal precision of 18.
|
|
60
|
+
*
|
|
61
|
+
* @extends FixedInt
|
|
62
|
+
*/
|
|
63
|
+
export class JBProjectToken extends FixedInt {
|
|
64
|
+
constructor(value) {
|
|
65
|
+
super(value, 18);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* ruleset weight.
|
|
70
|
+
*
|
|
71
|
+
* Has a decimal precision of 18.
|
|
72
|
+
*
|
|
73
|
+
* @extends FixedInt
|
|
74
|
+
*/
|
|
75
|
+
export class RulesetWeight extends FixedInt {
|
|
76
|
+
constructor(value) {
|
|
77
|
+
super(value, 18);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/utils/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,MAAM,OAAO,eAAgB,SAAQ,YAAe;IAClD,YAAY,KAAa;QACvB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACxD,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAe;IACjD,YAAY,KAAa;QACvB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAe;IACnD,YAAY,KAAa;QACvB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,YAAe;IAC/C,YAAY,KAAa;QACvB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACxD,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,KAAM,SAAQ,QAAY;IACrC,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnB,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,cAAe,SAAQ,QAAY;IAC9C,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnB,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,aAAc,SAAQ,QAAY;IAC7C,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.test.d.ts","sourceRoot":"","sources":["../../../src/utils/data.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { describe, expect, test } from 'vitest';
|
|
2
|
+
import { WeightCutPercent, ReservedPercent } from "./data.js";
|
|
3
|
+
describe("jb", () => {
|
|
4
|
+
test("reserved rate", () => {
|
|
5
|
+
const reservedPercentRaw = 2_345; // 23.45%
|
|
6
|
+
const reservedPercent = new ReservedPercent(reservedPercentRaw);
|
|
7
|
+
expect(reservedPercent.format()).toEqual("0.2345");
|
|
8
|
+
expect(reservedPercent.toFloat()).toEqual(0.2345);
|
|
9
|
+
reservedPercent.setPercentage(0.5);
|
|
10
|
+
expect(reservedPercent.format()).toEqual("0.5");
|
|
11
|
+
expect(reservedPercent.formatPercentage()).toEqual(50);
|
|
12
|
+
expect(reservedPercent.value).toEqual(5000n);
|
|
13
|
+
});
|
|
14
|
+
test("decay rate", () => {
|
|
15
|
+
const weightCutPercentRaw = 200_000_000; // 20%
|
|
16
|
+
const weightCutPercent = new WeightCutPercent(weightCutPercentRaw);
|
|
17
|
+
expect(weightCutPercent.format()).toEqual("0.2");
|
|
18
|
+
expect(weightCutPercent.toFloat()).toEqual(0.2);
|
|
19
|
+
weightCutPercent.setPercentage(0.5123);
|
|
20
|
+
expect(weightCutPercent.format()).toEqual("0.5123");
|
|
21
|
+
expect(weightCutPercent.formatPercentage()).toEqual(51.23);
|
|
22
|
+
expect(weightCutPercent.value).toEqual(512300000n);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=data.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../../src/utils/data.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE9D,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;IAClB,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;QACzB,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,SAAS;QAC3C,MAAM,eAAe,GAAoB,IAAI,eAAe,CAAC,kBAAkB,CAAC,CAAC;QACjF,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAElD,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;QACtB,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,MAAM;QAC/C,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QACnE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEhD,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAY,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/utils/debug.ts"],"names":[],"mappings":"AAMA,wBAAgB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,QAInC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const DEBUG_ENV_VARS = [
|
|
2
|
+
"JUICE_SDK_DEBUG",
|
|
3
|
+
"REACT_APP_JUICE_SDK_DEBUG",
|
|
4
|
+
"NEXT_PUBLIC_JUICE_SDK_DEBUG",
|
|
5
|
+
];
|
|
6
|
+
export function debug(...args) {
|
|
7
|
+
if (DEBUG_ENV_VARS.some((envVar) => process.env[envVar] === "true")) {
|
|
8
|
+
console.debug("🧃", ...args);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/utils/debug.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;IACrB,iBAAiB;IACjB,2BAA2B;IAC3B,6BAA6B;CAC9B,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,GAAG,IAAW;IAClC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { JBChainId, JBVersion } from "../types.js";
|
|
2
|
+
export declare enum MappableAsset {
|
|
3
|
+
NATIVE = 0,
|
|
4
|
+
USDC = 1
|
|
5
|
+
}
|
|
6
|
+
export declare function parseSuckerDeployerConfig(targetChainId: JBChainId, chains: JBChainId[], assets?: MappableAsset[], opts?: {
|
|
7
|
+
salt?: `0x${string}`;
|
|
8
|
+
/**
|
|
9
|
+
* The JB protocol version being deployed. Defaults to 5, which is also used for v4 deployments.
|
|
10
|
+
*/
|
|
11
|
+
version?: JBVersion;
|
|
12
|
+
}): {
|
|
13
|
+
deployerConfigurations: {
|
|
14
|
+
deployer: `0x${string}`;
|
|
15
|
+
peer: "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
16
|
+
mappings: {
|
|
17
|
+
localToken: `0x${string}`;
|
|
18
|
+
minGas: number;
|
|
19
|
+
remoteToken: `0x${string}`;
|
|
20
|
+
}[];
|
|
21
|
+
}[] | {
|
|
22
|
+
deployer: `0x${string}`;
|
|
23
|
+
mappings: {
|
|
24
|
+
minGas: number;
|
|
25
|
+
minBridgeAmount: bigint;
|
|
26
|
+
localToken: `0x${string}`;
|
|
27
|
+
remoteToken: `0x${string}`;
|
|
28
|
+
}[];
|
|
29
|
+
}[];
|
|
30
|
+
salt: `0x${string}`;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQnD,oBAAY,aAAa;IACvB,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,GAAE,aAAa,EAA2B,EAChD,IAAI,GAAE;IACJ,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;CAChB;;;;;;;;;;;;;;;;;;;EAuDP"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { pad, zeroHash } from "viem";
|
|
2
|
+
import { CCIP_SUCKER_DEPLOYER_ADDRESSES, NATIVE_TOKEN, USDC_ADDRESSES, } from "../constants.js";
|
|
3
|
+
import { createSalt } from "./tx.js";
|
|
4
|
+
// NOTE: A default of `0` is safe as long as we are deploying CCIP suckers, this is not a safe default for non-ccip suckers.
|
|
5
|
+
// Currently the SDK is only able to deploy CCIP suckers so this is a safe default, but in case that changes this should be refactored.
|
|
6
|
+
const DEFAULT_MIN_BRIDGE_AMOUNT = BigInt(0);
|
|
7
|
+
// Assets that the SDK has built-in support for mapping.
|
|
8
|
+
export var MappableAsset;
|
|
9
|
+
(function (MappableAsset) {
|
|
10
|
+
MappableAsset[MappableAsset["NATIVE"] = 0] = "NATIVE";
|
|
11
|
+
MappableAsset[MappableAsset["USDC"] = 1] = "USDC";
|
|
12
|
+
})(MappableAsset || (MappableAsset = {}));
|
|
13
|
+
export function parseSuckerDeployerConfig(targetChainId, chains, assets = [MappableAsset.NATIVE], opts = {}) {
|
|
14
|
+
const deployerAddresses = CCIP_SUCKER_DEPLOYER_ADDRESSES[opts.version === 6 ? 6 : 5];
|
|
15
|
+
const suckerChains = chains.filter((chainId) => chainId !== targetChainId);
|
|
16
|
+
const getDeployer = (chainId) => {
|
|
17
|
+
const deployer = deployerAddresses[targetChainId]?.[chainId];
|
|
18
|
+
if (!deployer) {
|
|
19
|
+
throw new Error(`No deployer found for ${targetChainId} -> ${chainId}`);
|
|
20
|
+
}
|
|
21
|
+
return deployer;
|
|
22
|
+
};
|
|
23
|
+
const getTokens = (asset, chainId) => {
|
|
24
|
+
switch (asset) {
|
|
25
|
+
case MappableAsset.NATIVE:
|
|
26
|
+
return { localToken: NATIVE_TOKEN, remoteToken: NATIVE_TOKEN };
|
|
27
|
+
case MappableAsset.USDC:
|
|
28
|
+
return {
|
|
29
|
+
localToken: USDC_ADDRESSES[targetChainId],
|
|
30
|
+
remoteToken: USDC_ADDRESSES[chainId],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
// v6 configs identify remote tokens/peers as bytes32 (a zero peer means the default
|
|
35
|
+
// same-address deterministic peer), and no longer take a min bridge amount.
|
|
36
|
+
const deployerConfigurations = opts.version === 6
|
|
37
|
+
? suckerChains.map((chainId) => ({
|
|
38
|
+
deployer: getDeployer(chainId),
|
|
39
|
+
peer: zeroHash,
|
|
40
|
+
mappings: assets.map((asset) => {
|
|
41
|
+
const { localToken, remoteToken } = getTokens(asset, chainId);
|
|
42
|
+
return {
|
|
43
|
+
localToken,
|
|
44
|
+
minGas: 200_000,
|
|
45
|
+
remoteToken: pad(remoteToken),
|
|
46
|
+
};
|
|
47
|
+
}),
|
|
48
|
+
}))
|
|
49
|
+
: suckerChains.map((chainId) => ({
|
|
50
|
+
deployer: getDeployer(chainId),
|
|
51
|
+
mappings: assets.map((asset) => ({
|
|
52
|
+
...getTokens(asset, chainId),
|
|
53
|
+
minGas: 200_000,
|
|
54
|
+
minBridgeAmount: DEFAULT_MIN_BRIDGE_AMOUNT,
|
|
55
|
+
})),
|
|
56
|
+
}));
|
|
57
|
+
return {
|
|
58
|
+
deployerConfigurations,
|
|
59
|
+
salt: opts.salt ?? createSalt(),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/utils/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.test.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { describe, expect, test } from "vitest";
|
|
2
|
+
import { parseSuckerDeployerConfig, MappableAsset } from "./deploy.js";
|
|
3
|
+
import { arbitrum, base, mainnet, optimism } from "viem/chains";
|
|
4
|
+
import { createSalt } from "./tx.js";
|
|
5
|
+
describe("sucker parsing", () => {
|
|
6
|
+
test("ouputs correct amount of sucker configurations and mappings", () => {
|
|
7
|
+
const result = parseSuckerDeployerConfig(mainnet.id, [optimism.id, arbitrum.id, base.id], [MappableAsset.USDC, MappableAsset.NATIVE]);
|
|
8
|
+
// Should be 3 deployer configurations, one for each chain that is being connected to mainnet.
|
|
9
|
+
expect(result.deployerConfigurations.length).toBe(3);
|
|
10
|
+
// Each configuration should have 2 mappings, one for USDC and one for NATIVE.
|
|
11
|
+
result.deployerConfigurations.map((conf) => {
|
|
12
|
+
expect(conf.mappings.length).toBe(2);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
test("keeps salt if passed in explicitly", () => {
|
|
16
|
+
const salt = createSalt();
|
|
17
|
+
const result = parseSuckerDeployerConfig(mainnet.id, [optimism.id, arbitrum.id, base.id], [MappableAsset.NATIVE], { salt: salt });
|
|
18
|
+
// Salt should be the same as the one we passed in.
|
|
19
|
+
expect(result.salt).toBe(salt);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=deploy.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.test.js","sourceRoot":"","sources":["../../../src/utils/deploy.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACvE,MAAM,MAAM,GAAG,yBAAyB,CACtC,OAAO,CAAC,EAAE,EACV,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EACnC,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAC3C,CAAC;QAEF,8FAA8F;QAC9F,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErD,8EAA8E;QAC9E,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,yBAAyB,CACtC,OAAO,CAAC,EAAE,EACV,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EACnC,CAAC,aAAa,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QAEF,mDAAmD;QACnD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../../src/utils/fee.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,UAI1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../src/utils/fee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAAC,cAAsB;IACzD,OAAO,CACL,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAC1E,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee.test.d.ts","sourceRoot":"","sources":["../../../src/utils/fee.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ONE_ETHER } from "../constants.js";
|
|
2
|
+
import { describe, expect, test } from "vitest";
|
|
3
|
+
import { applyJbDaoCashOutFee } from "./fee.js";
|
|
4
|
+
describe("fee", () => {
|
|
5
|
+
test("applyJbDaoCashOutFee", () => {
|
|
6
|
+
expect(applyJbDaoCashOutFee(ONE_ETHER)).toEqual(975000000000000000n);
|
|
7
|
+
});
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=fee.test.js.map
|