project-cpu-mcp 0.8.0 → 0.9.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 (117) hide show
  1. package/dist/api/types.d.ts +17 -6
  2. package/dist/api/types.d.ts.map +1 -1
  3. package/dist/api/types.js.map +1 -1
  4. package/dist/config/constants.d.ts +1 -0
  5. package/dist/config/constants.d.ts.map +1 -1
  6. package/dist/config/constants.js +1 -0
  7. package/dist/config/constants.js.map +1 -1
  8. package/dist/contracts/cell.abi.d.ts +91 -1
  9. package/dist/contracts/cell.abi.d.ts.map +1 -1
  10. package/dist/contracts/cell.abi.js +86 -1
  11. package/dist/contracts/cell.abi.js.map +1 -1
  12. package/dist/index.js +0 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/randomness/drand.strategy.d.ts +0 -2
  15. package/dist/randomness/drand.strategy.d.ts.map +1 -1
  16. package/dist/randomness/drand.strategy.js +0 -18
  17. package/dist/randomness/drand.strategy.js.map +1 -1
  18. package/dist/randomness/factory.d.ts +0 -1
  19. package/dist/randomness/factory.d.ts.map +1 -1
  20. package/dist/randomness/factory.js +1 -5
  21. package/dist/randomness/factory.js.map +1 -1
  22. package/dist/randomness/types.d.ts +5 -9
  23. package/dist/randomness/types.d.ts.map +1 -1
  24. package/dist/randomness/types.js.map +1 -1
  25. package/dist/server.d.ts.map +1 -1
  26. package/dist/server.js +2 -0
  27. package/dist/server.js.map +1 -1
  28. package/dist/services/app-config.service.d.ts.map +1 -1
  29. package/dist/services/app-config.service.js +7 -2
  30. package/dist/services/app-config.service.js.map +1 -1
  31. package/dist/services/app-config.utils.d.ts +8 -1
  32. package/dist/services/app-config.utils.d.ts.map +1 -1
  33. package/dist/services/app-config.utils.js +20 -1
  34. package/dist/services/app-config.utils.js.map +1 -1
  35. package/dist/services/build.service.d.ts +7 -2
  36. package/dist/services/build.service.d.ts.map +1 -1
  37. package/dist/services/build.service.js +112 -4
  38. package/dist/services/build.service.js.map +1 -1
  39. package/dist/services/cell.client.d.ts +2 -1
  40. package/dist/services/cell.client.d.ts.map +1 -1
  41. package/dist/services/cell.client.js +14 -0
  42. package/dist/services/cell.client.js.map +1 -1
  43. package/dist/services/reveal-revert.utils.d.ts.map +1 -1
  44. package/dist/services/reveal-revert.utils.js +25 -18
  45. package/dist/services/reveal-revert.utils.js.map +1 -1
  46. package/dist/services/reveal.service.d.ts +8 -1
  47. package/dist/services/reveal.service.d.ts.map +1 -1
  48. package/dist/services/reveal.service.js +57 -56
  49. package/dist/services/reveal.service.js.map +1 -1
  50. package/dist/services/reveal.utils.d.ts +8 -0
  51. package/dist/services/reveal.utils.d.ts.map +1 -1
  52. package/dist/services/reveal.utils.js +12 -0
  53. package/dist/services/reveal.utils.js.map +1 -1
  54. package/dist/services/revert-decode.utils.d.ts +7 -0
  55. package/dist/services/revert-decode.utils.d.ts.map +1 -0
  56. package/dist/services/revert-decode.utils.js +13 -0
  57. package/dist/services/revert-decode.utils.js.map +1 -0
  58. package/dist/services/types.d.ts +71 -9
  59. package/dist/services/types.d.ts.map +1 -1
  60. package/dist/services/types.js +18 -1
  61. package/dist/services/types.js.map +1 -1
  62. package/dist/services/uniswap.utils.d.ts +1 -1
  63. package/dist/services/uniswap.utils.d.ts.map +1 -1
  64. package/dist/services/uniswap.utils.js +14 -6
  65. package/dist/services/uniswap.utils.js.map +1 -1
  66. package/dist/services/upgrade-revert.utils.d.ts +8 -0
  67. package/dist/services/upgrade-revert.utils.d.ts.map +1 -0
  68. package/dist/services/upgrade-revert.utils.js +46 -0
  69. package/dist/services/upgrade-revert.utils.js.map +1 -0
  70. package/dist/tools/build/constants.d.ts +1 -0
  71. package/dist/tools/build/constants.d.ts.map +1 -1
  72. package/dist/tools/build/constants.js +12 -0
  73. package/dist/tools/build/constants.js.map +1 -1
  74. package/dist/tools/build/types.d.ts +4 -0
  75. package/dist/tools/build/types.d.ts.map +1 -1
  76. package/dist/tools/build/types.js +11 -0
  77. package/dist/tools/build/types.js.map +1 -1
  78. package/dist/tools/build/upgrade.d.ts +4 -0
  79. package/dist/tools/build/upgrade.d.ts.map +1 -0
  80. package/dist/tools/build/upgrade.js +38 -0
  81. package/dist/tools/build/upgrade.js.map +1 -0
  82. package/dist/tools/config/get-game-config/constants.d.ts +9 -0
  83. package/dist/tools/config/get-game-config/constants.d.ts.map +1 -1
  84. package/dist/tools/config/get-game-config/constants.js +17 -3
  85. package/dist/tools/config/get-game-config/constants.js.map +1 -1
  86. package/dist/tools/config/get-game-config/get-game-config.d.ts.map +1 -1
  87. package/dist/tools/config/get-game-config/get-game-config.js +10 -5
  88. package/dist/tools/config/get-game-config/get-game-config.js.map +1 -1
  89. package/dist/tools/config/get-game-config/get-game-config.utils.d.ts +6 -1
  90. package/dist/tools/config/get-game-config/get-game-config.utils.d.ts.map +1 -1
  91. package/dist/tools/config/get-game-config/get-game-config.utils.js +96 -2
  92. package/dist/tools/config/get-game-config/get-game-config.utils.js.map +1 -1
  93. package/dist/tools/reveal/constants.d.ts.map +1 -1
  94. package/dist/tools/reveal/constants.js +5 -4
  95. package/dist/tools/reveal/constants.js.map +1 -1
  96. package/dist/tools/reveal/reveal.js +4 -4
  97. package/dist/tools/reveal/reveal.js.map +1 -1
  98. package/dist/utils/format.utils.d.ts +2 -0
  99. package/dist/utils/format.utils.d.ts.map +1 -1
  100. package/dist/utils/format.utils.js +4 -0
  101. package/dist/utils/format.utils.js.map +1 -1
  102. package/dist/wallet/constants.d.ts +0 -1
  103. package/dist/wallet/constants.d.ts.map +1 -1
  104. package/dist/wallet/constants.js +0 -1
  105. package/dist/wallet/constants.js.map +1 -1
  106. package/dist/wallet/gas.utils.d.ts.map +1 -1
  107. package/dist/wallet/gas.utils.js +2 -1
  108. package/dist/wallet/gas.utils.js.map +1 -1
  109. package/package.json +1 -1
  110. package/dist/contracts/randomness-source.abi.d.ts +0 -12
  111. package/dist/contracts/randomness-source.abi.d.ts.map +0 -1
  112. package/dist/contracts/randomness-source.abi.js +0 -10
  113. package/dist/contracts/randomness-source.abi.js.map +0 -1
  114. package/dist/randomness/push.strategy.d.ts +0 -12
  115. package/dist/randomness/push.strategy.d.ts.map +0 -1
  116. package/dist/randomness/push.strategy.js +0 -24
  117. package/dist/randomness/push.strategy.js.map +0 -1
