@bananapus/nana-sdk-core 2.17.0 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/cjs/constants.d.ts +1 -13
  2. package/dist/cjs/constants.d.ts.map +1 -1
  3. package/dist/cjs/constants.js +4 -22
  4. package/dist/cjs/constants.js.map +1 -1
  5. package/dist/cjs/generated/abi/jbBuybackHookAbi.d.ts +1187 -0
  6. package/dist/cjs/generated/abi/jbBuybackHookAbi.d.ts.map +1 -0
  7. package/dist/cjs/generated/abi/jbBuybackHookAbi.js +841 -0
  8. package/dist/cjs/generated/abi/jbBuybackHookAbi.js.map +1 -0
  9. package/dist/cjs/generated/abi/jbBuybackHookRegistryAbi.d.ts +791 -0
  10. package/dist/cjs/generated/abi/jbBuybackHookRegistryAbi.d.ts.map +1 -0
  11. package/dist/cjs/generated/abi/jbBuybackHookRegistryAbi.js +632 -0
  12. package/dist/cjs/generated/abi/jbBuybackHookRegistryAbi.js.map +1 -0
  13. package/dist/cjs/generated/abi/jbControllerAbi.d.ts +2569 -0
  14. package/dist/cjs/generated/abi/jbControllerAbi.d.ts.map +1 -0
  15. package/dist/cjs/generated/abi/jbControllerAbi.js +1906 -0
  16. package/dist/cjs/generated/abi/jbControllerAbi.js.map +1 -0
  17. package/dist/cjs/generated/abi/jbDirectoryAbi.d.ts +410 -0
  18. package/dist/cjs/generated/abi/jbDirectoryAbi.d.ts.map +1 -0
  19. package/dist/cjs/generated/abi/jbDirectoryAbi.js +365 -0
  20. package/dist/cjs/generated/abi/jbDirectoryAbi.js.map +1 -0
  21. package/dist/cjs/generated/abi/jbMultiTerminalAbi.d.ts +1863 -0
  22. package/dist/cjs/generated/abi/jbMultiTerminalAbi.d.ts.map +1 -0
  23. package/dist/cjs/generated/abi/jbMultiTerminalAbi.js +1459 -0
  24. package/dist/cjs/generated/abi/jbMultiTerminalAbi.js.map +1 -0
  25. package/dist/cjs/generated/abi/jbPermissionsAbi.d.ts +240 -0
  26. package/dist/cjs/generated/abi/jbPermissionsAbi.d.ts.map +1 -0
  27. package/dist/cjs/generated/abi/jbPermissionsAbi.js +164 -0
  28. package/dist/cjs/generated/abi/jbPermissionsAbi.js.map +1 -0
  29. package/dist/cjs/generated/abi/jbProjectsAbi.d.ts +626 -0
  30. package/dist/cjs/generated/abi/jbProjectsAbi.d.ts.map +1 -0
  31. package/dist/cjs/generated/abi/jbProjectsAbi.js +470 -0
  32. package/dist/cjs/generated/abi/jbProjectsAbi.js.map +1 -0
  33. package/dist/cjs/generated/abi/jbRouterTerminalGatewayAbi.d.ts +1503 -0
  34. package/dist/cjs/generated/abi/jbRouterTerminalGatewayAbi.d.ts.map +1 -0
  35. package/dist/cjs/generated/abi/jbRouterTerminalGatewayAbi.js +1037 -0
  36. package/dist/cjs/generated/abi/jbRouterTerminalGatewayAbi.js.map +1 -0
  37. package/dist/cjs/generated/abi/jbRouterTerminalRegistryAbi.d.ts +1119 -0
  38. package/dist/cjs/generated/abi/jbRouterTerminalRegistryAbi.d.ts.map +1 -0
  39. package/dist/cjs/generated/abi/jbRouterTerminalRegistryAbi.js +925 -0
  40. package/dist/cjs/generated/abi/jbRouterTerminalRegistryAbi.js.map +1 -0
  41. package/dist/cjs/generated/abi/jbSplitsAbi.d.ts +244 -0
  42. package/dist/cjs/generated/abi/jbSplitsAbi.d.ts.map +1 -0
  43. package/dist/cjs/generated/abi/jbSplitsAbi.js +198 -0
  44. package/dist/cjs/generated/abi/jbSplitsAbi.js.map +1 -0
  45. package/dist/cjs/generated/abi/jbTokensAbi.d.ts +602 -0
  46. package/dist/cjs/generated/abi/jbTokensAbi.d.ts.map +1 -0
  47. package/dist/cjs/generated/abi/jbTokensAbi.js +501 -0
  48. package/dist/cjs/generated/abi/jbTokensAbi.js.map +1 -0
  49. package/dist/cjs/generated/juicebox.d.ts +25405 -36537
  50. package/dist/cjs/generated/juicebox.d.ts.map +1 -1
  51. package/dist/cjs/generated/juicebox.js +14362 -22761
  52. package/dist/cjs/generated/juicebox.js.map +1 -1
  53. package/dist/cjs/pureConstants.d.ts +15 -0
  54. package/dist/cjs/pureConstants.d.ts.map +1 -0
  55. package/dist/cjs/pureConstants.js +28 -0
  56. package/dist/cjs/pureConstants.js.map +1 -0
  57. package/dist/cjs/review/decode.d.ts.map +1 -1
  58. package/dist/cjs/review/decode.js +35 -51
  59. package/dist/cjs/review/decode.js.map +1 -1
  60. package/dist/cjs/review/relayr.d.ts.map +1 -1
  61. package/dist/cjs/review/relayr.js +11 -31
  62. package/dist/cjs/review/relayr.js.map +1 -1
  63. package/dist/cjs/safe.d.ts +376 -8
  64. package/dist/cjs/safe.d.ts.map +1 -1
  65. package/dist/cjs/safe.js +1088 -29
  66. package/dist/cjs/safe.js.map +1 -1
  67. package/dist/cjs/safeService.d.ts +361 -1
  68. package/dist/cjs/safeService.d.ts.map +1 -1
  69. package/dist/cjs/safeService.js +844 -6
  70. package/dist/cjs/safeService.js.map +1 -1
  71. package/dist/cjs/untrusted.d.ts +8 -0
  72. package/dist/cjs/untrusted.d.ts.map +1 -0
  73. package/dist/cjs/untrusted.js +33 -0
  74. package/dist/cjs/untrusted.js.map +1 -0
  75. package/dist/cjs/v6/distributions.d.ts +90 -0
  76. package/dist/cjs/v6/distributions.d.ts.map +1 -0
  77. package/dist/cjs/v6/distributions.js +287 -0
  78. package/dist/cjs/v6/distributions.js.map +1 -0
  79. package/dist/cjs/v6/index.d.ts +1 -0
  80. package/dist/cjs/v6/index.d.ts.map +1 -1
  81. package/dist/cjs/v6/index.js +1 -0
  82. package/dist/cjs/v6/index.js.map +1 -1
  83. package/dist/cjs/v6/permissionIds.d.ts +62 -0
  84. package/dist/cjs/v6/permissionIds.d.ts.map +1 -0
  85. package/dist/cjs/v6/permissionIds.js +70 -0
  86. package/dist/cjs/v6/permissionIds.js.map +1 -0
  87. package/dist/cjs/v6/permissions.d.ts +3 -62
  88. package/dist/cjs/v6/permissions.d.ts.map +1 -1
  89. package/dist/cjs/v6/permissions.js +6 -67
  90. package/dist/cjs/v6/permissions.js.map +1 -1
  91. package/dist/cjs/v6/splits.d.ts +1 -1
  92. package/dist/cjs/v6/splits.d.ts.map +1 -1
  93. package/dist/cjs/v6/splits.js +3 -3
  94. package/dist/cjs/v6/splits.js.map +1 -1
  95. package/dist/cjs/v6/sticky.d.ts +2 -2
  96. package/dist/cjs/v6/sticky.d.ts.map +1 -1
  97. package/dist/cjs/v6/types.d.ts +1 -1
  98. package/dist/cjs/v6/types.d.ts.map +1 -1
  99. package/dist/esm/constants.d.ts +1 -13
  100. package/dist/esm/constants.d.ts.map +1 -1
  101. package/dist/esm/constants.js +1 -21
  102. package/dist/esm/constants.js.map +1 -1
  103. package/dist/esm/generated/abi/jbBuybackHookAbi.d.ts +1187 -0
  104. package/dist/esm/generated/abi/jbBuybackHookAbi.d.ts.map +1 -0
  105. package/dist/esm/generated/abi/jbBuybackHookAbi.js +838 -0
  106. package/dist/esm/generated/abi/jbBuybackHookAbi.js.map +1 -0
  107. package/dist/esm/generated/abi/jbBuybackHookRegistryAbi.d.ts +791 -0
  108. package/dist/esm/generated/abi/jbBuybackHookRegistryAbi.d.ts.map +1 -0
  109. package/dist/esm/generated/abi/jbBuybackHookRegistryAbi.js +629 -0
  110. package/dist/esm/generated/abi/jbBuybackHookRegistryAbi.js.map +1 -0
  111. package/dist/esm/generated/abi/jbControllerAbi.d.ts +2569 -0
  112. package/dist/esm/generated/abi/jbControllerAbi.d.ts.map +1 -0
  113. package/dist/esm/generated/abi/jbControllerAbi.js +1903 -0
  114. package/dist/esm/generated/abi/jbControllerAbi.js.map +1 -0
  115. package/dist/esm/generated/abi/jbDirectoryAbi.d.ts +410 -0
  116. package/dist/esm/generated/abi/jbDirectoryAbi.d.ts.map +1 -0
  117. package/dist/esm/generated/abi/jbDirectoryAbi.js +362 -0
  118. package/dist/esm/generated/abi/jbDirectoryAbi.js.map +1 -0
  119. package/dist/esm/generated/abi/jbMultiTerminalAbi.d.ts +1863 -0
  120. package/dist/esm/generated/abi/jbMultiTerminalAbi.d.ts.map +1 -0
  121. package/dist/esm/generated/abi/jbMultiTerminalAbi.js +1456 -0
  122. package/dist/esm/generated/abi/jbMultiTerminalAbi.js.map +1 -0
  123. package/dist/esm/generated/abi/jbPermissionsAbi.d.ts +240 -0
  124. package/dist/esm/generated/abi/jbPermissionsAbi.d.ts.map +1 -0
  125. package/dist/esm/generated/abi/jbPermissionsAbi.js +161 -0
  126. package/dist/esm/generated/abi/jbPermissionsAbi.js.map +1 -0
  127. package/dist/esm/generated/abi/jbProjectsAbi.d.ts +626 -0
  128. package/dist/esm/generated/abi/jbProjectsAbi.d.ts.map +1 -0
  129. package/dist/esm/generated/abi/jbProjectsAbi.js +467 -0
  130. package/dist/esm/generated/abi/jbProjectsAbi.js.map +1 -0
  131. package/dist/esm/generated/abi/jbRouterTerminalGatewayAbi.d.ts +1503 -0
  132. package/dist/esm/generated/abi/jbRouterTerminalGatewayAbi.d.ts.map +1 -0
  133. package/dist/esm/generated/abi/jbRouterTerminalGatewayAbi.js +1034 -0
  134. package/dist/esm/generated/abi/jbRouterTerminalGatewayAbi.js.map +1 -0
  135. package/dist/esm/generated/abi/jbRouterTerminalRegistryAbi.d.ts +1119 -0
  136. package/dist/esm/generated/abi/jbRouterTerminalRegistryAbi.d.ts.map +1 -0
  137. package/dist/esm/generated/abi/jbRouterTerminalRegistryAbi.js +922 -0
  138. package/dist/esm/generated/abi/jbRouterTerminalRegistryAbi.js.map +1 -0
  139. package/dist/esm/generated/abi/jbSplitsAbi.d.ts +244 -0
  140. package/dist/esm/generated/abi/jbSplitsAbi.d.ts.map +1 -0
  141. package/dist/esm/generated/abi/jbSplitsAbi.js +195 -0
  142. package/dist/esm/generated/abi/jbSplitsAbi.js.map +1 -0
  143. package/dist/esm/generated/abi/jbTokensAbi.d.ts +602 -0
  144. package/dist/esm/generated/abi/jbTokensAbi.d.ts.map +1 -0
  145. package/dist/esm/generated/abi/jbTokensAbi.js +498 -0
  146. package/dist/esm/generated/abi/jbTokensAbi.js.map +1 -0
  147. package/dist/esm/generated/juicebox.d.ts +25405 -36537
  148. package/dist/esm/generated/juicebox.d.ts.map +1 -1
  149. package/dist/esm/generated/juicebox.js +14634 -23044
  150. package/dist/esm/generated/juicebox.js.map +1 -1
  151. package/dist/esm/pureConstants.d.ts +15 -0
  152. package/dist/esm/pureConstants.d.ts.map +1 -0
  153. package/dist/esm/pureConstants.js +25 -0
  154. package/dist/esm/pureConstants.js.map +1 -0
  155. package/dist/esm/review/decode.d.ts.map +1 -1
  156. package/dist/esm/review/decode.js +21 -37
  157. package/dist/esm/review/decode.js.map +1 -1
  158. package/dist/esm/review/relayr.d.ts.map +1 -1
  159. package/dist/esm/review/relayr.js +5 -25
  160. package/dist/esm/review/relayr.js.map +1 -1
  161. package/dist/esm/safe.d.ts +376 -8
  162. package/dist/esm/safe.d.ts.map +1 -1
  163. package/dist/esm/safe.js +1070 -29
  164. package/dist/esm/safe.js.map +1 -1
  165. package/dist/esm/safeService.d.ts +361 -1
  166. package/dist/esm/safeService.d.ts.map +1 -1
  167. package/dist/esm/safeService.js +818 -5
  168. package/dist/esm/safeService.js.map +1 -1
  169. package/dist/esm/untrusted.d.ts +8 -0
  170. package/dist/esm/untrusted.d.ts.map +1 -0
  171. package/dist/esm/untrusted.js +28 -0
  172. package/dist/esm/untrusted.js.map +1 -0
  173. package/dist/esm/v6/distributions.d.ts +90 -0
  174. package/dist/esm/v6/distributions.d.ts.map +1 -0
  175. package/dist/esm/v6/distributions.js +283 -0
  176. package/dist/esm/v6/distributions.js.map +1 -0
  177. package/dist/esm/v6/index.d.ts +1 -0
  178. package/dist/esm/v6/index.d.ts.map +1 -1
  179. package/dist/esm/v6/index.js +1 -0
  180. package/dist/esm/v6/index.js.map +1 -1
  181. package/dist/esm/v6/permissionIds.d.ts +62 -0
  182. package/dist/esm/v6/permissionIds.d.ts.map +1 -0
  183. package/dist/esm/v6/permissionIds.js +66 -0
  184. package/dist/esm/v6/permissionIds.js.map +1 -0
  185. package/dist/esm/v6/permissions.d.ts +3 -62
  186. package/dist/esm/v6/permissions.d.ts.map +1 -1
  187. package/dist/esm/v6/permissions.js +2 -64
  188. package/dist/esm/v6/permissions.js.map +1 -1
  189. package/dist/esm/v6/splits.d.ts +1 -1
  190. package/dist/esm/v6/splits.d.ts.map +1 -1
  191. package/dist/esm/v6/splits.js +1 -1
  192. package/dist/esm/v6/splits.js.map +1 -1
  193. package/dist/esm/v6/sticky.d.ts +2 -2
  194. package/dist/esm/v6/sticky.d.ts.map +1 -1
  195. package/dist/esm/v6/types.d.ts +1 -1
  196. package/dist/esm/v6/types.d.ts.map +1 -1
  197. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"safeService.js","sourceRoot":"","sources":["../../src/safeService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safeService.js","sourceRoot":"","sources":["../../src/safeService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Hex } from "viem";
2
+ /** A uint256 given as decimal or 0x-hex digits, a safe integer or a bigint. */
3
+ export declare function uint256(value: unknown): bigint | null;
4
+ /** Whole bytes of hex, "0x" included. */
5
+ export declare function isHexBytes(value: unknown): value is Hex;
6
+ /** Exactly 32 bytes of hex: a transaction, block or Safe transaction hash. */
7
+ export declare function isBytes32(value: unknown): value is Hex;
8
+ //# sourceMappingURL=untrusted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"untrusted.d.ts","sourceRoot":"","sources":["../../src/untrusted.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAOhC,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAYrD;AAED,yCAAyC;AACzC,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAEvD;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAEtD"}
@@ -0,0 +1,28 @@
1
+ // Readers for values that came from a service, an RPC or storage. Each returns
2
+ // null, or false, for anything outside the exact shape, never a guess.
3
+ const MAX_UINT256 = (1n << 256n) - 1n;
4
+ /** A uint256 given as decimal or 0x-hex digits, a safe integer or a bigint. */
5
+ export function uint256(value) {
6
+ let parsed;
7
+ if (typeof value === "bigint")
8
+ parsed = value;
9
+ else if (typeof value === "number" && Number.isSafeInteger(value)) {
10
+ parsed = BigInt(value);
11
+ }
12
+ else if (typeof value === "string" &&
13
+ /^(?:0x[0-9a-f]+|\d+)$/iu.test(value)) {
14
+ parsed = BigInt(value);
15
+ }
16
+ else
17
+ return null;
18
+ return parsed >= 0n && parsed <= MAX_UINT256 ? parsed : null;
19
+ }
20
+ /** Whole bytes of hex, "0x" included. */
21
+ export function isHexBytes(value) {
22
+ return typeof value === "string" && /^0x(?:[0-9a-f]{2})*$/iu.test(value);
23
+ }
24
+ /** Exactly 32 bytes of hex: a transaction, block or Safe transaction hash. */
25
+ export function isBytes32(value) {
26
+ return typeof value === "string" && /^0x[0-9a-f]{64}$/iu.test(value);
27
+ }
28
+ //# sourceMappingURL=untrusted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"untrusted.js","sourceRoot":"","sources":["../../src/untrusted.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,uEAAuE;AAEvE,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AAEtC,+EAA+E;AAC/E,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,IAAI,MAAc,CAAC;IACnB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,GAAG,KAAK,CAAC;SACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;SAAM,IACL,OAAO,KAAK,KAAK,QAAQ;QACzB,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,EACrC,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;;QAAM,OAAO,IAAI,CAAC;IACnB,OAAO,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { type Address } from "viem";
2
+ /** A reviewed split, as the ruleset held it when the distribution was reviewed. */
3
+ export type ExpectedDistributionSplit = {
4
+ percent: number | bigint | string;
5
+ projectId: number | bigint | string;
6
+ beneficiary: Address;
7
+ preferAddToBalance: boolean;
8
+ lockedUntil: number | bigint | string;
9
+ hook: Address;
10
+ /**
11
+ * Payouts only: true when the terminal pays this split without its fee, so
12
+ * its net must equal its gross. Leave it unset when unknown.
13
+ */
14
+ feeless?: boolean;
15
+ };
16
+ /** What a reviewed `sendPayoutsOf` must have done. Numbers may be any uint256 form. */
17
+ export type ExpectedPayoutReceipt = {
18
+ terminal: Address;
19
+ projectId: number | bigint | string;
20
+ rulesetId: number | bigint | string;
21
+ cycleNumber: number | bigint | string;
22
+ token: Address;
23
+ /** The project owner, who receives what the splits leave. */
24
+ owner: Address;
25
+ /** The account that sent the distribution. */
26
+ caller: Address;
27
+ /** The amount `sendPayoutsOf` was called with, in its currency. */
28
+ amount: number | bigint | string;
29
+ /** The least `amountPaidOut` the review allowed, in the token. */
30
+ minimum: number | bigint | string;
31
+ splits: readonly ExpectedDistributionSplit[];
32
+ };
33
+ /** What a reviewed `sendReservedTokensToSplitsOf` must have done. */
34
+ export type ExpectedReservedReceipt = {
35
+ controller: Address;
36
+ /** JBTokens, which logs the controller's burns. */
37
+ tokens: Address;
38
+ projectId: number | bigint | string;
39
+ rulesetId: number | bigint | string;
40
+ cycleNumber: number | bigint | string;
41
+ /** The project owner, who receives what the splits leave. */
42
+ owner: Address;
43
+ caller: Address;
44
+ /** The pending reserved tokens the review saw. */
45
+ tokenCount: number | bigint | string;
46
+ splits: readonly ExpectedDistributionSplit[];
47
+ };
48
+ type Receipt = {
49
+ status?: unknown;
50
+ logs: readonly unknown[];
51
+ };
52
+ /**
53
+ * Prove that a `sendPayoutsOf` receipt paid every reviewed split in full.
54
+ *
55
+ * The terminal must log, for the project, no `PayoutReverted` or
56
+ * `PayoutTransferReverted`; exactly one `SendPayouts` from the reviewed
57
+ * caller, in the reviewed ruleset and cycle, to the reviewed owner, for the
58
+ * reviewed amount, paying out at least the reviewed minimum with a fee within
59
+ * 2.5%; and one `SendPayoutToSplit` per reviewed split, in order, naming that
60
+ * exact split. Each split's gross is the terminal's successive remainder
61
+ * (`remaining × percent / remaining percent`). Its net must be the gross, or
62
+ * the gross less its 2.5% fee, and the gross alone for a split marked
63
+ * feeless: anything else is a hook that took only part of its share. The
64
+ * owner's net leftover follows the same rule.
65
+ *
66
+ * Throws, naming the first event that differs. A refusal means the receipt
67
+ * cannot show the payouts completed: keep the transaction, and do not send
68
+ * the same payouts again.
69
+ */
70
+ export declare function verifyPayoutReceipt(receipt: Receipt, expected: ExpectedPayoutReceipt): void;
71
+ /**
72
+ * Prove that a `sendReservedTokensToSplitsOf` receipt sent every reviewed
73
+ * split its reserved tokens.
74
+ *
75
+ * The controller must log, for the project, no `ReservedDistributionReverted`
76
+ * or `SplitHookReverted`; exactly one `SendReservedTokensToSplits` from the
77
+ * reviewed caller, in the reviewed ruleset and cycle, to the reviewed owner,
78
+ * for the reviewed token count, leaving what the splits do not take; and one
79
+ * `SendReservedTokensToSplit` per reviewed split, in order, naming that exact
80
+ * split with `tokenCount × percent / 100%`. JBTokens must log burns from the
81
+ * controller of exactly the shares sent to 0x…dEaD: any other burn is tokens a
82
+ * hook did not take.
83
+ *
84
+ * Throws, naming the first event that differs. A refusal means the receipt
85
+ * cannot show the distribution completed: keep the transaction, and do not
86
+ * distribute the same reserved tokens again.
87
+ */
88
+ export declare function verifyReservedDistributionReceipt(receipt: Receipt, expected: ExpectedReservedReceipt): void;
89
+ export {};
90
+ //# sourceMappingURL=distributions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributions.d.ts","sourceRoot":"","sources":["../../../src/v6/distributions.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,OAAO,EACb,MAAM,MAAM,CAAC;AAad,mFAAmF;AACnF,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,uFAAuF;AACvF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,KAAK,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,MAAM,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,kEAAkE;IAClE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC9C,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,6DAA6D;IAC7D,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACrC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC9C,CAAC;AAEF,KAAK,OAAO,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,CAAC;AAyI9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,qBAAqB,GAC9B,IAAI,CA0HN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,uBAAuB,GAChC,IAAI,CAyHN"}
@@ -0,0 +1,283 @@
1
+ import { decodeEventLog, getAddress, isAddress, isAddressEqual, zeroAddress, } from "viem";
2
+ import { SPLITS_TOTAL_PERCENT } from "../pureConstants.js";
3
+ import { jbControllerAbi } from "../generated/abi/jbControllerAbi.js";
4
+ import { jbMultiTerminalAbi } from "../generated/abi/jbMultiTerminalAbi.js";
5
+ import { jbTokensAbi } from "../generated/abi/jbTokensAbi.js";
6
+ import { uint256 } from "../untrusted.js";
7
+ import { RESERVED_TOKEN_SPLIT_GROUP_ID, payoutSplitGroupId } from "./splits.js";
8
+ const BURN_BENEFICIARY = "0x000000000000000000000000000000000000dEaD";
9
+ function invalid(name, value) {
10
+ return new Error(`Invalid distribution expectation ${name}: ${String(value)}.`);
11
+ }
12
+ function readUint(name, value) {
13
+ const parsed = uint256(value);
14
+ if (parsed === null)
15
+ throw invalid(name, value);
16
+ return parsed;
17
+ }
18
+ function readAddress(name, value) {
19
+ if (typeof value !== "string" || !isAddress(value))
20
+ throw invalid(name, value);
21
+ return getAddress(value);
22
+ }
23
+ function readSplits(splits) {
24
+ if (!Array.isArray(splits))
25
+ throw invalid("splits", splits);
26
+ let total = 0n;
27
+ return splits.map((split, index) => {
28
+ const name = `split ${index + 1}`;
29
+ if (!split || typeof split !== "object")
30
+ throw invalid(name, split);
31
+ const value = split;
32
+ const percent = readUint(`${name} percent`, value.percent);
33
+ total += percent;
34
+ if (total > BigInt(SPLITS_TOTAL_PERCENT)) {
35
+ throw invalid("split percents", `a total above ${SPLITS_TOTAL_PERCENT}`);
36
+ }
37
+ if (typeof value.preferAddToBalance !== "boolean") {
38
+ throw invalid(`${name} preferAddToBalance`, value.preferAddToBalance);
39
+ }
40
+ if (value.feeless !== undefined && typeof value.feeless !== "boolean") {
41
+ throw invalid(`${name} feeless`, value.feeless);
42
+ }
43
+ return {
44
+ percent,
45
+ projectId: readUint(`${name} projectId`, value.projectId),
46
+ beneficiary: readAddress(`${name} beneficiary`, value.beneficiary),
47
+ preferAddToBalance: value.preferAddToBalance,
48
+ lockedUntil: readUint(`${name} lockedUntil`, value.lockedUntil),
49
+ hook: readAddress(`${name} hook`, value.hook),
50
+ feeless: value.feeless,
51
+ };
52
+ });
53
+ }
54
+ function sameSplit(actual, expected) {
55
+ return (BigInt(actual.percent) === expected.percent &&
56
+ actual.projectId === expected.projectId &&
57
+ isAddressEqual(actual.beneficiary, expected.beneficiary) &&
58
+ actual.preferAddToBalance === expected.preferAddToBalance &&
59
+ BigInt(actual.lockedUntil) === expected.lockedUntil &&
60
+ isAddressEqual(actual.hook, expected.hook));
61
+ }
62
+ /**
63
+ * The receipt's events from `emitter`, decoded with `abi`, the contract's full
64
+ * ABI. A log of `emitter` that does not decode is refused, not skipped: a
65
+ * skipped PayoutTransferReverted, for one, would let a failed transfer pass.
66
+ */
67
+ function eventsFrom(receipt, emitter, abi) {
68
+ if (receipt?.status !== undefined && receipt.status !== "success") {
69
+ throw new Error("The distribution transaction did not succeed.");
70
+ }
71
+ if (!Array.isArray(receipt?.logs)) {
72
+ throw new Error("The distribution receipt has no logs.");
73
+ }
74
+ return receipt.logs.flatMap((log) => {
75
+ const { address, data, topics } = (log ?? {});
76
+ if (typeof address !== "string" ||
77
+ address.toLowerCase() !== emitter.toLowerCase()) {
78
+ return [];
79
+ }
80
+ try {
81
+ return [
82
+ decodeEventLog({
83
+ abi: abi,
84
+ data: data,
85
+ topics: topics,
86
+ strict: true,
87
+ }),
88
+ ];
89
+ }
90
+ catch {
91
+ throw new Error(`The distribution receipt has a log from ${emitter} that its ABI cannot read, so the receipt proves nothing.`);
92
+ }
93
+ });
94
+ }
95
+ /** The fee the terminal takes from a gross amount: 2.5%, rounded down. */
96
+ function feeOf(amount) {
97
+ return amount / 40n;
98
+ }
99
+ function format(amount) {
100
+ return amount.toLocaleString("en-US");
101
+ }
102
+ /**
103
+ * Prove that a `sendPayoutsOf` receipt paid every reviewed split in full.
104
+ *
105
+ * The terminal must log, for the project, no `PayoutReverted` or
106
+ * `PayoutTransferReverted`; exactly one `SendPayouts` from the reviewed
107
+ * caller, in the reviewed ruleset and cycle, to the reviewed owner, for the
108
+ * reviewed amount, paying out at least the reviewed minimum with a fee within
109
+ * 2.5%; and one `SendPayoutToSplit` per reviewed split, in order, naming that
110
+ * exact split. Each split's gross is the terminal's successive remainder
111
+ * (`remaining × percent / remaining percent`). Its net must be the gross, or
112
+ * the gross less its 2.5% fee, and the gross alone for a split marked
113
+ * feeless: anything else is a hook that took only part of its share. The
114
+ * owner's net leftover follows the same rule.
115
+ *
116
+ * Throws, naming the first event that differs. A refusal means the receipt
117
+ * cannot show the payouts completed: keep the transaction, and do not send
118
+ * the same payouts again.
119
+ */
120
+ export function verifyPayoutReceipt(receipt, expected) {
121
+ const terminal = readAddress("terminal", expected?.terminal);
122
+ const projectId = readUint("projectId", expected.projectId);
123
+ const rulesetId = readUint("rulesetId", expected.rulesetId);
124
+ const cycleNumber = readUint("cycleNumber", expected.cycleNumber);
125
+ const group = payoutSplitGroupId(readAddress("token", expected.token));
126
+ const owner = readAddress("owner", expected.owner);
127
+ const caller = readAddress("caller", expected.caller);
128
+ const amount = readUint("amount", expected.amount);
129
+ const minimum = readUint("minimum", expected.minimum);
130
+ const splits = readSplits(expected.splits);
131
+ const subject = `Project ${projectId}'s payouts from ${terminal}`;
132
+ const refuse = (problem) => new Error(`${subject}: ${problem}. Keep this transaction, and do not send these payouts again.`);
133
+ const events = eventsFrom(receipt, terminal, jbMultiTerminalAbi).filter((event) => event.args.projectId === projectId);
134
+ const failure = events.find((event) => event.eventName === "PayoutReverted" ||
135
+ event.eventName === "PayoutTransferReverted");
136
+ if (failure)
137
+ throw refuse(`a recipient failed (${failure.eventName})`);
138
+ const payouts = events.filter((event) => event.eventName === "SendPayouts");
139
+ if (payouts.length !== 1) {
140
+ throw refuse(`the receipt has ${payouts.length} SendPayouts events, not 1`);
141
+ }
142
+ const payout = payouts[0].args;
143
+ if (!isAddressEqual(payout.caller, caller)) {
144
+ throw refuse(`they were sent by ${payout.caller}, not ${caller}`);
145
+ }
146
+ if (payout.rulesetId !== rulesetId ||
147
+ payout.rulesetCycleNumber !== cycleNumber) {
148
+ throw refuse(`they ran in ruleset ${payout.rulesetId} cycle ${payout.rulesetCycleNumber}, not ruleset ${rulesetId} cycle ${cycleNumber}`);
149
+ }
150
+ if (!isAddressEqual(payout.projectOwner, owner)) {
151
+ throw refuse(`the owner was ${payout.projectOwner}, not ${owner}`);
152
+ }
153
+ if (payout.amount !== amount) {
154
+ throw refuse(`they were for ${format(payout.amount)}, not ${format(amount)}`);
155
+ }
156
+ if (payout.amountPaidOut <= 0n || payout.amountPaidOut < minimum) {
157
+ throw refuse(`they paid out ${format(payout.amountPaidOut)}, below the reviewed ${format(minimum)}`);
158
+ }
159
+ if (payout.fee > feeOf(payout.amountPaidOut)) {
160
+ throw refuse(`the fee ${format(payout.fee)} exceeds 2.5% of ${format(payout.amountPaidOut)}`);
161
+ }
162
+ const paid = events.filter((event) => event.eventName === "SendPayoutToSplit");
163
+ if (paid.length !== splits.length) {
164
+ throw refuse(`the receipt pays ${paid.length} splits, not the reviewed ${splits.length}`);
165
+ }
166
+ let remainingAmount = payout.amountPaidOut;
167
+ let remainingPercent = BigInt(SPLITS_TOTAL_PERCENT);
168
+ for (const [index, split] of splits.entries()) {
169
+ const event = paid[index].args;
170
+ const gross = (remainingAmount * split.percent) / remainingPercent;
171
+ const name = `split ${index + 1} (${split.beneficiary})`;
172
+ if (!isAddressEqual(event.caller, caller) ||
173
+ event.rulesetId !== rulesetId ||
174
+ event.group !== group ||
175
+ !sameSplit(event.split, split)) {
176
+ throw refuse(`${name} is not the reviewed split`);
177
+ }
178
+ if (event.amount !== gross) {
179
+ throw refuse(`${name} was allotted ${format(event.amount)}, not ${format(gross)}`);
180
+ }
181
+ const allowed = split.feeless === true ? [gross] : [gross, gross - feeOf(gross)];
182
+ if (!allowed.includes(event.netAmount)) {
183
+ throw refuse(`${name} received ${format(event.netAmount)} of its ${format(gross)}`);
184
+ }
185
+ remainingAmount -= gross;
186
+ remainingPercent -= split.percent;
187
+ }
188
+ if (payout.netLeftoverPayoutAmount !== remainingAmount &&
189
+ payout.netLeftoverPayoutAmount !== remainingAmount - feeOf(remainingAmount)) {
190
+ throw refuse(`the owner received ${format(payout.netLeftoverPayoutAmount)} of the ${format(remainingAmount)} left`);
191
+ }
192
+ }
193
+ /**
194
+ * Prove that a `sendReservedTokensToSplitsOf` receipt sent every reviewed
195
+ * split its reserved tokens.
196
+ *
197
+ * The controller must log, for the project, no `ReservedDistributionReverted`
198
+ * or `SplitHookReverted`; exactly one `SendReservedTokensToSplits` from the
199
+ * reviewed caller, in the reviewed ruleset and cycle, to the reviewed owner,
200
+ * for the reviewed token count, leaving what the splits do not take; and one
201
+ * `SendReservedTokensToSplit` per reviewed split, in order, naming that exact
202
+ * split with `tokenCount × percent / 100%`. JBTokens must log burns from the
203
+ * controller of exactly the shares sent to 0x…dEaD: any other burn is tokens a
204
+ * hook did not take.
205
+ *
206
+ * Throws, naming the first event that differs. A refusal means the receipt
207
+ * cannot show the distribution completed: keep the transaction, and do not
208
+ * distribute the same reserved tokens again.
209
+ */
210
+ export function verifyReservedDistributionReceipt(receipt, expected) {
211
+ const controller = readAddress("controller", expected?.controller);
212
+ const tokens = readAddress("tokens", expected.tokens);
213
+ const projectId = readUint("projectId", expected.projectId);
214
+ const rulesetId = readUint("rulesetId", expected.rulesetId);
215
+ const cycleNumber = readUint("cycleNumber", expected.cycleNumber);
216
+ const owner = readAddress("owner", expected.owner);
217
+ const caller = readAddress("caller", expected.caller);
218
+ const tokenCount = readUint("tokenCount", expected.tokenCount);
219
+ const splits = readSplits(expected.splits);
220
+ const subject = `Project ${projectId}'s reserved tokens from ${controller}`;
221
+ const refuse = (problem) => new Error(`${subject}: ${problem}. Keep this transaction, and do not distribute these reserved tokens again.`);
222
+ const events = eventsFrom(receipt, controller, jbControllerAbi).filter((event) => event.args.projectId === projectId);
223
+ const failure = events.find((event) => event.eventName === "ReservedDistributionReverted" ||
224
+ event.eventName === "SplitHookReverted");
225
+ if (failure)
226
+ throw refuse(`a recipient failed (${failure.eventName})`);
227
+ const totals = events.filter((event) => event.eventName === "SendReservedTokensToSplits");
228
+ if (totals.length !== 1) {
229
+ throw refuse(`the receipt has ${totals.length} SendReservedTokensToSplits events, not 1`);
230
+ }
231
+ const total = totals[0].args;
232
+ if (!isAddressEqual(total.caller, caller)) {
233
+ throw refuse(`they were sent by ${total.caller}, not ${caller}`);
234
+ }
235
+ if (total.rulesetId !== rulesetId ||
236
+ total.rulesetCycleNumber !== cycleNumber) {
237
+ throw refuse(`they ran in ruleset ${total.rulesetId} cycle ${total.rulesetCycleNumber}, not ruleset ${rulesetId} cycle ${cycleNumber}`);
238
+ }
239
+ if (!isAddressEqual(total.owner, owner)) {
240
+ throw refuse(`the owner was ${total.owner}, not ${owner}`);
241
+ }
242
+ if (total.tokenCount !== tokenCount) {
243
+ throw refuse(`${format(total.tokenCount)} tokens were distributed, not the reviewed ${format(tokenCount)}`);
244
+ }
245
+ const sent = events.filter((event) => event.eventName === "SendReservedTokensToSplit");
246
+ if (sent.length !== splits.length) {
247
+ throw refuse(`the receipt sends to ${sent.length} splits, not the reviewed ${splits.length}`);
248
+ }
249
+ let leftover = tokenCount;
250
+ let burnShare = 0n;
251
+ for (const [index, split] of splits.entries()) {
252
+ const event = sent[index].args;
253
+ const share = (tokenCount * split.percent) / BigInt(SPLITS_TOTAL_PERCENT);
254
+ const name = `split ${index + 1} (${split.beneficiary})`;
255
+ if (!isAddressEqual(event.caller, caller) ||
256
+ event.rulesetId !== rulesetId ||
257
+ event.groupId !== RESERVED_TOKEN_SPLIT_GROUP_ID ||
258
+ !sameSplit(event.split, split)) {
259
+ throw refuse(`${name} is not the reviewed split`);
260
+ }
261
+ if (event.tokenCount !== share) {
262
+ throw refuse(`${name} was sent ${format(event.tokenCount)} tokens, not ${format(share)}`);
263
+ }
264
+ leftover -= share;
265
+ if (split.projectId === 0n &&
266
+ isAddressEqual(split.hook, zeroAddress) &&
267
+ isAddressEqual(split.beneficiary, BURN_BENEFICIARY)) {
268
+ burnShare += share;
269
+ }
270
+ }
271
+ if (total.leftoverAmount !== leftover) {
272
+ throw refuse(`${format(total.leftoverAmount)} tokens were left to the owner, not ${format(leftover)}`);
273
+ }
274
+ const burned = eventsFrom(receipt, tokens, jbTokensAbi)
275
+ .filter((event) => event.eventName === "Burn" &&
276
+ event.args.projectId === projectId &&
277
+ isAddressEqual(event.args.holder, controller))
278
+ .reduce((sum, event) => sum + event.args.count, 0n);
279
+ if (burned !== burnShare) {
280
+ throw refuse(`the controller burned ${format(burned)} tokens, not the ${format(burnShare)} sent to ${BURN_BENEFICIARY}; a hook did not take its share`);
281
+ }
282
+ }
283
+ //# sourceMappingURL=distributions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributions.js","sourceRoot":"","sources":["../../../src/v6/distributions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,SAAS,EACT,cAAc,EACd,WAAW,GAEZ,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAoEhF,MAAM,gBAAgB,GAAY,4CAA4C,CAAC;AAE/E,SAAS,OAAO,CAAC,IAAY,EAAE,KAAc;IAC3C,OAAO,IAAI,KAAK,CACd,oCAAoC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAC9D,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAc;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAChD,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,MAAe;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,KAAkC,CAAC;QACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,IAAI,OAAO,CAAC;QACjB,IAAI,KAAK,GAAG,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,oBAAoB,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,OAAO,CAAC,GAAG,IAAI,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtE,MAAM,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QACD,OAAO;YACL,OAAO;YACP,SAAS,EAAE,QAAQ,CAAC,GAAG,IAAI,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;YACzD,WAAW,EAAE,WAAW,CAAC,GAAG,IAAI,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC;YAClE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC;YAC/D,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;YAC7C,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAChB,MAOC,EACD,QAAe;IAEf,OAAO,CACL,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,OAAO;QAC3C,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;QACvC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC;QACxD,MAAM,CAAC,kBAAkB,KAAK,QAAQ,CAAC,kBAAkB;QACzD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,WAAW;QACnD,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CACjB,OAAgB,EAChB,OAAgB,EAChB,GAAQ;IAER,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAClC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAI3C,CAAC;QACF,IACE,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,EAC/C,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,OAAO;gBACL,cAAc,CAAC;oBACb,GAAG,EAAE,GAAY;oBACjB,IAAI,EAAE,IAAa;oBACnB,MAAM,EAAE,MAAe;oBACvB,MAAM,EAAE,IAAI;iBACb,CAAoE;aACtE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,2DAA2D,CAC9G,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0EAA0E;AAC1E,SAAS,KAAK,CAAC,MAAc;IAC3B,OAAO,MAAM,GAAG,GAAG,CAAC;AACtB,CAAC;AAED,SAAS,MAAM,CAAC,MAAc;IAC5B,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,QAA+B;IAE/B,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,WAAW,SAAS,mBAAmB,QAAQ,EAAE,CAAC;IAClE,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CACjC,IAAI,KAAK,CACP,GAAG,OAAO,KAAK,OAAO,+DAA+D,CACtF,CAAC;IAEJ,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,MAAM,CACrE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAC9C,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,SAAS,KAAK,gBAAgB;QACpC,KAAK,CAAC,SAAS,KAAK,wBAAwB,CAC/C,CAAC;IACF,IAAI,OAAO;QAAE,MAAM,MAAM,CAAC,uBAAuB,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,aAAa,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,CAAC,mBAAmB,OAAO,CAAC,MAAM,4BAA4B,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IASzB,CAAC;IACF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,CAAC,qBAAqB,MAAM,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IACE,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,MAAM,CAAC,kBAAkB,KAAK,WAAW,EACzC,CAAC;QACD,MAAM,MAAM,CACV,uBAAuB,MAAM,CAAC,SAAS,UAAU,MAAM,CAAC,kBAAkB,iBAAiB,SAAS,UAAU,WAAW,EAAE,CAC5H,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,CAAC,iBAAiB,MAAM,CAAC,YAAY,SAAS,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,MAAM,CACV,iBAAiB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,CAChE,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,IAAI,EAAE,IAAI,MAAM,CAAC,aAAa,GAAG,OAAO,EAAE,CAAC;QACjE,MAAM,MAAM,CACV,iBAAiB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAwB,MAAM,CAAC,OAAO,CAAC,EAAE,CACvF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,CACV,WAAW,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,mBAAmB,CACnD,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,MAAM,CACV,oBAAoB,IAAI,CAAC,MAAM,6BAA6B,MAAM,CAAC,MAAM,EAAE,CAC5E,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC;IAC3C,IAAI,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAOzB,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC;QACnE,MAAM,IAAI,GAAG,SAAS,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC;QACzD,IACE,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;YACrC,KAAK,CAAC,SAAS,KAAK,SAAS;YAC7B,KAAK,CAAC,KAAK,KAAK,KAAK;YACrB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAC9B,CAAC;YACD,MAAM,MAAM,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,MAAM,CACV,GAAG,IAAI,iBAAiB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CACrE,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GACX,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,MAAM,CACV,GAAG,IAAI,aAAa,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,MAAM,CAAC,KAAK,CAAC,EAAE,CACtE,CAAC;QACJ,CAAC;QACD,eAAe,IAAI,KAAK,CAAC;QACzB,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC;IACpC,CAAC;IACD,IACE,MAAM,CAAC,uBAAuB,KAAK,eAAe;QAClD,MAAM,CAAC,uBAAuB,KAAK,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,EAC3E,CAAC;QACD,MAAM,MAAM,CACV,sBAAsB,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,WAAW,MAAM,CAAC,eAAe,CAAC,OAAO,CACtG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iCAAiC,CAC/C,OAAgB,EAChB,QAAiC;IAEjC,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,WAAW,SAAS,2BAA2B,UAAU,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CACjC,IAAI,KAAK,CACP,GAAG,OAAO,KAAK,OAAO,6EAA6E,CACpG,CAAC;IAEJ,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,CACpE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAC9C,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,SAAS,KAAK,8BAA8B;QAClD,KAAK,CAAC,SAAS,KAAK,mBAAmB,CAC1C,CAAC;IACF,IAAI,OAAO;QAAE,MAAM,MAAM,CAAC,uBAAuB,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,4BAA4B,CAC5D,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,CACV,mBAAmB,MAAM,CAAC,MAAM,2CAA2C,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAOvB,CAAC;IACF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,CAAC,qBAAqB,KAAK,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IACE,KAAK,CAAC,SAAS,KAAK,SAAS;QAC7B,KAAK,CAAC,kBAAkB,KAAK,WAAW,EACxC,CAAC;QACD,MAAM,MAAM,CACV,uBAAuB,KAAK,CAAC,SAAS,UAAU,KAAK,CAAC,kBAAkB,iBAAiB,SAAS,UAAU,WAAW,EAAE,CAC1H,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,CAAC,iBAAiB,KAAK,CAAC,KAAK,SAAS,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,MAAM,CACV,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,8CAA8C,MAAM,CAAC,UAAU,CAAC,EAAE,CAC9F,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,2BAA2B,CAC3D,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,MAAM,CACV,wBAAwB,IAAI,CAAC,MAAM,6BAA6B,MAAM,CAAC,MAAM,EAAE,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,GAAG,UAAU,CAAC;IAC1B,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAMzB,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,SAAS,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC;QACzD,IACE,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;YACrC,KAAK,CAAC,SAAS,KAAK,SAAS;YAC7B,KAAK,CAAC,OAAO,KAAK,6BAA6B;YAC/C,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAC9B,CAAC;YACD,MAAM,MAAM,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,MAAM,CACV,GAAG,IAAI,aAAa,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5E,CAAC;QACJ,CAAC;QACD,QAAQ,IAAI,KAAK,CAAC;QAClB,IACE,KAAK,CAAC,SAAS,KAAK,EAAE;YACtB,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC;YACvC,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,EACnD,CAAC;YACD,SAAS,IAAI,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,MAAM,CACV,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,uCAAuC,MAAM,CAAC,QAAQ,CAAC,EAAE,CACzF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC;SACpD,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,SAAS,KAAK,MAAM;QAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;QAClC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,MAAiB,EAAE,UAAU,CAAC,CAC3D;SACA,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAI,KAAK,CAAC,IAAI,CAAC,KAAgB,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,MAAM,CACV,yBAAyB,MAAM,CAAC,MAAM,CAAC,oBAAoB,MAAM,CAAC,SAAS,CAAC,YAAY,gBAAgB,iCAAiC,CAC1I,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -5,6 +5,7 @@ export * from "./launch.js";
5
5
  export * from "./omnichain.js";
6
6
  export * from "./rulesets.js";
7
7
  export * from "./splits.js";
8
+ export * from "./distributions.js";
8
9
  export * from "./revnets.js";
9
10
  export * from "./terminals.js";
10
11
  export * from "./pay.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,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,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,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -5,6 +5,7 @@ export * from "./launch.js";
5
5
  export * from "./omnichain.js";
6
6
  export * from "./rulesets.js";
7
7
  export * from "./splits.js";
8
+ export * from "./distributions.js";
8
9
  export * from "./revnets.js";
9
10
  export * from "./terminals.js";
10
11
  export * from "./pay.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","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,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","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,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * The v6 permission ids, transcribed from JBPermissionIds.sol.
3
+ *
4
+ * Projects can grant permissions to other addresses (called "operators") through
5
+ * `JBPermissions`. Each id authorizes the operator to call specific functions on
6
+ * behalf of the project owner or token holder.
7
+ *
8
+ * @link https://github.com/Bananapus/nana-permission-ids-v6/blob/main/src/JBPermissionIds.sol
9
+ */
10
+ export declare const JBPermissionIdsV6: {
11
+ /**
12
+ * Grants all permissions across every Juicebox contract. Use with extreme caution.
13
+ */
14
+ readonly ROOT: 1;
15
+ readonly QUEUE_RULESETS: 2;
16
+ readonly LAUNCH_RULESETS: 3;
17
+ readonly CASH_OUT_TOKENS: 4;
18
+ readonly SEND_PAYOUTS: 5;
19
+ readonly MIGRATE_TERMINAL: 6;
20
+ readonly SET_PROJECT_URI: 7;
21
+ readonly DEPLOY_ERC20: 8;
22
+ readonly SET_TOKEN: 9;
23
+ readonly MINT_TOKENS: 10;
24
+ readonly BURN_TOKENS: 11;
25
+ readonly CLAIM_TOKENS: 12;
26
+ readonly TRANSFER_CREDITS: 13;
27
+ readonly SET_CONTROLLER: 14;
28
+ readonly SET_TERMINALS: 15;
29
+ readonly ADD_TERMINALS: 16;
30
+ readonly SET_PRIMARY_TERMINAL: 17;
31
+ readonly USE_ALLOWANCE: 18;
32
+ readonly SET_SPLIT_GROUPS: 19;
33
+ readonly ADD_PRICE_FEED: 20;
34
+ readonly ADD_ACCOUNTING_CONTEXTS: 21;
35
+ readonly SET_TOKEN_METADATA: 22;
36
+ readonly SIGN_FOR_ERC20: 23;
37
+ readonly ADJUST_721_TIERS: 24;
38
+ readonly SET_721_METADATA: 25;
39
+ readonly MINT_721: 26;
40
+ readonly SET_721_DISCOUNT_PERCENT: 27;
41
+ readonly SET_BUYBACK_TWAP: 28;
42
+ readonly SET_BUYBACK_POOL: 29;
43
+ readonly SET_BUYBACK_HOOK: 30;
44
+ readonly SET_ROUTER_TERMINAL: 31;
45
+ readonly MAP_SUCKER_TOKEN: 32;
46
+ readonly DEPLOY_SUCKERS: 33;
47
+ readonly SET_SUCKER_PEER: 34;
48
+ readonly SUCKER_SAFETY: 35;
49
+ readonly SET_SUCKER_DEPRECATION: 36;
50
+ readonly OPEN_LOAN: 37;
51
+ readonly REALLOCATE_LOAN: 38;
52
+ readonly REPAY_LOAN: 39;
53
+ };
54
+ /**
55
+ * A v6 permission id.
56
+ */
57
+ export type JBPermissionIdV6 = (typeof JBPermissionIdsV6)[keyof typeof JBPermissionIdsV6];
58
+ /** A symbolic v6 permission name, such as `QUEUE_RULESETS`. */
59
+ export type JBPermissionKeyV6 = keyof typeof JBPermissionIdsV6;
60
+ /** Return the SDK permission name for an id, or `null` for a newer/unknown id. */
61
+ export declare function permissionKeyV6(id: number): JBPermissionKeyV6 | null;
62
+ //# sourceMappingURL=permissionIds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissionIds.d.ts","sourceRoot":"","sources":["../../../src/v6/permissionIds.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDK,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE7D,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE/D,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAMpE"}