@@ -1,6 +1,100 @@
1
- import { PUSH_RANDOMNESS_SUMMARY, SELF_SERVICE_RANDOMNESS_SUMMARY } from './constants.js';
2
- import { RandomnessKind } from '../../../api/types.js';
1
+ import { BASE_BUILDING_PREDECESSOR_LABEL, CYCLE_TIME_MODIFIER_NOTE, EXTRACTOR_COMPATIBILITY_NOTE, NO_RECIPES_CONFIGURED_NOTE, NO_UPGRADE_PARTICIPANTS_NOTE, NONE_LABEL, PUSH_RANDOMNESS_SUMMARY, REVEAL_PAYMENT_UNKNOWN_SUMMARY, SELF_SERVICE_RANDOMNESS_SUMMARY, TERMINAL_UPGRADE_SUCCESSOR_LABEL, UNKNOWN_LABEL, } from './constants.js';
2
+ import { BuildingKind, RandomnessKind, } from '../../../api/types.js';
3
+ import { formatStacks, resourceLabel } from '../../../utils/format.utils.js';
3
4
  export function describeRandomnessMode(randomness) {
4
5
  return randomness.kind === RandomnessKind.DRAND ? SELF_SERVICE_RANDOMNESS_SUMMARY : PUSH_RANDOMNESS_SUMMARY;
5
6
  }
7
+ export function describeRevealPayment(payment) {
8
+ if (payment === null) {
9
+ return REVEAL_PAYMENT_UNKNOWN_SUMMARY;
10
+ }
11
+ return (`every reveal contributes ${payment.ethContribution} ETH to the $CPU liquidity ` +
12
+ `pool and burns ${payment.cpuBurn} $CPU, the first reveal of a cell included; ` +
13
+ `cpu_reveal reads the exact total off the chain and pays that`);
14
+ }
15
+ export function summarizeRecipeLines(recipes, resources) {
16
+ if (recipes.length === 0) {
17
+ return NO_RECIPES_CONFIGURED_NOTE;
18
+ }
19
+ return recipes.map((recipe) => formatRecipeLine(recipe, resources)).join('\n');
20
+ }
21
+ function formatRecipeLine(recipe, resources) {
22
+ return (`${recipe.id} | ${recipe.durationSec}s/cycle | in ${formatRecipeStacks(recipe.inputs, resources)} | ` +
23
+ `out ${formatRecipeStacks(recipe.outputs, resources)} | ${recipe.costCpu} $CPU/cycle`);
24
+ }
25
+ function formatRecipeStacks(stacks, resources) {
26
+ return stacks.length > 0 ? formatStacks(resources, stacks, '+') : NONE_LABEL;
27
+ }
28
+ export function summarizeUpgradeGraph(buildings, resources) {
29
+ const participants = buildings.filter(isUpgradeParticipant).sort(compareUpgradeParticipants);
30
+ if (participants.length === 0) {
31
+ return NO_UPGRADE_PARTICIPANTS_NOTE;
32
+ }
33
+ return participants.map((building) => formatUpgradeParticipantLine(building, resources)).join('\n');
34
+ }
35
+ function isUpgradeParticipant(building) {
36
+ return building.upgradeFrom !== null || building.upgradeTo.length > 0;
37
+ }
38
+ function compareUpgradeParticipants(a, b) {
39
+ const byFamily = compareNullableStrings(a.family, b.family);
40
+ if (byFamily !== 0) {
41
+ return byFamily;
42
+ }
43
+ const byLevel = compareNullableNumbers(a.level, b.level);
44
+ if (byLevel !== 0) {
45
+ return byLevel;
46
+ }
47
+ return a.type.localeCompare(b.type);
48
+ }
49
+ function compareNullableStrings(a, b) {
50
+ if (a === b) {
51
+ return 0;
52
+ }
53
+ if (a === null) {
54
+ return 1;
55
+ }
56
+ if (b === null) {
57
+ return -1;
58
+ }
59
+ return a.localeCompare(b);
60
+ }
61
+ function compareNullableNumbers(a, b) {
62
+ if (a === b) {
63
+ return 0;
64
+ }
65
+ if (a === null) {
66
+ return 1;
67
+ }
68
+ if (b === null) {
69
+ return -1;
70
+ }
71
+ return a - b;
72
+ }
73
+ function formatUpgradeParticipantLine(building, resources) {
74
+ const level = building.level !== null ? String(building.level) : UNKNOWN_LABEL;
75
+ const branch = building.branch ?? NONE_LABEL;
76
+ const predecessor = building.upgradeFrom ?? BASE_BUILDING_PREDECESSOR_LABEL;
77
+ const successors = building.upgradeTo.length > 0 ? building.upgradeTo.join(',') : TERMINAL_UPGRADE_SUCCESSOR_LABEL;
78
+ const inputs = building.buildInputs.length > 0 ? formatStacks(resources, building.buildInputs, ',') : NONE_LABEL;
79
+ return (`${building.type} | level ${level} | branch ${branch} | predecessor ${predecessor} | ` +
80
+ `successors ${successors} | cost ${building.buildCost} $CPU | inputs ${inputs} | ` +
81
+ `build ${building.buildTimeSec}s | effects ${formatUpgradeEffects(building, resources)}`);
82
+ }
83
+ function formatUpgradeEffects(building, resources) {
84
+ const inputEfficiency = building.effects.inputEfficiency.length > 0
85
+ ? building.effects.inputEfficiency
86
+ .map((entry) => `${resourceLabel(resources, entry.resourceId)}:${entry.percent}%`)
87
+ .join(',')
88
+ : NONE_LABEL;
89
+ return (`cycleTimeBp ${building.effects.cycleTimeBp} (${CYCLE_TIME_MODIFIER_NOTE}), ` +
90
+ `extractionShareBp ${building.effects.extractionShareBp}, inputEfficiency ${inputEfficiency}` +
91
+ formatExtractorCompatibilityNote(building, resources));
92
+ }
93
+ function formatExtractorCompatibilityNote(building, resources) {
94
+ if (building.kind !== BuildingKind.Extractor || building.minableResources.length === 0) {
95
+ return '';
96
+ }
97
+ const compatible = building.minableResources.map((id) => resourceLabel(resources, id)).join(',');
98
+ return `, extractor-compatible ${compatible} (${EXTRACTOR_COMPATIBILITY_NOTE})`;
99
+ }
6
100
  //# sourceMappingURL=get-game-config.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-game-config.utils.js","sourceRoot":"","sources":["../../../../src/tools/config/get-game-config/get-game-config.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAA6B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAElF,MAAM,UAAU,sBAAsB,CAAC,UAAgC;IACnE,OAAO,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,uBAAuB,CAAC;AAChH,CAAC"}
1
+ {"version":3,"file":"get-game-config.utils.js","sourceRoot":"","sources":["../../../../src/tools/config/get-game-config/get-game-config.utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tools/reveal/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,QAOpB,CAAC;AAEZ,eAAO,MAAM,0BAA0B,QAQ5B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tools/reveal/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,QAQpB,CAAC;AAEZ,eAAO,MAAM,0BAA0B,QAQ5B,CAAC"}
@@ -1,15 +1,16 @@
1
1
  export const REVEAL_DESCRIPTION = [
2
2
  'Reveal the deposits of a cell you own (call `cpu_authenticate` first). Sends an on-chain Cell tx requesting',
3
- 'randomness, paying the source fee in ETH — keep some ETH. First reveal is free; a re-reveal needs',
4
- 'all deposits depleted and costs $CPU (auto-approved once). How the draw arrives depends on the network’s',
3
+ 'randomness. Every reveal is paid for, the first one included: the cell quotes the price and this call pays',
4
+ 'exactly that — ETH with the transaction, so keep some, plus a $CPU burn it approves for you. Revealing a',
5
+ 'cell a second time additionally needs all its deposits depleted. How the draw arrives depends on the network’s',
5
6
  'randomness mode — see `cpu_get_game_config`. On a self-service network this call also settles the draw and',
6
7
  'returns the deposits it rolled; call it again on a cell whose reveal is still pending to finish that one,',
7
- 'which costs no new fee.',
8
+ 'which pays for no second reveal.',
8
9
  ].join(' ');
9
10
  export const FULFILL_REVEAL_DESCRIPTION = [
10
11
  'Finish reveal requests you already opened that have not delivered their draw yet (call `cpu_authenticate`',
11
12
  'first). Where the network’s randomness mode leaves delivery to the player — see `cpu_get_game_config` — this',
12
- 'sends the missing draw on-chain: it costs gas but no new reveal fee. With no arguments it works through every',
13
+ 'sends the missing draw on-chain: it costs gas but pays for no second reveal. With no arguments it works through every',
13
14
  'open request you own; pass `tokenIds` to settle only those cells. If a request you know exists is not listed,',
14
15
  'name it directly with `requestId` plus `source` and it is settled without that list. Requests already settled',
15
16
  'are reported as such, not as errors. On a network where the randomness source delivers draws itself this call',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tools/reveal/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,6GAA6G;IAC7G,mGAAmG;IACnG,0GAA0G;IAC1G,4GAA4G;IAC5G,2GAA2G;IAC3G,yBAAyB;CAC5B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACtC,2GAA2G;IAC3G,8GAA8G;IAC9G,+GAA+G;IAC/G,+GAA+G;IAC/G,+GAA+G;IAC/G,+GAA+G;IAC/G,qDAAqD;CACxD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tools/reveal/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,6GAA6G;IAC7G,4GAA4G;IAC5G,0GAA0G;IAC1G,gHAAgH;IAChH,4GAA4G;IAC5G,2GAA2G;IAC3G,kCAAkC;CACrC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACtC,2GAA2G;IAC3G,8GAA8G;IAC9G,uHAAuH;IACvH,+GAA+G;IAC/G,+GAA+G;IAC/G,+GAA+G;IAC/G,qDAAqD;CACxD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
@@ -2,12 +2,12 @@ import { REVEAL_DESCRIPTION } from './constants.js';
2
2
  import { revealInputSchema } from './types.js';
3
3
  function requestLine(result) {
4
4
  if (result.requestTxHash === null) {
5
- return `Cell ${result.tokenId} already carried a reveal request, so nothing new was requested and no $CPU was spent.`;
5
+ return `Cell ${result.tokenId} already carried a reveal request, so nothing new was requested and nothing was spent.`;
6
6
  }
7
- const cost = result.genesis ? 'first reveal (free)' : `re-reveal (burned ${result.reRevealCost} $CPU)`;
8
7
  const approve = result.approveTxHash !== null ? ` approve tx ${result.approveTxHash},` : '';
9
- return (`Requested reveal for cell ${result.tokenId} — ${cost}, paid ${result.fee} ETH fee.${approve} ` +
10
- `request tx ${result.requestTxHash} confirmed in block ${result.blockNumber}.`);
8
+ return (`Requested reveal for cell ${result.tokenId} — paid ${result.ethPaid} ETH and burned ${result.cpuBurn} ` +
9
+ `$CPU, the price the cell quoted for this reveal.${approve} request tx ${result.requestTxHash} ` +
10
+ `confirmed in block ${result.blockNumber}.`);
11
11
  }
12
12
  function requestIdLine(result) {
13
13
  if (result.requestId === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"reveal.js","sourceRoot":"","sources":["../../../src/tools/reveal/reveal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reveal.js","sourceRoot":"","sources":["../../../src/tools/reveal/reveal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAK/C,SAAS,WAAW,CAAC,MAAoB;IACrC,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,QAAQ,MAAM,CAAC,OAAO,wFAAwF,CAAC;IAC1H,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,OAAO,CACH,6BAA6B,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC,OAAO,mBAAmB,MAAM,CAAC,OAAO,GAAG;QACxG,mDAAmD,OAAO,eAAe,MAAM,CAAC,aAAa,GAAG;QAChG,sBAAsB,MAAM,CAAC,WAAW,GAAG,CAC9C,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,MAAoB;IACvC,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,6BAA6B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,OAAO,kBAAkB,MAAM,CAAC,SAAS,yBAAyB,MAAM,CAAC,MAAM,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;AACxG,CAAC;AAED,SAAS,QAAQ,CAAC,MAAoB;IAClC,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI;YACvB,CAAC,CAAC,mDAAmD,MAAM,CAAC,OAAO,GAAG;YACtE,CAAC,CAAC,+BAA+B,MAAM,CAAC,OAAO,8BAA8B,CAAC;IACtF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,2DAA2D,MAAM,CAAC,OAAO,kCAAkC,CAAC;IACvH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ;SACxB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,IAAI,UAAU,CAAC;QAChD,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,UAAU,iBAAiB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAChG,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO,gCAAgC,MAAM,CAAC,OAAO,SAAS,KAAK,GAAG,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,MAAoB;IACrC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,CACH,MAAM,CAAC,IAAI;YACX,oGAAoG;gBAChG,GAAG,MAAM,CAAC,OAAO,WAAW,CACnC,CAAC;IACN,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAqB,EAAE,OAAmB;IACzE,MAAM,CAAC,YAAY,CACf,YAAY,EACZ,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,EACnE,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;aAC3E,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;aAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;QAEf,OAAO;YACH,OAAO,EAAE;gBACL,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;aACjD;SACJ,CAAC;IACN,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -12,6 +12,8 @@ export declare function formatStacks(resources: ResourceNames, stacks: Array<{
12
12
  }>, separator?: string): string;
13
13
  /** On-chain $CPU amounts are wei; render them human-readable. */
14
14
  export declare function cpuFromWei(wei: string): string;
15
+ /** Native ETH amounts are wei too; kept apart from `cpuFromWei` so a call site names the currency it renders. */
16
+ export declare function ethFromWei(wei: string): string;
15
17
  export declare function percentToBp(percent: number): number;
16
18
  export declare function bpToPercent(bp: number): number;
17
19
  export declare function saleFeeOverridesToPercent(overrides: Record<number, number> | null): Record<number, number> | null;
@@ -1 +1 @@
1
- {"version":3,"file":"format.utils.d.ts","sourceRoot":"","sources":["../../src/utils/format.utils.ts"],"names":[],"mappings":"AAEA,qGAAqG;AACrG,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,uGAAuG;AACvG,wBAAgB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED;uGACuG;AACvG,wBAAgB,YAAY,CACxB,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,EAC9D,SAAS,SAAO,GACjB,MAAM,CAER;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CASjH;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAGrF"}
1
+ {"version":3,"file":"format.utils.d.ts","sourceRoot":"","sources":["../../src/utils/format.utils.ts"],"names":[],"mappings":"AAEA,qGAAqG;AACrG,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,uGAAuG;AACvG,wBAAgB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED;uGACuG;AACvG,wBAAgB,YAAY,CACxB,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,EAC9D,SAAS,SAAO,GACjB,MAAM,CAER;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,iHAAiH;AACjH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CASjH;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAGrF"}
@@ -17,6 +17,10 @@ export function formatStacks(resources, stacks, separator = ', ') {
17
17
  export function cpuFromWei(wei) {
18
18
  return formatEther(BigInt(wei));
19
19
  }
20
+ /** Native ETH amounts are wei too; kept apart from `cpuFromWei` so a call site names the currency it renders. */
21
+ export function ethFromWei(wei) {
22
+ return formatEther(BigInt(wei));
23
+ }
20
24
  const BP_PER_PERCENT = 100;
21
25
  const BP_EPSILON = 1e-6;
22
26
  export function percentToBp(percent) {
@@ -1 +1 @@
1
- {"version":3,"file":"format.utils.js","sourceRoot":"","sources":["../../src/utils/format.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAKnC,uGAAuG;AACvG,MAAM,UAAU,YAAY,CAAC,SAAwB,EAAE,EAAU;IAC7D,OAAO,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AACrC,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,aAAa,CAAC,SAAwB,EAAE,EAAU;IAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC;AACvE,CAAC;AAED;uGACuG;AACvG,MAAM,UAAU,YAAY,CACxB,SAAwB,EACxB,MAA8D,EAC9D,SAAS,GAAG,IAAI;IAEhB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtG,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,UAAU,CAAC,GAAW;IAClC,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,UAAU,WAAW,CAAC,OAAe;IACvC,MAAM,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC;IACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,6EAA6E,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IAClC,OAAO,EAAE,GAAG,cAAc,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,SAAwC;IAC9E,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC7C,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,eAAuB;IACzE,MAAM,KAAK,GAAG,eAAe,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,eAAe,sBAAsB,CAAC;IAC9F,OAAO,GAAG,WAAW,QAAQ,KAAK,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"format.utils.js","sourceRoot":"","sources":["../../src/utils/format.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAKnC,uGAAuG;AACvG,MAAM,UAAU,YAAY,CAAC,SAAwB,EAAE,EAAU;IAC7D,OAAO,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AACrC,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,aAAa,CAAC,SAAwB,EAAE,EAAU;IAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC;AACvE,CAAC;AAED;uGACuG;AACvG,MAAM,UAAU,YAAY,CACxB,SAAwB,EACxB,MAA8D,EAC9D,SAAS,GAAG,IAAI;IAEhB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtG,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,UAAU,CAAC,GAAW;IAClC,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,UAAU,CAAC,GAAW;IAClC,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,UAAU,WAAW,CAAC,OAAe;IACvC,MAAM,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC;IACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,6EAA6E,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IAClC,OAAO,EAAE,GAAG,cAAc,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,SAAwC;IAC9E,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC7C,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,eAAuB;IACzE,MAAM,KAAK,GAAG,eAAe,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,eAAe,sBAAsB,CAAC;IAC9F,OAAO,GAAG,WAAW,QAAQ,KAAK,EAAE,CAAC;AACzC,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export declare const GAS_LIMIT_MULTIPLIER_BPS = 15000n;
2
- export declare const BPS_DENOMINATOR = 10000n;
3
2
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/wallet/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAEhD,eAAO,MAAM,eAAe,SAAU,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/wallet/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,SAAU,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export const GAS_LIMIT_MULTIPLIER_BPS = 15000n;
2
- export const BPS_DENOMINATOR = 10000n;
3
2
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/wallet/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAO,CAAC;AAEhD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAO,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/wallet/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gas.utils.d.ts","sourceRoot":"","sources":["../../src/wallet/gas.utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD"}
1
+ {"version":3,"file":"gas.utils.d.ts","sourceRoot":"","sources":["../../src/wallet/gas.utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD"}
@@ -1,4 +1,5 @@
1
- import { BPS_DENOMINATOR, GAS_LIMIT_MULTIPLIER_BPS } from './constants.js';
1
+ import { GAS_LIMIT_MULTIPLIER_BPS } from './constants.js';
2
+ import { BPS_DENOMINATOR } from '../config/constants.js';
2
3
  export function bufferedGasLimit(estimate) {
3
4
  return (estimate * GAS_LIMIT_MULTIPLIER_BPS) / BPS_DENOMINATOR;
4
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gas.utils.js","sourceRoot":"","sources":["../../src/wallet/gas.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,CAAC,QAAQ,GAAG,wBAAwB,CAAC,GAAG,eAAe,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"gas.utils.js","sourceRoot":"","sources":["../../src/wallet/gas.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,CAAC,QAAQ,GAAG,wBAAwB,CAAC,GAAG,eAAe,CAAC;AACnE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-cpu-mcp",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "MCP server for Project CPU — AI agents interact with the game on behalf of players",
5
5
  "keywords": [
6
6
  "mcp",
@@ -1,12 +0,0 @@
1
- export declare const RANDOMNESS_SOURCE_ABI: readonly [{
2
- readonly type: "function";
3
- readonly name: "quoteFee";
4
- readonly inputs: readonly [];
5
- readonly outputs: readonly [{
6
- readonly name: "";
7
- readonly type: "uint256";
8
- readonly internalType: "uint256";
9
- }];
10
- readonly stateMutability: "view";
11
- }];
12
- //# sourceMappingURL=randomness-source.abi.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"randomness-source.abi.d.ts","sourceRoot":"","sources":["../../src/contracts/randomness-source.abi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;EAQxB,CAAC"}
@@ -1,10 +0,0 @@
1
- export const RANDOMNESS_SOURCE_ABI = [
2
- {
3
- type: 'function',
4
- name: 'quoteFee',
5
- inputs: [],
6
- outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
7
- stateMutability: 'view',
8
- },
9
- ];
10
- //# sourceMappingURL=randomness-source.abi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"randomness-source.abi.js","sourceRoot":"","sources":["../../src/contracts/randomness-source.abi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC;QACI,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;KAC1B;CACK,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { Address } from 'viem';
2
- import type { PushRandomness, PushRandomnessOptions } from './types.js';
3
- import { RandomnessKind } from '../api/types.js';
4
- export declare class PushRandomnessStrategy implements PushRandomness {
5
- readonly kind: RandomnessKind.ENTROPY;
6
- readonly source: Address;
7
- private readonly contracts;
8
- private readonly logger;
9
- constructor(options: PushRandomnessOptions);
10
- quoteFee(): Promise<bigint>;
11
- }
12
- //# sourceMappingURL=push.strategy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"push.strategy.d.ts","sourceRoot":"","sources":["../../src/randomness/push.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD,qBAAa,sBAAuB,YAAW,cAAc;IACzD,SAAgB,IAAI,EAAE,cAAc,CAAC,OAAO,CAA0B;IACtE,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,OAAO,EAAE,qBAAqB;IAMpC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAUpC"}
@@ -1,24 +0,0 @@
1
- import { RandomnessKind } from '../api/types.js';
2
- import { RANDOMNESS_SOURCE_ABI } from '../contracts/randomness-source.abi.js';
3
- export class PushRandomnessStrategy {
4
- kind = RandomnessKind.ENTROPY;
5
- source;
6
- contracts;
7
- logger;
8
- constructor(options) {
9
- this.source = options.source;
10
- this.contracts = options.contracts;
11
- this.logger = options.logger;
12
- }
13
- async quoteFee() {
14
- const fee = await this.contracts.read({
15
- address: this.source,
16
- abi: RANDOMNESS_SOURCE_ABI,
17
- functionName: 'quoteFee',
18
- args: [],
19
- });
20
- this.logger.info('quoted randomness fee', { source: this.source, kind: this.kind, feeWei: fee.toString() });
21
- return fee;
22
- }
23
- }
24
- //# sourceMappingURL=push.strategy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"push.strategy.js","sourceRoot":"","sources":["../../src/randomness/push.strategy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAI9E,MAAM,OAAO,sBAAsB;IACf,IAAI,GAA2B,cAAc,CAAC,OAAO,CAAC;IACtD,MAAM,CAAU;IACf,SAAS,CAAkB;IAC3B,MAAM,CAAU;IAEjC,YAAY,OAA8B;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAS;YAC1C,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,GAAG,EAAE,qBAAqB;YAC1B,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,EAAE;SACX,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5G,OAAO,GAAG,CAAC;IACf,CAAC;CACJ"}