@chainlink/cre-sdk 0.0.0 → 0.0.1-alpha

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 (653) hide show
  1. package/LICENSE.md +54 -0
  2. package/README.md +493 -0
  3. package/bin/cre-compile.ts +31 -0
  4. package/dist/generated/capabilities/blockchain/evm/v1alpha/client_pb.d.ts +1578 -0
  5. package/dist/generated/capabilities/blockchain/evm/v1alpha/client_pb.js +258 -0
  6. package/dist/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb.d.ts +135 -0
  7. package/dist/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb.js +43 -0
  8. package/dist/generated/capabilities/internal/basicaction/v1/basic_action_pb.d.ts +77 -0
  9. package/dist/generated/capabilities/internal/basicaction/v1/basic_action_pb.js +33 -0
  10. package/dist/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb.d.ts +77 -0
  11. package/dist/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb.js +29 -0
  12. package/dist/generated/capabilities/networking/http/v1alpha/client_pb.d.ts +178 -0
  13. package/dist/generated/capabilities/networking/http/v1alpha/client_pb.js +36 -0
  14. package/dist/generated/capabilities/networking/http/v1alpha/trigger_pb.d.ts +147 -0
  15. package/dist/generated/capabilities/networking/http/v1alpha/trigger_pb.js +56 -0
  16. package/dist/generated/capabilities/scheduler/cron/v1/trigger_pb.d.ts +115 -0
  17. package/dist/generated/capabilities/scheduler/cron/v1/trigger_pb.js +38 -0
  18. package/dist/generated/chain-selectors/mainnet/aptos/aptos-mainnet.d.ts +3 -0
  19. package/dist/generated/chain-selectors/mainnet/aptos/aptos-mainnet.js +12 -0
  20. package/dist/generated/chain-selectors/mainnet/evm/0g-mainnet.d.ts +3 -0
  21. package/dist/generated/chain-selectors/mainnet/evm/0g-mainnet.js +12 -0
  22. package/dist/generated/chain-selectors/mainnet/evm/abstract-mainnet.d.ts +3 -0
  23. package/dist/generated/chain-selectors/mainnet/evm/abstract-mainnet.js +12 -0
  24. package/dist/generated/chain-selectors/mainnet/evm/apechain-mainnet.d.ts +3 -0
  25. package/dist/generated/chain-selectors/mainnet/evm/apechain-mainnet.js +12 -0
  26. package/dist/generated/chain-selectors/mainnet/evm/areon-mainnet.d.ts +3 -0
  27. package/dist/generated/chain-selectors/mainnet/evm/areon-mainnet.js +12 -0
  28. package/dist/generated/chain-selectors/mainnet/evm/avalanche-mainnet.d.ts +3 -0
  29. package/dist/generated/chain-selectors/mainnet/evm/avalanche-mainnet.js +12 -0
  30. package/dist/generated/chain-selectors/mainnet/evm/avalanche-subnet-dexalot-mainnet.d.ts +3 -0
  31. package/dist/generated/chain-selectors/mainnet/evm/avalanche-subnet-dexalot-mainnet.js +12 -0
  32. package/dist/generated/chain-selectors/mainnet/evm/berachain-mainnet.d.ts +3 -0
  33. package/dist/generated/chain-selectors/mainnet/evm/berachain-mainnet.js +12 -0
  34. package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet-opbnb-1.d.ts +3 -0
  35. package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet-opbnb-1.js +12 -0
  36. package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet.d.ts +3 -0
  37. package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet.js +12 -0
  38. package/dist/generated/chain-selectors/mainnet/evm/bitcichain-mainnet.d.ts +3 -0
  39. package/dist/generated/chain-selectors/mainnet/evm/bitcichain-mainnet.js +12 -0
  40. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bitlayer-1.d.ts +3 -0
  41. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bitlayer-1.js +12 -0
  42. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bob-1.d.ts +3 -0
  43. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bob-1.js +12 -0
  44. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-botanix.d.ts +3 -0
  45. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-botanix.js +12 -0
  46. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bsquared-1.d.ts +3 -0
  47. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bsquared-1.js +12 -0
  48. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-merlin-mainnet.d.ts +3 -0
  49. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-merlin-mainnet.js +12 -0
  50. package/dist/generated/chain-selectors/mainnet/evm/bittensor-mainnet.d.ts +3 -0
  51. package/dist/generated/chain-selectors/mainnet/evm/bittensor-mainnet.js +12 -0
  52. package/dist/generated/chain-selectors/mainnet/evm/bittorrent.chain-mainnet.d.ts +3 -0
  53. package/dist/generated/chain-selectors/mainnet/evm/bittorrent.chain-mainnet.js +12 -0
  54. package/dist/generated/chain-selectors/mainnet/evm/celo-mainnet.d.ts +3 -0
  55. package/dist/generated/chain-selectors/mainnet/evm/celo-mainnet.js +12 -0
  56. package/dist/generated/chain-selectors/mainnet/evm/codex-mainnet.d.ts +3 -0
  57. package/dist/generated/chain-selectors/mainnet/evm/codex-mainnet.js +12 -0
  58. package/dist/generated/chain-selectors/mainnet/evm/coinex.smart.chain-mainnet.d.ts +3 -0
  59. package/dist/generated/chain-selectors/mainnet/evm/coinex.smart.chain-mainnet.js +12 -0
  60. package/dist/generated/chain-selectors/mainnet/evm/conflux-mainnet.d.ts +3 -0
  61. package/dist/generated/chain-selectors/mainnet/evm/conflux-mainnet.js +12 -0
  62. package/dist/generated/chain-selectors/mainnet/evm/core-mainnet.d.ts +3 -0
  63. package/dist/generated/chain-selectors/mainnet/evm/core-mainnet.js +12 -0
  64. package/dist/generated/chain-selectors/mainnet/evm/corn-mainnet.d.ts +3 -0
  65. package/dist/generated/chain-selectors/mainnet/evm/corn-mainnet.js +12 -0
  66. package/dist/generated/chain-selectors/mainnet/evm/cronos-mainnet.d.ts +3 -0
  67. package/dist/generated/chain-selectors/mainnet/evm/cronos-mainnet.js +12 -0
  68. package/dist/generated/chain-selectors/mainnet/evm/cronos-zkevm-mainnet.d.ts +3 -0
  69. package/dist/generated/chain-selectors/mainnet/evm/cronos-zkevm-mainnet.js +12 -0
  70. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-l3x-1.d.ts +3 -0
  71. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-l3x-1.js +12 -0
  72. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-treasure-1.d.ts +3 -0
  73. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-treasure-1.js +12 -0
  74. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1.d.ts +3 -0
  75. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1.js +12 -0
  76. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-astar-zkevm-1.d.ts +3 -0
  77. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-astar-zkevm-1.js +12 -0
  78. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-base-1.d.ts +3 -0
  79. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-base-1.js +12 -0
  80. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-blast-1.d.ts +3 -0
  81. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-blast-1.js +12 -0
  82. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-hashkey-1.d.ts +3 -0
  83. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-hashkey-1.js +12 -0
  84. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-immutable-zkevm-1.d.ts +3 -0
  85. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-immutable-zkevm-1.js +12 -0
  86. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-ink-1.d.ts +3 -0
  87. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-ink-1.js +12 -0
  88. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-kroma-1.d.ts +3 -0
  89. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-kroma-1.js +12 -0
  90. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-linea-1.d.ts +3 -0
  91. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-linea-1.js +12 -0
  92. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mantle-1.d.ts +3 -0
  93. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mantle-1.js +12 -0
  94. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-metis-1.d.ts +3 -0
  95. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-metis-1.js +12 -0
  96. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mode-1.d.ts +3 -0
  97. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mode-1.js +12 -0
  98. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-optimism-1.d.ts +3 -0
  99. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-optimism-1.js +12 -0
  100. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-polygon-zkevm-1.d.ts +3 -0
  101. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-polygon-zkevm-1.js +12 -0
  102. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-scroll-1.d.ts +3 -0
  103. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-scroll-1.js +12 -0
  104. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-taiko-1.d.ts +3 -0
  105. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-taiko-1.js +12 -0
  106. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-unichain-1.d.ts +3 -0
  107. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-unichain-1.js +12 -0
  108. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-worldchain-1.d.ts +3 -0
  109. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-worldchain-1.js +12 -0
  110. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-xlayer-1.d.ts +3 -0
  111. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-xlayer-1.js +12 -0
  112. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zircuit-1.d.ts +3 -0
  113. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zircuit-1.js +12 -0
  114. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zksync-1.d.ts +3 -0
  115. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zksync-1.js +12 -0
  116. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet.d.ts +3 -0
  117. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet.js +12 -0
  118. package/dist/generated/chain-selectors/mainnet/evm/etherlink-mainnet.d.ts +3 -0
  119. package/dist/generated/chain-selectors/mainnet/evm/etherlink-mainnet.js +12 -0
  120. package/dist/generated/chain-selectors/mainnet/evm/fantom-mainnet.d.ts +3 -0
  121. package/dist/generated/chain-selectors/mainnet/evm/fantom-mainnet.js +12 -0
  122. package/dist/generated/chain-selectors/mainnet/evm/filecoin-mainnet.d.ts +3 -0
  123. package/dist/generated/chain-selectors/mainnet/evm/filecoin-mainnet.js +12 -0
  124. package/dist/generated/chain-selectors/mainnet/evm/fraxtal-mainnet.d.ts +3 -0
  125. package/dist/generated/chain-selectors/mainnet/evm/fraxtal-mainnet.js +12 -0
  126. package/dist/generated/chain-selectors/mainnet/evm/gnosis.chain-mainnet.d.ts +3 -0
  127. package/dist/generated/chain-selectors/mainnet/evm/gnosis.chain-mainnet.js +12 -0
  128. package/dist/generated/chain-selectors/mainnet/evm/hedera-mainnet.d.ts +3 -0
  129. package/dist/generated/chain-selectors/mainnet/evm/hedera-mainnet.js +12 -0
  130. package/dist/generated/chain-selectors/mainnet/evm/hemi-mainnet.d.ts +3 -0
  131. package/dist/generated/chain-selectors/mainnet/evm/hemi-mainnet.js +12 -0
  132. package/dist/generated/chain-selectors/mainnet/evm/hyperliquid-mainnet.d.ts +3 -0
  133. package/dist/generated/chain-selectors/mainnet/evm/hyperliquid-mainnet.js +12 -0
  134. package/dist/generated/chain-selectors/mainnet/evm/janction-mainnet.d.ts +3 -0
  135. package/dist/generated/chain-selectors/mainnet/evm/janction-mainnet.js +12 -0
  136. package/dist/generated/chain-selectors/mainnet/evm/kaia-mainnet.d.ts +3 -0
  137. package/dist/generated/chain-selectors/mainnet/evm/kaia-mainnet.js +12 -0
  138. package/dist/generated/chain-selectors/mainnet/evm/kava-mainnet.d.ts +3 -0
  139. package/dist/generated/chain-selectors/mainnet/evm/kava-mainnet.js +12 -0
  140. package/dist/generated/chain-selectors/mainnet/evm/kusama-mainnet-moonriver.d.ts +3 -0
  141. package/dist/generated/chain-selectors/mainnet/evm/kusama-mainnet-moonriver.js +12 -0
  142. package/dist/generated/chain-selectors/mainnet/evm/lens-mainnet.d.ts +3 -0
  143. package/dist/generated/chain-selectors/mainnet/evm/lens-mainnet.js +12 -0
  144. package/dist/generated/chain-selectors/mainnet/evm/lisk-mainnet.d.ts +3 -0
  145. package/dist/generated/chain-selectors/mainnet/evm/lisk-mainnet.js +12 -0
  146. package/dist/generated/chain-selectors/mainnet/evm/memento-mainnet.d.ts +3 -0
  147. package/dist/generated/chain-selectors/mainnet/evm/memento-mainnet.js +12 -0
  148. package/dist/generated/chain-selectors/mainnet/evm/metal-mainnet.d.ts +3 -0
  149. package/dist/generated/chain-selectors/mainnet/evm/metal-mainnet.js +12 -0
  150. package/dist/generated/chain-selectors/mainnet/evm/mind-mainnet.d.ts +3 -0
  151. package/dist/generated/chain-selectors/mainnet/evm/mind-mainnet.js +12 -0
  152. package/dist/generated/chain-selectors/mainnet/evm/mint-mainnet.d.ts +3 -0
  153. package/dist/generated/chain-selectors/mainnet/evm/mint-mainnet.js +12 -0
  154. package/dist/generated/chain-selectors/mainnet/evm/monad-mainnet.d.ts +3 -0
  155. package/dist/generated/chain-selectors/mainnet/evm/monad-mainnet.js +12 -0
  156. package/dist/generated/chain-selectors/mainnet/evm/morph-mainnet.d.ts +3 -0
  157. package/dist/generated/chain-selectors/mainnet/evm/morph-mainnet.js +12 -0
  158. package/dist/generated/chain-selectors/mainnet/evm/near-mainnet.d.ts +3 -0
  159. package/dist/generated/chain-selectors/mainnet/evm/near-mainnet.js +12 -0
  160. package/dist/generated/chain-selectors/mainnet/evm/neonlink-mainnet.d.ts +3 -0
  161. package/dist/generated/chain-selectors/mainnet/evm/neonlink-mainnet.js +12 -0
  162. package/dist/generated/chain-selectors/mainnet/evm/neox-mainnet.d.ts +3 -0
  163. package/dist/generated/chain-selectors/mainnet/evm/neox-mainnet.js +12 -0
  164. package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-henesys.d.ts +3 -0
  165. package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-henesys.js +12 -0
  166. package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-lith.d.ts +3 -0
  167. package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-lith.js +12 -0
  168. package/dist/generated/chain-selectors/mainnet/evm/nexon-qa.d.ts +3 -0
  169. package/dist/generated/chain-selectors/mainnet/evm/nexon-qa.js +12 -0
  170. package/dist/generated/chain-selectors/mainnet/evm/nexon-stage.d.ts +3 -0
  171. package/dist/generated/chain-selectors/mainnet/evm/nexon-stage.js +12 -0
  172. package/dist/generated/chain-selectors/mainnet/evm/nibiru-mainnet.d.ts +3 -0
  173. package/dist/generated/chain-selectors/mainnet/evm/nibiru-mainnet.js +12 -0
  174. package/dist/generated/chain-selectors/mainnet/evm/plasma-mainnet.d.ts +3 -0
  175. package/dist/generated/chain-selectors/mainnet/evm/plasma-mainnet.js +12 -0
  176. package/dist/generated/chain-selectors/mainnet/evm/plume-mainnet.d.ts +3 -0
  177. package/dist/generated/chain-selectors/mainnet/evm/plume-mainnet.js +12 -0
  178. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-astar.d.ts +3 -0
  179. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-astar.js +12 -0
  180. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-centrifuge.d.ts +3 -0
  181. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-centrifuge.js +12 -0
  182. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-darwinia.d.ts +3 -0
  183. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-darwinia.js +12 -0
  184. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-moonbeam.d.ts +3 -0
  185. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-moonbeam.js +12 -0
  186. package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet-katana.d.ts +3 -0
  187. package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet-katana.js +12 -0
  188. package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet.d.ts +3 -0
  189. package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet.js +12 -0
  190. package/dist/generated/chain-selectors/mainnet/evm/ronin-mainnet.d.ts +3 -0
  191. package/dist/generated/chain-selectors/mainnet/evm/ronin-mainnet.js +12 -0
  192. package/dist/generated/chain-selectors/mainnet/evm/rootstock-mainnet.d.ts +3 -0
  193. package/dist/generated/chain-selectors/mainnet/evm/rootstock-mainnet.js +12 -0
  194. package/dist/generated/chain-selectors/mainnet/evm/sei-mainnet.d.ts +3 -0
  195. package/dist/generated/chain-selectors/mainnet/evm/sei-mainnet.js +12 -0
  196. package/dist/generated/chain-selectors/mainnet/evm/shibarium-mainnet.d.ts +3 -0
  197. package/dist/generated/chain-selectors/mainnet/evm/shibarium-mainnet.js +12 -0
  198. package/dist/generated/chain-selectors/mainnet/evm/soneium-mainnet.d.ts +3 -0
  199. package/dist/generated/chain-selectors/mainnet/evm/soneium-mainnet.js +12 -0
  200. package/dist/generated/chain-selectors/mainnet/evm/sonic-mainnet.d.ts +3 -0
  201. package/dist/generated/chain-selectors/mainnet/evm/sonic-mainnet.js +12 -0
  202. package/dist/generated/chain-selectors/mainnet/evm/superseed-mainnet.d.ts +3 -0
  203. package/dist/generated/chain-selectors/mainnet/evm/superseed-mainnet.js +12 -0
  204. package/dist/generated/chain-selectors/mainnet/evm/tac-mainnet.d.ts +3 -0
  205. package/dist/generated/chain-selectors/mainnet/evm/tac-mainnet.js +12 -0
  206. package/dist/generated/chain-selectors/mainnet/evm/telos-evm-mainnet.d.ts +3 -0
  207. package/dist/generated/chain-selectors/mainnet/evm/telos-evm-mainnet.js +12 -0
  208. package/dist/generated/chain-selectors/mainnet/evm/treasure-mainnet.d.ts +3 -0
  209. package/dist/generated/chain-selectors/mainnet/evm/treasure-mainnet.js +12 -0
  210. package/dist/generated/chain-selectors/mainnet/evm/tron-mainnet-evm.d.ts +3 -0
  211. package/dist/generated/chain-selectors/mainnet/evm/tron-mainnet-evm.js +12 -0
  212. package/dist/generated/chain-selectors/mainnet/evm/velas-mainnet.d.ts +3 -0
  213. package/dist/generated/chain-selectors/mainnet/evm/velas-mainnet.js +12 -0
  214. package/dist/generated/chain-selectors/mainnet/evm/wemix-mainnet.d.ts +3 -0
  215. package/dist/generated/chain-selectors/mainnet/evm/wemix-mainnet.js +12 -0
  216. package/dist/generated/chain-selectors/mainnet/evm/xdc-mainnet.d.ts +3 -0
  217. package/dist/generated/chain-selectors/mainnet/evm/xdc-mainnet.js +12 -0
  218. package/dist/generated/chain-selectors/mainnet/evm/zetachain-mainnet.d.ts +3 -0
  219. package/dist/generated/chain-selectors/mainnet/evm/zetachain-mainnet.js +12 -0
  220. package/dist/generated/chain-selectors/mainnet/evm/zklink.nova-mainnet.d.ts +3 -0
  221. package/dist/generated/chain-selectors/mainnet/evm/zklink.nova-mainnet.js +12 -0
  222. package/dist/generated/chain-selectors/mainnet/evm/zora-mainnet.d.ts +3 -0
  223. package/dist/generated/chain-selectors/mainnet/evm/zora-mainnet.js +12 -0
  224. package/dist/generated/chain-selectors/mainnet/solana/solana-mainnet.d.ts +3 -0
  225. package/dist/generated/chain-selectors/mainnet/solana/solana-mainnet.js +12 -0
  226. package/dist/generated/chain-selectors/mainnet/sui/sui-mainnet.d.ts +3 -0
  227. package/dist/generated/chain-selectors/mainnet/sui/sui-mainnet.js +12 -0
  228. package/dist/generated/chain-selectors/mainnet/ton/ton-mainnet.d.ts +3 -0
  229. package/dist/generated/chain-selectors/mainnet/ton/ton-mainnet.js +12 -0
  230. package/dist/generated/chain-selectors/mainnet/tron/tron-mainnet.d.ts +3 -0
  231. package/dist/generated/chain-selectors/mainnet/tron/tron-mainnet.js +12 -0
  232. package/dist/generated/chain-selectors/testnet/aptos/aptos-localnet.d.ts +3 -0
  233. package/dist/generated/chain-selectors/testnet/aptos/aptos-localnet.js +12 -0
  234. package/dist/generated/chain-selectors/testnet/aptos/aptos-testnet.d.ts +3 -0
  235. package/dist/generated/chain-selectors/testnet/aptos/aptos-testnet.js +12 -0
  236. package/dist/generated/chain-selectors/testnet/evm/0g-testnet-galileo.d.ts +3 -0
  237. package/dist/generated/chain-selectors/testnet/evm/0g-testnet-galileo.js +12 -0
  238. package/dist/generated/chain-selectors/testnet/evm/0g-testnet-newton.d.ts +3 -0
  239. package/dist/generated/chain-selectors/testnet/evm/0g-testnet-newton.js +12 -0
  240. package/dist/generated/chain-selectors/testnet/evm/abstract-testnet.d.ts +3 -0
  241. package/dist/generated/chain-selectors/testnet/evm/abstract-testnet.js +12 -0
  242. package/dist/generated/chain-selectors/testnet/evm/anvil-devnet.d.ts +3 -0
  243. package/dist/generated/chain-selectors/testnet/evm/anvil-devnet.js +12 -0
  244. package/dist/generated/chain-selectors/testnet/evm/apechain-testnet-curtis.d.ts +3 -0
  245. package/dist/generated/chain-selectors/testnet/evm/apechain-testnet-curtis.js +12 -0
  246. package/dist/generated/chain-selectors/testnet/evm/areon-testnet.d.ts +3 -0
  247. package/dist/generated/chain-selectors/testnet/evm/areon-testnet.js +12 -0
  248. package/dist/generated/chain-selectors/testnet/evm/avalanche-subnet-dexalot-testnet.d.ts +3 -0
  249. package/dist/generated/chain-selectors/testnet/evm/avalanche-subnet-dexalot-testnet.js +12 -0
  250. package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-fuji.d.ts +3 -0
  251. package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-fuji.js +12 -0
  252. package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-nexon.d.ts +3 -0
  253. package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-nexon.js +12 -0
  254. package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-artio.d.ts +3 -0
  255. package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-artio.js +12 -0
  256. package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bartio.d.ts +3 -0
  257. package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bartio.js +12 -0
  258. package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bepolia.d.ts +3 -0
  259. package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bepolia.js +12 -0
  260. package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet-opbnb-1.d.ts +3 -0
  261. package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet-opbnb-1.js +12 -0
  262. package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet.d.ts +3 -0
  263. package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet.js +12 -0
  264. package/dist/generated/chain-selectors/testnet/evm/bitcichain-testnet.d.ts +3 -0
  265. package/dist/generated/chain-selectors/testnet/evm/bitcichain-testnet.js +12 -0
  266. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bitlayer-1.d.ts +3 -0
  267. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bitlayer-1.js +12 -0
  268. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-botanix.d.ts +3 -0
  269. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-botanix.js +12 -0
  270. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bsquared-1.d.ts +3 -0
  271. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bsquared-1.js +12 -0
  272. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-merlin.d.ts +3 -0
  273. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-merlin.js +12 -0
  274. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-rootstock.d.ts +3 -0
  275. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-rootstock.js +12 -0
  276. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-sepolia-bob-1.d.ts +3 -0
  277. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-sepolia-bob-1.js +12 -0
  278. package/dist/generated/chain-selectors/testnet/evm/bittensor-testnet.d.ts +3 -0
  279. package/dist/generated/chain-selectors/testnet/evm/bittensor-testnet.js +12 -0
  280. package/dist/generated/chain-selectors/testnet/evm/bittorrent.chain-testnet.d.ts +3 -0
  281. package/dist/generated/chain-selectors/testnet/evm/bittorrent.chain-testnet.js +12 -0
  282. package/dist/generated/chain-selectors/testnet/evm/celo-testnet-alfajores.d.ts +3 -0
  283. package/dist/generated/chain-selectors/testnet/evm/celo-testnet-alfajores.js +12 -0
  284. package/dist/generated/chain-selectors/testnet/evm/codex-testnet.d.ts +3 -0
  285. package/dist/generated/chain-selectors/testnet/evm/codex-testnet.js +12 -0
  286. package/dist/generated/chain-selectors/testnet/evm/coinex.smart.chain-testnet.d.ts +3 -0
  287. package/dist/generated/chain-selectors/testnet/evm/coinex.smart.chain-testnet.js +12 -0
  288. package/dist/generated/chain-selectors/testnet/evm/core-testnet.d.ts +3 -0
  289. package/dist/generated/chain-selectors/testnet/evm/core-testnet.js +12 -0
  290. package/dist/generated/chain-selectors/testnet/evm/cronos-testnet-zkevm-1.d.ts +3 -0
  291. package/dist/generated/chain-selectors/testnet/evm/cronos-testnet-zkevm-1.js +12 -0
  292. package/dist/generated/chain-selectors/testnet/evm/cronos-testnet.d.ts +3 -0
  293. package/dist/generated/chain-selectors/testnet/evm/cronos-testnet.js +12 -0
  294. package/dist/generated/chain-selectors/testnet/evm/cronos-zkevm-testnet-sepolia.d.ts +3 -0
  295. package/dist/generated/chain-selectors/testnet/evm/cronos-zkevm-testnet-sepolia.js +12 -0
  296. package/dist/generated/chain-selectors/testnet/evm/dtcc-testnet-andesite.d.ts +3 -0
  297. package/dist/generated/chain-selectors/testnet/evm/dtcc-testnet-andesite.js +12 -0
  298. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-arbitrum-1.d.ts +3 -0
  299. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-arbitrum-1.js +12 -0
  300. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-base-1.d.ts +3 -0
  301. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-base-1.js +12 -0
  302. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-linea-1.d.ts +3 -0
  303. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-linea-1.js +12 -0
  304. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-mantle-1.d.ts +3 -0
  305. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-mantle-1.js +12 -0
  306. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-optimism-1.d.ts +3 -0
  307. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-optimism-1.js +12 -0
  308. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-polygon-zkevm-1.d.ts +3 -0
  309. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-polygon-zkevm-1.js +12 -0
  310. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-zksync-1.d.ts +3 -0
  311. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-zksync-1.js +12 -0
  312. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-fraxtal-1.d.ts +3 -0
  313. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-fraxtal-1.js +12 -0
  314. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-morph-1.d.ts +3 -0
  315. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-morph-1.js +12 -0
  316. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-taiko-1.d.ts +3 -0
  317. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-taiko-1.js +12 -0
  318. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky.d.ts +3 -0
  319. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky.js +12 -0
  320. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-l3x-1.d.ts +3 -0
  321. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-l3x-1.js +12 -0
  322. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-treasure-1.d.ts +3 -0
  323. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-treasure-1.js +12 -0
  324. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1.d.ts +3 -0
  325. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1.js +12 -0
  326. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-base-1.d.ts +3 -0
  327. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-base-1.js +12 -0
  328. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-blast-1.d.ts +3 -0
  329. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-blast-1.js +12 -0
  330. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-corn-1.d.ts +3 -0
  331. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-corn-1.js +12 -0
  332. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-hashkey-1.d.ts +3 -0
  333. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-hashkey-1.js +12 -0
  334. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-immutable-zkevm-1.d.ts +3 -0
  335. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-immutable-zkevm-1.js +12 -0
  336. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-kroma-1.d.ts +3 -0
  337. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-kroma-1.js +12 -0
  338. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lens-1.d.ts +3 -0
  339. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lens-1.js +12 -0
  340. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-linea-1.d.ts +3 -0
  341. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-linea-1.js +12 -0
  342. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lisk-1.d.ts +3 -0
  343. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lisk-1.js +12 -0
  344. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mantle-1.d.ts +3 -0
  345. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mantle-1.js +12 -0
  346. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-metis-1.d.ts +3 -0
  347. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-metis-1.js +12 -0
  348. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mode-1.d.ts +3 -0
  349. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mode-1.js +12 -0
  350. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-optimism-1.d.ts +3 -0
  351. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-optimism-1.js +12 -0
  352. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-validium-1.d.ts +3 -0
  353. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-validium-1.js +12 -0
  354. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-zkevm-1.d.ts +3 -0
  355. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-zkevm-1.js +12 -0
  356. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-scroll-1.d.ts +3 -0
  357. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-scroll-1.js +12 -0
  358. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-soneium-1.d.ts +3 -0
  359. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-soneium-1.js +12 -0
  360. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-unichain-1.d.ts +3 -0
  361. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-unichain-1.js +12 -0
  362. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-worldchain-1.d.ts +3 -0
  363. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-worldchain-1.js +12 -0
  364. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-xlayer-1.d.ts +3 -0
  365. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-xlayer-1.js +12 -0
  366. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zircuit-1.d.ts +3 -0
  367. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zircuit-1.js +12 -0
  368. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zksync-1.d.ts +3 -0
  369. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zksync-1.js +12 -0
  370. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia.d.ts +3 -0
  371. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia.js +12 -0
  372. package/dist/generated/chain-selectors/testnet/evm/etherlink-testnet.d.ts +3 -0
  373. package/dist/generated/chain-selectors/testnet/evm/etherlink-testnet.js +12 -0
  374. package/dist/generated/chain-selectors/testnet/evm/fantom-testnet.d.ts +3 -0
  375. package/dist/generated/chain-selectors/testnet/evm/fantom-testnet.js +12 -0
  376. package/dist/generated/chain-selectors/testnet/evm/filecoin-testnet.d.ts +3 -0
  377. package/dist/generated/chain-selectors/testnet/evm/filecoin-testnet.js +12 -0
  378. package/dist/generated/chain-selectors/testnet/evm/geth-testnet.d.ts +3 -0
  379. package/dist/generated/chain-selectors/testnet/evm/geth-testnet.js +12 -0
  380. package/dist/generated/chain-selectors/testnet/evm/gnosis.chain-testnet-chiado.d.ts +3 -0
  381. package/dist/generated/chain-selectors/testnet/evm/gnosis.chain-testnet-chiado.js +12 -0
  382. package/dist/generated/chain-selectors/testnet/evm/hedera-testnet.d.ts +3 -0
  383. package/dist/generated/chain-selectors/testnet/evm/hedera-testnet.js +12 -0
  384. package/dist/generated/chain-selectors/testnet/evm/hemi-testnet-sepolia.d.ts +3 -0
  385. package/dist/generated/chain-selectors/testnet/evm/hemi-testnet-sepolia.js +12 -0
  386. package/dist/generated/chain-selectors/testnet/evm/hyperliquid-testnet.d.ts +3 -0
  387. package/dist/generated/chain-selectors/testnet/evm/hyperliquid-testnet.js +12 -0
  388. package/dist/generated/chain-selectors/testnet/evm/ink-testnet-sepolia.d.ts +3 -0
  389. package/dist/generated/chain-selectors/testnet/evm/ink-testnet-sepolia.js +12 -0
  390. package/dist/generated/chain-selectors/testnet/evm/janction-testnet-sepolia.d.ts +3 -0
  391. package/dist/generated/chain-selectors/testnet/evm/janction-testnet-sepolia.js +12 -0
  392. package/dist/generated/chain-selectors/testnet/evm/jovay-testnet.d.ts +3 -0
  393. package/dist/generated/chain-selectors/testnet/evm/jovay-testnet.js +12 -0
  394. package/dist/generated/chain-selectors/testnet/evm/kaia-testnet-kairos.d.ts +3 -0
  395. package/dist/generated/chain-selectors/testnet/evm/kaia-testnet-kairos.js +12 -0
  396. package/dist/generated/chain-selectors/testnet/evm/kava-testnet.d.ts +3 -0
  397. package/dist/generated/chain-selectors/testnet/evm/kava-testnet.js +12 -0
  398. package/dist/generated/chain-selectors/testnet/evm/megaeth-testnet.d.ts +3 -0
  399. package/dist/generated/chain-selectors/testnet/evm/megaeth-testnet.js +12 -0
  400. package/dist/generated/chain-selectors/testnet/evm/memento-testnet.d.ts +3 -0
  401. package/dist/generated/chain-selectors/testnet/evm/memento-testnet.js +12 -0
  402. package/dist/generated/chain-selectors/testnet/evm/metal-testnet.d.ts +3 -0
  403. package/dist/generated/chain-selectors/testnet/evm/metal-testnet.js +12 -0
  404. package/dist/generated/chain-selectors/testnet/evm/mind-testnet.d.ts +3 -0
  405. package/dist/generated/chain-selectors/testnet/evm/mind-testnet.js +12 -0
  406. package/dist/generated/chain-selectors/testnet/evm/mint-testnet.d.ts +3 -0
  407. package/dist/generated/chain-selectors/testnet/evm/mint-testnet.js +12 -0
  408. package/dist/generated/chain-selectors/testnet/evm/monad-testnet.d.ts +3 -0
  409. package/dist/generated/chain-selectors/testnet/evm/monad-testnet.js +12 -0
  410. package/dist/generated/chain-selectors/testnet/evm/near-testnet.d.ts +3 -0
  411. package/dist/generated/chain-selectors/testnet/evm/near-testnet.js +12 -0
  412. package/dist/generated/chain-selectors/testnet/evm/neonlink-testnet.d.ts +3 -0
  413. package/dist/generated/chain-selectors/testnet/evm/neonlink-testnet.js +12 -0
  414. package/dist/generated/chain-selectors/testnet/evm/neox-testnet-t4.d.ts +3 -0
  415. package/dist/generated/chain-selectors/testnet/evm/neox-testnet-t4.js +12 -0
  416. package/dist/generated/chain-selectors/testnet/evm/nexon-dev.d.ts +3 -0
  417. package/dist/generated/chain-selectors/testnet/evm/nexon-dev.js +12 -0
  418. package/dist/generated/chain-selectors/testnet/evm/nibiru-testnet.d.ts +3 -0
  419. package/dist/generated/chain-selectors/testnet/evm/nibiru-testnet.js +12 -0
  420. package/dist/generated/chain-selectors/testnet/evm/ondo-testnet.d.ts +3 -0
  421. package/dist/generated/chain-selectors/testnet/evm/ondo-testnet.js +12 -0
  422. package/dist/generated/chain-selectors/testnet/evm/pharos-testnet.d.ts +3 -0
  423. package/dist/generated/chain-selectors/testnet/evm/pharos-testnet.js +12 -0
  424. package/dist/generated/chain-selectors/testnet/evm/plasma-testnet.d.ts +3 -0
  425. package/dist/generated/chain-selectors/testnet/evm/plasma-testnet.js +12 -0
  426. package/dist/generated/chain-selectors/testnet/evm/plume-devnet.d.ts +3 -0
  427. package/dist/generated/chain-selectors/testnet/evm/plume-devnet.js +12 -0
  428. package/dist/generated/chain-selectors/testnet/evm/plume-testnet-sepolia.d.ts +3 -0
  429. package/dist/generated/chain-selectors/testnet/evm/plume-testnet-sepolia.js +12 -0
  430. package/dist/generated/chain-selectors/testnet/evm/plume-testnet.d.ts +3 -0
  431. package/dist/generated/chain-selectors/testnet/evm/plume-testnet.js +12 -0
  432. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-astar-shibuya.d.ts +3 -0
  433. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-astar-shibuya.js +12 -0
  434. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-centrifuge-altair.d.ts +3 -0
  435. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-centrifuge-altair.js +12 -0
  436. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-darwinia-pangoro.d.ts +3 -0
  437. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-darwinia-pangoro.js +12 -0
  438. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-moonbeam-moonbase.d.ts +3 -0
  439. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-moonbeam-moonbase.js +12 -0
  440. package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-amoy.d.ts +3 -0
  441. package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-amoy.js +12 -0
  442. package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-mumbai.d.ts +3 -0
  443. package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-mumbai.js +12 -0
  444. package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-tatara.d.ts +3 -0
  445. package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-tatara.js +12 -0
  446. package/dist/generated/chain-selectors/testnet/evm/private-testnet-andesite.d.ts +3 -0
  447. package/dist/generated/chain-selectors/testnet/evm/private-testnet-andesite.js +12 -0
  448. package/dist/generated/chain-selectors/testnet/evm/private-testnet-granite.d.ts +3 -0
  449. package/dist/generated/chain-selectors/testnet/evm/private-testnet-granite.js +12 -0
  450. package/dist/generated/chain-selectors/testnet/evm/private-testnet-mica.d.ts +3 -0
  451. package/dist/generated/chain-selectors/testnet/evm/private-testnet-mica.js +12 -0
  452. package/dist/generated/chain-selectors/testnet/evm/private-testnet-obsidian.d.ts +3 -0
  453. package/dist/generated/chain-selectors/testnet/evm/private-testnet-obsidian.js +12 -0
  454. package/dist/generated/chain-selectors/testnet/evm/private-testnet-opala.d.ts +3 -0
  455. package/dist/generated/chain-selectors/testnet/evm/private-testnet-opala.js +12 -0
  456. package/dist/generated/chain-selectors/testnet/evm/ronin-testnet-saigon.d.ts +3 -0
  457. package/dist/generated/chain-selectors/testnet/evm/ronin-testnet-saigon.js +12 -0
  458. package/dist/generated/chain-selectors/testnet/evm/sei-testnet-atlantic.d.ts +3 -0
  459. package/dist/generated/chain-selectors/testnet/evm/sei-testnet-atlantic.js +12 -0
  460. package/dist/generated/chain-selectors/testnet/evm/shibarium-testnet-puppynet.d.ts +3 -0
  461. package/dist/generated/chain-selectors/testnet/evm/shibarium-testnet-puppynet.js +12 -0
  462. package/dist/generated/chain-selectors/testnet/evm/sonic-testnet-blaze.d.ts +3 -0
  463. package/dist/generated/chain-selectors/testnet/evm/sonic-testnet-blaze.js +12 -0
  464. package/dist/generated/chain-selectors/testnet/evm/story-testnet.d.ts +3 -0
  465. package/dist/generated/chain-selectors/testnet/evm/story-testnet.js +12 -0
  466. package/dist/generated/chain-selectors/testnet/evm/superseed-testnet.d.ts +3 -0
  467. package/dist/generated/chain-selectors/testnet/evm/superseed-testnet.js +12 -0
  468. package/dist/generated/chain-selectors/testnet/evm/tac-testnet.d.ts +3 -0
  469. package/dist/generated/chain-selectors/testnet/evm/tac-testnet.js +12 -0
  470. package/dist/generated/chain-selectors/testnet/evm/telos-evm-testnet.d.ts +3 -0
  471. package/dist/generated/chain-selectors/testnet/evm/telos-evm-testnet.js +12 -0
  472. package/dist/generated/chain-selectors/testnet/evm/treasure-testnet-topaz.d.ts +3 -0
  473. package/dist/generated/chain-selectors/testnet/evm/treasure-testnet-topaz.js +12 -0
  474. package/dist/generated/chain-selectors/testnet/evm/tron-devnet-evm.d.ts +3 -0
  475. package/dist/generated/chain-selectors/testnet/evm/tron-devnet-evm.js +12 -0
  476. package/dist/generated/chain-selectors/testnet/evm/tron-testnet-nile-evm.d.ts +3 -0
  477. package/dist/generated/chain-selectors/testnet/evm/tron-testnet-nile-evm.js +12 -0
  478. package/dist/generated/chain-selectors/testnet/evm/tron-testnet-shasta-evm.d.ts +3 -0
  479. package/dist/generated/chain-selectors/testnet/evm/tron-testnet-shasta-evm.js +12 -0
  480. package/dist/generated/chain-selectors/testnet/evm/velas-testnet.d.ts +3 -0
  481. package/dist/generated/chain-selectors/testnet/evm/velas-testnet.js +12 -0
  482. package/dist/generated/chain-selectors/testnet/evm/wemix-testnet.d.ts +3 -0
  483. package/dist/generated/chain-selectors/testnet/evm/wemix-testnet.js +12 -0
  484. package/dist/generated/chain-selectors/testnet/evm/xdc-testnet.d.ts +3 -0
  485. package/dist/generated/chain-selectors/testnet/evm/xdc-testnet.js +12 -0
  486. package/dist/generated/chain-selectors/testnet/evm/zero-g-testnet-galileo.d.ts +3 -0
  487. package/dist/generated/chain-selectors/testnet/evm/zero-g-testnet-galileo.js +12 -0
  488. package/dist/generated/chain-selectors/testnet/evm/zircuit-testnet-garfield.d.ts +3 -0
  489. package/dist/generated/chain-selectors/testnet/evm/zircuit-testnet-garfield.js +12 -0
  490. package/dist/generated/chain-selectors/testnet/evm/zklink.nova-testnet.d.ts +3 -0
  491. package/dist/generated/chain-selectors/testnet/evm/zklink.nova-testnet.js +12 -0
  492. package/dist/generated/chain-selectors/testnet/evm/zora-testnet.d.ts +3 -0
  493. package/dist/generated/chain-selectors/testnet/evm/zora-testnet.js +12 -0
  494. package/dist/generated/chain-selectors/testnet/solana/solana-devnet.d.ts +3 -0
  495. package/dist/generated/chain-selectors/testnet/solana/solana-devnet.js +12 -0
  496. package/dist/generated/chain-selectors/testnet/solana/solana-testnet.d.ts +3 -0
  497. package/dist/generated/chain-selectors/testnet/solana/solana-testnet.js +12 -0
  498. package/dist/generated/chain-selectors/testnet/sui/sui-localnet.d.ts +3 -0
  499. package/dist/generated/chain-selectors/testnet/sui/sui-localnet.js +12 -0
  500. package/dist/generated/chain-selectors/testnet/sui/sui-testnet.d.ts +3 -0
  501. package/dist/generated/chain-selectors/testnet/sui/sui-testnet.js +12 -0
  502. package/dist/generated/chain-selectors/testnet/ton/ton-localnet.d.ts +3 -0
  503. package/dist/generated/chain-selectors/testnet/ton/ton-localnet.js +12 -0
  504. package/dist/generated/chain-selectors/testnet/ton/ton-testnet.d.ts +3 -0
  505. package/dist/generated/chain-selectors/testnet/ton/ton-testnet.js +12 -0
  506. package/dist/generated/chain-selectors/testnet/tron/tron-devnet.d.ts +3 -0
  507. package/dist/generated/chain-selectors/testnet/tron/tron-devnet.js +12 -0
  508. package/dist/generated/chain-selectors/testnet/tron/tron-testnet-nile.d.ts +3 -0
  509. package/dist/generated/chain-selectors/testnet/tron/tron-testnet-nile.js +12 -0
  510. package/dist/generated/chain-selectors/testnet/tron/tron-testnet-shasta.d.ts +3 -0
  511. package/dist/generated/chain-selectors/testnet/tron/tron-testnet-shasta.js +12 -0
  512. package/dist/generated/networks.d.ts +54 -0
  513. package/dist/generated/networks.js +1821 -0
  514. package/dist/generated/sdk/v1alpha/sdk_pb.d.ts +989 -0
  515. package/dist/generated/sdk/v1alpha/sdk_pb.js +203 -0
  516. package/dist/generated/tools/generator/v1alpha/cre_metadata_pb.d.ts +309 -0
  517. package/dist/generated/tools/generator/v1alpha/cre_metadata_pb.js +80 -0
  518. package/dist/generated/values/v1/values_pb.d.ts +261 -0
  519. package/dist/generated/values/v1/values_pb.js +46 -0
  520. package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.d.ts +92 -0
  521. package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.js +489 -0
  522. package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.d.ts +48 -0
  523. package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.js +108 -0
  524. package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.d.ts +23 -0
  525. package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.js +63 -0
  526. package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.d.ts +45 -0
  527. package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.js +71 -0
  528. package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.d.ts +26 -0
  529. package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.js +100 -0
  530. package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.d.ts +23 -0
  531. package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.js +63 -0
  532. package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.d.ts +45 -0
  533. package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.js +71 -0
  534. package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.d.ts +45 -0
  535. package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.js +71 -0
  536. package/dist/index.d.ts +3 -0
  537. package/dist/index.js +4 -0
  538. package/dist/sdk/cre/index.d.ts +34 -0
  539. package/dist/sdk/cre/index.js +35 -0
  540. package/dist/sdk/engine/execute.d.ts +4 -0
  541. package/dist/sdk/engine/execute.js +12 -0
  542. package/dist/sdk/engine/execute.test.d.ts +1 -0
  543. package/dist/sdk/engine/execute.test.js +129 -0
  544. package/dist/sdk/engine/handleExecutionPhase.d.ts +4 -0
  545. package/dist/sdk/engine/handleExecutionPhase.js +34 -0
  546. package/dist/sdk/engine/handleSubscribePhase.d.ts +3 -0
  547. package/dist/sdk/engine/handleSubscribePhase.js +23 -0
  548. package/dist/sdk/index.d.ts +1 -0
  549. package/dist/sdk/index.js +1 -0
  550. package/dist/sdk/logger.d.ts +7 -0
  551. package/dist/sdk/logger.js +18 -0
  552. package/dist/sdk/runtime/errors.d.ts +23 -0
  553. package/dist/sdk/runtime/errors.js +30 -0
  554. package/dist/sdk/runtime/host-bindings.d.ts +14 -0
  555. package/dist/sdk/runtime/host-bindings.js +56 -0
  556. package/dist/sdk/runtime/index.d.ts +3 -0
  557. package/dist/sdk/runtime/index.js +2 -0
  558. package/dist/sdk/runtime/run-in-node-mode.d.ts +12 -0
  559. package/dist/sdk/runtime/run-in-node-mode.js +47 -0
  560. package/dist/sdk/runtime/run-in-node-mode.test.d.ts +1 -0
  561. package/dist/sdk/runtime/run-in-node-mode.test.js +116 -0
  562. package/dist/sdk/runtime/runtime.d.ts +36 -0
  563. package/dist/sdk/runtime/runtime.js +84 -0
  564. package/dist/sdk/runtime/runtime.test.d.ts +1 -0
  565. package/dist/sdk/runtime/runtime.test.js +58 -0
  566. package/dist/sdk/testhelpers/dangerously-call-capability.d.ts +10 -0
  567. package/dist/sdk/testhelpers/dangerously-call-capability.js +26 -0
  568. package/dist/sdk/testhelpers/mock-host-bindings.d.ts +15 -0
  569. package/dist/sdk/testhelpers/mock-host-bindings.js +25 -0
  570. package/dist/sdk/testhelpers/mock-runtime.d.ts +2 -0
  571. package/dist/sdk/testhelpers/mock-runtime.js +16 -0
  572. package/dist/sdk/utils/await-async-request.d.ts +9 -0
  573. package/dist/sdk/utils/await-async-request.js +27 -0
  574. package/dist/sdk/utils/capabilities/call-capability.d.ts +22 -0
  575. package/dist/sdk/utils/capabilities/call-capability.js +33 -0
  576. package/dist/sdk/utils/capabilities/callback-id.d.ts +3 -0
  577. package/dist/sdk/utils/capabilities/callback-id.js +22 -0
  578. package/dist/sdk/utils/capabilities/capability-error.d.ts +14 -0
  579. package/dist/sdk/utils/capabilities/capability-error.js +17 -0
  580. package/dist/sdk/utils/capabilities/http/fetch.d.ts +44 -0
  581. package/dist/sdk/utils/capabilities/http/fetch.js +63 -0
  582. package/dist/sdk/utils/chain-selectors/getAllNetworks.d.ts +2 -0
  583. package/dist/sdk/utils/chain-selectors/getAllNetworks.js +2 -0
  584. package/dist/sdk/utils/chain-selectors/getNetwork.d.ts +14 -0
  585. package/dist/sdk/utils/chain-selectors/getNetwork.js +36 -0
  586. package/dist/sdk/utils/chain-selectors/index.d.ts +3 -0
  587. package/dist/sdk/utils/chain-selectors/index.js +3 -0
  588. package/dist/sdk/utils/chain-selectors/types.d.ts +12 -0
  589. package/dist/sdk/utils/chain-selectors/types.js +1 -0
  590. package/dist/sdk/utils/config/index.d.ts +9 -0
  591. package/dist/sdk/utils/config/index.js +46 -0
  592. package/dist/sdk/utils/do-request-async.d.ts +12 -0
  593. package/dist/sdk/utils/do-request-async.js +17 -0
  594. package/dist/sdk/utils/error-boundary.d.ts +2 -0
  595. package/dist/sdk/utils/error-boundary.js +30 -0
  596. package/dist/sdk/utils/get-request.d.ts +1 -0
  597. package/dist/sdk/utils/get-request.js +15 -0
  598. package/dist/sdk/utils/hex-utils.d.ts +21 -0
  599. package/dist/sdk/utils/hex-utils.js +31 -0
  600. package/dist/sdk/utils/index.d.ts +7 -0
  601. package/dist/sdk/utils/index.js +7 -0
  602. package/dist/sdk/utils/lazy-promise.d.ts +59 -0
  603. package/dist/sdk/utils/lazy-promise.js +81 -0
  604. package/dist/sdk/utils/prepare-runtime.d.ts +6 -0
  605. package/dist/sdk/utils/prepare-runtime.js +9 -0
  606. package/dist/sdk/utils/random/get-rand.d.ts +3 -0
  607. package/dist/sdk/utils/random/get-rand.js +6 -0
  608. package/dist/sdk/utils/random/random.d.ts +35 -0
  609. package/dist/sdk/utils/random/random.js +123 -0
  610. package/dist/sdk/utils/safeJsonStringify.d.ts +6 -0
  611. package/dist/sdk/utils/safeJsonStringify.js +6 -0
  612. package/dist/sdk/utils/secrets/await-async-secret.d.ts +1 -0
  613. package/dist/sdk/utils/secrets/await-async-secret.js +29 -0
  614. package/dist/sdk/utils/secrets/do-get-secret.d.ts +1 -0
  615. package/dist/sdk/utils/secrets/do-get-secret.js +14 -0
  616. package/dist/sdk/utils/secrets/get-secret.d.ts +1 -0
  617. package/dist/sdk/utils/secrets/get-secret.js +10 -0
  618. package/dist/sdk/utils/secrets-error.d.ts +3 -0
  619. package/dist/sdk/utils/secrets-error.js +6 -0
  620. package/dist/sdk/utils/send-error.d.ts +1 -0
  621. package/dist/sdk/utils/send-error.js +16 -0
  622. package/dist/sdk/utils/send-response-value.d.ts +2 -0
  623. package/dist/sdk/utils/send-response-value.js +15 -0
  624. package/dist/sdk/utils/time/get-time.d.ts +16 -0
  625. package/dist/sdk/utils/time/get-time.js +21 -0
  626. package/dist/sdk/utils/triggers/trigger-interface.d.ts +21 -0
  627. package/dist/sdk/utils/triggers/trigger-interface.js +1 -0
  628. package/dist/sdk/utils/typeurl.d.ts +3 -0
  629. package/dist/sdk/utils/typeurl.js +1 -0
  630. package/dist/sdk/utils/values/consensus_aggregators.d.ts +27 -0
  631. package/dist/sdk/utils/values/consensus_aggregators.js +84 -0
  632. package/dist/sdk/utils/values/consensus_aggregators.test.d.ts +1 -0
  633. package/dist/sdk/utils/values/consensus_aggregators.test.js +172 -0
  634. package/dist/sdk/utils/values/serializer_types.d.ts +11 -0
  635. package/dist/sdk/utils/values/serializer_types.js +1 -0
  636. package/dist/sdk/utils/values/serializer_types.test.d.ts +1 -0
  637. package/dist/sdk/utils/values/serializer_types.test.js +104 -0
  638. package/dist/sdk/utils/values/value.d.ts +82 -0
  639. package/dist/sdk/utils/values/value.js +376 -0
  640. package/dist/sdk/utils/values/value.test.d.ts +1 -0
  641. package/dist/sdk/utils/values/value.test.js +439 -0
  642. package/dist/sdk/workflow.d.ts +19 -0
  643. package/dist/sdk/workflow.js +25 -0
  644. package/package.json +69 -8
  645. package/scripts/run-standard-tests.sh +21 -0
  646. package/scripts/run.ts +45 -0
  647. package/scripts/src/compile-all-standard-tests.ts +81 -0
  648. package/scripts/src/compile-to-js.ts +57 -0
  649. package/scripts/src/compile-to-wasm.ts +61 -0
  650. package/scripts/src/compile-workflow.ts +66 -0
  651. package/scripts/src/fix-imports.ts +39 -0
  652. package/scripts/src/generate-chain-selectors.ts +450 -0
  653. package/scripts/src/generate-sdks.ts +36 -0
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Public API for the CRE SDK.
3
+ */
4
+ import { ClientCapability as EVMClient } from '../../generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen';
5
+ import { ClientCapability as HTTPClient } from '../../generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen';
6
+ import { HTTPCapability } from '../../generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen';
7
+ import { CronCapability } from '../../generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen';
8
+ import { runInNodeMode } from '../runtime/run-in-node-mode';
9
+ import { Runner } from '../workflow';
10
+ export type { NodeRuntime, Runtime } from '../runtime/runtime';
11
+ export declare const cre: {
12
+ capabilities: {
13
+ CronCapability: typeof CronCapability;
14
+ HTTPCapability: typeof HTTPCapability;
15
+ HTTPClient: typeof HTTPClient;
16
+ EVMClient: typeof EVMClient;
17
+ };
18
+ config: <TConfig>({ configParser, configSchema, }?: import("../utils/config").ConfigHandlerParams) => Promise<TConfig>;
19
+ handler: <TRawTriggerOutput extends import("@bufbuild/protobuf").Message<string>, TTriggerOutput = TRawTriggerOutput, TConfig = unknown>(trigger: import("../utils/triggers/trigger-interface").Trigger<TRawTriggerOutput, TTriggerOutput>, fn: import("../workflow").HandlerFn<TConfig, TTriggerOutput>) => import("../workflow").HandlerEntry<TConfig, TRawTriggerOutput, TTriggerOutput>;
20
+ newRunner: typeof Runner.newRunner;
21
+ runInNodeMode: typeof runInNodeMode;
22
+ utils: {
23
+ fetch: (input: import("../utils/capabilities/http/fetch").CreFetchRequest) => Promise<{
24
+ statusCode: number;
25
+ headers: {
26
+ [key: string]: string;
27
+ };
28
+ body: string;
29
+ }>;
30
+ };
31
+ sendResponseValue: (value: import("../utils").Value) => void;
32
+ sendError: (error: string | Error) => void;
33
+ withErrorBoundary: (fn: () => Promise<void>) => Promise<void>;
34
+ };
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Public API for the CRE SDK.
3
+ */
4
+ import { ClientCapability as EVMClient } from '../../generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen';
5
+ import { ClientCapability as HTTPClient } from '../../generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen';
6
+ import { HTTPCapability } from '../../generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen';
7
+ import { CronCapability } from '../../generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen';
8
+ import { runInNodeMode } from '../runtime/run-in-node-mode';
9
+ import { creFetch } from '../utils/capabilities/http/fetch';
10
+ import { configHandler } from '../utils/config';
11
+ import { withErrorBoundary } from '../utils/error-boundary';
12
+ import { prepareRuntime } from '../utils/prepare-runtime';
13
+ import { sendError } from '../utils/send-error';
14
+ import { sendResponseValue } from '../utils/send-response-value';
15
+ import { handler, Runner } from '../workflow';
16
+ prepareRuntime();
17
+ versionV2();
18
+ export const cre = {
19
+ capabilities: {
20
+ CronCapability,
21
+ HTTPCapability,
22
+ HTTPClient,
23
+ EVMClient,
24
+ },
25
+ config: configHandler,
26
+ handler,
27
+ newRunner: Runner.newRunner,
28
+ runInNodeMode,
29
+ utils: {
30
+ fetch: creFetch,
31
+ },
32
+ sendResponseValue,
33
+ sendError,
34
+ withErrorBoundary,
35
+ };
@@ -0,0 +1,4 @@
1
+ import { type CapabilityResponse, type ExecuteRequest } from '../../generated/sdk/v1alpha/sdk_pb';
2
+ import type { Runtime } from '../runtime/runtime';
3
+ import type { Workflow } from '../workflow';
4
+ export declare const handleExecuteRequest: <TConfig>(req: ExecuteRequest, workflow: Workflow<TConfig>, config: TConfig, runtime: Runtime) => Promise<CapabilityResponse | undefined>;
@@ -0,0 +1,12 @@
1
+ import { Mode, } from '../../generated/sdk/v1alpha/sdk_pb';
2
+ import { handleExecutionPhase } from './handleExecutionPhase';
3
+ import { handleSubscribePhase } from './handleSubscribePhase';
4
+ export const handleExecuteRequest = async (req, workflow, config, runtime) => {
5
+ if (req.request.case === 'subscribe') {
6
+ return handleSubscribePhase(req, workflow);
7
+ }
8
+ if (req.request.case === 'trigger') {
9
+ runtime.switchModes(Mode.DON);
10
+ return handleExecutionPhase(req, workflow, config, runtime);
11
+ }
12
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,129 @@
1
+ import { describe, expect, mock, test } from 'bun:test';
2
+ import { create, fromBinary, toBinary } from '@bufbuild/protobuf';
3
+ import { EmptySchema } from '@bufbuild/protobuf/wkt';
4
+ import { TriggerEventSchema as ActionTriggerEventSchema } from '../../generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb';
5
+ import { OutputsSchema as BasicTriggerOutputsSchema } from '../../generated/capabilities/internal/basictrigger/v1/basic_trigger_pb';
6
+ import { ExecuteRequestSchema, ExecutionResultSchema, } from '../../generated/sdk/v1alpha/sdk_pb';
7
+ import { BasicCapability as ActionAndTriggerCapability } from '../../generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen';
8
+ import { BasicCapability as BasicTriggerCapability } from '../../generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen';
9
+ import { handleExecuteRequest } from './execute';
10
+ import { mockHostBindings } from '../testhelpers/mock-host-bindings';
11
+ import { mockedRuntime } from '../testhelpers/mock-runtime';
12
+ import { getTypeUrl } from '../utils/typeurl';
13
+ import { handler } from '../workflow';
14
+ const emptyConfig = {};
15
+ const decodeExecutionResult = (result) => fromBinary(ExecutionResultSchema, result);
16
+ describe('engine/execute', () => {
17
+ test('subscribe returns TriggerSubscriptionRequest wrapped in ExecutionResult', async () => {
18
+ const subs = [];
19
+ // mock sendResponse to capture the payload
20
+ mockHostBindings.sendResponse.mockImplementation((resp) => {
21
+ const exec = decodeExecutionResult(resp);
22
+ const ts = exec.result.case === 'triggerSubscriptions' ? exec.result.value : undefined;
23
+ expect(ts).toBeDefined();
24
+ expect(ts.subscriptions.length).toBe(3);
25
+ ts.subscriptions.forEach((s) => subs.push(`${s.id}:${s.method}:${s.payload?.typeUrl}`));
26
+ return 0;
27
+ });
28
+ const basic = new BasicTriggerCapability();
29
+ const action = new ActionAndTriggerCapability();
30
+ const workflow = [
31
+ handler(basic.trigger({ name: 'first-trigger', number: 100 }), () => { }),
32
+ handler(action.trigger({ name: 'second-trigger', number: 150 }), () => { }),
33
+ handler(basic.trigger({ name: 'third-trigger', number: 200 }), () => { }),
34
+ ];
35
+ const req = create(ExecuteRequestSchema, {
36
+ config: new Uint8Array(),
37
+ request: { case: 'subscribe', value: create(EmptySchema) },
38
+ maxResponseSize: 0n,
39
+ });
40
+ await handleExecuteRequest(req, workflow, emptyConfig, mockedRuntime);
41
+ expect(subs[0]).toContain('basic-test-trigger@1.0.0:Trigger:type.googleapis.com/capabilities.internal.basictrigger.v1.Config');
42
+ expect(subs[1]).toContain('basic-test-action-trigger@1.0.0:Trigger:type.googleapis.com/capabilities.internal.actionandtrigger.v1.Config');
43
+ expect(subs[2]).toContain('basic-test-trigger@1.0.0:Trigger:type.googleapis.com/capabilities.internal.basictrigger.v1.Config');
44
+ mockHostBindings.sendResponse.mockRestore();
45
+ });
46
+ test('trigger routes by id and decodes payload for correct handler', async () => {
47
+ const calls = [];
48
+ const basic = new BasicTriggerCapability();
49
+ const action = new ActionAndTriggerCapability();
50
+ const workflow = [
51
+ handler(basic.trigger({ name: 'first-trigger', number: 100 }), (_e, _r, out) => {
52
+ // @ts-ignore
53
+ calls.push(`basic:${out.coolOutput}`);
54
+ }),
55
+ handler(action.trigger({ name: 'second-trigger', number: 150 }), (_e, _r, out) => {
56
+ // @ts-ignore
57
+ calls.push(`action:${out.coolOutput}`);
58
+ }),
59
+ handler(basic.trigger({ name: 'third-trigger', number: 200 }), (_e, _r, out) => {
60
+ // @ts-ignore
61
+ calls.push(`basic2:${out.coolOutput}`);
62
+ }),
63
+ ];
64
+ // Build ExecuteRequest with id=1 (second handler) and payload of Action TriggerEvent
65
+ const payloadAny = {
66
+ typeUrl: getTypeUrl(ActionTriggerEventSchema),
67
+ value: toBinary(ActionTriggerEventSchema, create(ActionTriggerEventSchema, { coolOutput: 'different' })),
68
+ };
69
+ const req = create(ExecuteRequestSchema, {
70
+ config: new Uint8Array(),
71
+ request: {
72
+ case: 'trigger',
73
+ value: { id: 1n, payload: payloadAny },
74
+ },
75
+ maxResponseSize: 0n,
76
+ });
77
+ await handleExecuteRequest(req, workflow, emptyConfig, mockedRuntime);
78
+ expect(calls).toEqual(['action:different']);
79
+ });
80
+ test('trigger ignores out-of-range id (no handler invoked)', async () => {
81
+ const calls = [];
82
+ const basic = new BasicTriggerCapability();
83
+ const action = new ActionAndTriggerCapability();
84
+ const workflow = [
85
+ handler(basic.trigger({ name: 'first-trigger', number: 100 }), () => {
86
+ calls.push('basic');
87
+ }),
88
+ handler(action.trigger({ name: 'second-trigger', number: 150 }), () => {
89
+ calls.push('action');
90
+ }),
91
+ ];
92
+ const payloadAny = {
93
+ typeUrl: getTypeUrl(ActionTriggerEventSchema),
94
+ value: toBinary(ActionTriggerEventSchema, create(ActionTriggerEventSchema, { coolOutput: 'x' })),
95
+ };
96
+ const req = create(ExecuteRequestSchema, {
97
+ config: new Uint8Array(),
98
+ request: { case: 'trigger', value: { id: 999n, payload: payloadAny } },
99
+ maxResponseSize: 0n,
100
+ });
101
+ await handleExecuteRequest(req, workflow, emptyConfig, mockedRuntime);
102
+ expect(calls).toEqual([]);
103
+ });
104
+ test('trigger ignores typeUrl mismatch for targeted handler', async () => {
105
+ const calls = [];
106
+ const basic = new BasicTriggerCapability();
107
+ const action = new ActionAndTriggerCapability();
108
+ const workflow = [
109
+ handler(basic.trigger({ name: 'first-trigger', number: 100 }), () => {
110
+ calls.push('basic');
111
+ }),
112
+ handler(action.trigger({ name: 'second-trigger', number: 150 }), () => {
113
+ calls.push('action');
114
+ }),
115
+ ];
116
+ // Intentionally send BasicTriggerOutputs payload to the action trigger handler (index 1)
117
+ const payloadAny = {
118
+ typeUrl: `type.googleapis.com/${BasicTriggerOutputsSchema.typeName}`,
119
+ value: toBinary(BasicTriggerOutputsSchema, create(BasicTriggerOutputsSchema, { coolOutput: 'mismatch' })),
120
+ };
121
+ const req = create(ExecuteRequestSchema, {
122
+ config: new Uint8Array(),
123
+ request: { case: 'trigger', value: { id: 1n, payload: payloadAny } },
124
+ maxResponseSize: 0n,
125
+ });
126
+ await handleExecuteRequest(req, workflow, emptyConfig, mockedRuntime);
127
+ expect(calls).toEqual([]);
128
+ });
129
+ });
@@ -0,0 +1,4 @@
1
+ import type { CapabilityResponse, ExecuteRequest } from '../../generated/sdk/v1alpha/sdk_pb';
2
+ import type { Runtime } from '../runtime/runtime';
3
+ import type { Workflow } from '../workflow';
4
+ export declare const handleExecutionPhase: <TConfig>(req: ExecuteRequest, workflow: Workflow<TConfig>, config: TConfig, runtime: Runtime) => Promise<CapabilityResponse | undefined>;
@@ -0,0 +1,34 @@
1
+ import { fromBinary } from '@bufbuild/protobuf';
2
+ import { getTypeUrl } from '../utils/typeurl';
3
+ export const handleExecutionPhase = async (req, workflow, config, runtime) => {
4
+ if (req.request.case !== 'trigger') {
5
+ return;
6
+ }
7
+ const triggerMsg = req.request.value;
8
+ const index = Number(triggerMsg.id);
9
+ if (Number.isFinite(index) && index >= 0 && index < workflow.length) {
10
+ const entry = workflow[index];
11
+ const schema = entry.trigger.outputSchema();
12
+ const payloadAny = triggerMsg.payload;
13
+ if (!payloadAny) {
14
+ return;
15
+ }
16
+ // Extra safety: verify payload typeUrl matches expected schema type
17
+ const expectedTypeUrl = getTypeUrl(schema);
18
+ if (payloadAny.typeUrl && payloadAny.typeUrl !== expectedTypeUrl) {
19
+ return;
20
+ }
21
+ /**
22
+ * Note: do not hardcode method name; routing by id is authoritative.
23
+ *
24
+ * This matches the GO SDK behavior, which also just checks for the id.
25
+ *
26
+ * @see https://github.com/smartcontractkit/cre-sdk-go/blob/5a41d81e3e072008484e85dc96d746401aafcba2/cre/wasm/runner.go#L81
27
+ * */
28
+ const decoded = fromBinary(schema, payloadAny.value);
29
+ const adapted = await entry.trigger.adapt(decoded);
30
+ // By default config is a JSON string, send as bytes
31
+ const handlerEnv = config || JSON.parse(Buffer.from(req.config).toString());
32
+ await entry.fn(handlerEnv, runtime, adapted);
33
+ }
34
+ };
@@ -0,0 +1,3 @@
1
+ import type { ExecuteRequest } from '../../generated/sdk/v1alpha/sdk_pb';
2
+ import type { Workflow } from '../workflow';
3
+ export declare const handleSubscribePhase: <TConfig>(req: ExecuteRequest, workflow: Workflow<TConfig>) => undefined;
@@ -0,0 +1,23 @@
1
+ import { create, toBinary } from '@bufbuild/protobuf';
2
+ import { ExecutionResultSchema, TriggerSubscriptionRequestSchema, } from '../../generated/sdk/v1alpha/sdk_pb';
3
+ import { hostBindings } from '../runtime/host-bindings';
4
+ export const handleSubscribePhase = (req, workflow) => {
5
+ if (req.request.case !== 'subscribe') {
6
+ return;
7
+ }
8
+ // Build TriggerSubscriptionRequest from the workflow entries
9
+ const subscriptions = workflow.map((entry) => ({
10
+ id: entry.trigger.capabilityId(),
11
+ method: entry.trigger.method(),
12
+ payload: entry.trigger.configAsAny(),
13
+ }));
14
+ const subscriptionRequest = create(TriggerSubscriptionRequestSchema, {
15
+ subscriptions,
16
+ });
17
+ // Wrap in ExecutionResult.triggerSubscriptions
18
+ const execResult = create(ExecutionResultSchema, {
19
+ result: { case: 'triggerSubscriptions', value: subscriptionRequest },
20
+ });
21
+ const encoded = toBinary(ExecutionResultSchema, execResult);
22
+ hostBindings.sendResponse(encoded);
23
+ };
@@ -0,0 +1 @@
1
+ export * from './cre';
@@ -0,0 +1 @@
1
+ export * from './cre';
@@ -0,0 +1,7 @@
1
+ export type Logger = {
2
+ log: (message: string) => void;
3
+ info: (message: string) => void;
4
+ error: (message: string) => void;
5
+ warn: (message: string) => void;
6
+ };
7
+ export declare const logger: Logger;
@@ -0,0 +1,18 @@
1
+ export const logger = {
2
+ log: (message) => {
3
+ console.log(message);
4
+ log(message);
5
+ },
6
+ info: (message) => {
7
+ console.info(message);
8
+ log(message);
9
+ },
10
+ error: (message) => {
11
+ console.error(message);
12
+ log(message);
13
+ },
14
+ warn: (message) => {
15
+ console.warn(message);
16
+ log(message);
17
+ },
18
+ };
@@ -0,0 +1,23 @@
1
+ import type { Mode } from '../../generated/sdk/v1alpha/sdk_pb';
2
+ export declare class DonModeError extends Error {
3
+ name: string;
4
+ capabilityId?: string;
5
+ method?: string;
6
+ mode?: Mode;
7
+ constructor(message?: string, options?: {
8
+ capabilityId?: string;
9
+ method?: string;
10
+ mode?: Mode;
11
+ });
12
+ }
13
+ export declare class NodeModeError extends Error {
14
+ name: string;
15
+ capabilityId?: string;
16
+ method?: string;
17
+ mode?: Mode;
18
+ constructor(message?: string, options?: {
19
+ capabilityId?: string;
20
+ method?: string;
21
+ mode?: Mode;
22
+ });
23
+ }
@@ -0,0 +1,30 @@
1
+ export class DonModeError extends Error {
2
+ name;
3
+ capabilityId;
4
+ method;
5
+ mode;
6
+ constructor(message = 'cannot use Runtime inside RunInNodeMode', options) {
7
+ super(message);
8
+ this.name = 'DonModeError';
9
+ if (options) {
10
+ this.capabilityId = options.capabilityId;
11
+ this.method = options.method;
12
+ this.mode = options.mode;
13
+ }
14
+ }
15
+ }
16
+ export class NodeModeError extends Error {
17
+ name;
18
+ capabilityId;
19
+ method;
20
+ mode;
21
+ constructor(message = 'cannot use NodeRuntime outside RunInNodeMode', options) {
22
+ super(message);
23
+ this.name = 'NodeModeError';
24
+ if (options) {
25
+ this.capabilityId = options.capabilityId;
26
+ this.method = options.method;
27
+ this.mode = options.mode;
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,14 @@
1
+ import { Mode } from '../../generated/sdk/v1alpha/sdk_pb';
2
+ export declare const hostBindings: {
3
+ switchModes: (args_0: Mode, ...args: unknown[]) => void;
4
+ log: (args_0: string, ...args: unknown[]) => void;
5
+ sendResponse: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, ...args: unknown[]) => number;
6
+ randomSeed: (args_0: Mode.DON | Mode.NODE, ...args: unknown[]) => number;
7
+ versionV2: (...args: unknown[]) => void;
8
+ callCapability: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, ...args: unknown[]) => number;
9
+ awaitCapabilities: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, args_1: number, ...args: unknown[]) => Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>;
10
+ getSecrets: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, args_1: number, ...args: unknown[]) => any;
11
+ awaitSecrets: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, args_1: number, ...args: unknown[]) => Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>;
12
+ getWasiArgs: (...args: unknown[]) => string;
13
+ now: (...args: unknown[]) => number;
14
+ };
@@ -0,0 +1,56 @@
1
+ import { Mode } from '../../generated/sdk/v1alpha/sdk_pb';
2
+ import { z } from 'zod';
3
+ // Zod schema for validating global host functions
4
+ const globalHostBindingsSchema = z.object({
5
+ switchModes: z.function().args(z.nativeEnum(Mode)).returns(z.void()),
6
+ log: z.function().args(z.string()).returns(z.void()),
7
+ sendResponse: z
8
+ .function()
9
+ .args(z.union([z.instanceof(Uint8Array), z.custom()]))
10
+ .returns(z.number()),
11
+ randomSeed: z
12
+ .function()
13
+ .args(z.union([z.literal(Mode.DON), z.literal(Mode.NODE)]))
14
+ .returns(z.number()),
15
+ versionV2: z.function().args().returns(z.void()),
16
+ callCapability: z
17
+ .function()
18
+ .args(z.union([z.instanceof(Uint8Array), z.custom()]))
19
+ .returns(z.number()),
20
+ awaitCapabilities: z
21
+ .function()
22
+ .args(z.union([z.instanceof(Uint8Array), z.custom()]), z.number())
23
+ .returns(z.union([z.instanceof(Uint8Array), z.custom()])),
24
+ getSecrets: z
25
+ .function()
26
+ .args(z.union([z.instanceof(Uint8Array), z.custom()]), z.number())
27
+ .returns(z.any()),
28
+ awaitSecrets: z
29
+ .function()
30
+ .args(z.union([z.instanceof(Uint8Array), z.custom()]), z.number())
31
+ .returns(z.union([z.instanceof(Uint8Array), z.custom()])),
32
+ getWasiArgs: z.function().args().returns(z.string()),
33
+ now: z.function().args().returns(z.number()),
34
+ });
35
+ // Validate global host functions at runtime
36
+ const validateGlobalHostBindings = () => {
37
+ const globalFunctions = globalThis;
38
+ try {
39
+ return globalHostBindingsSchema.parse(globalFunctions);
40
+ }
41
+ catch (error) {
42
+ const missingFunctions = Object.keys(globalHostBindingsSchema.shape).filter((key) => !(key in globalFunctions));
43
+ throw new Error(`Missing required global host functions: ${missingFunctions.join(', ')}. ` +
44
+ `This indicates the runtime environment is not properly configured.`);
45
+ }
46
+ };
47
+ // Initialize validated global functions (lazy evaluation for testing)
48
+ let _hostBindings = null;
49
+ export const hostBindings = new Proxy({}, {
50
+ get(target, prop) {
51
+ if (!_hostBindings) {
52
+ _hostBindings = validateGlobalHostBindings();
53
+ }
54
+ return _hostBindings[prop];
55
+ },
56
+ });
@@ -0,0 +1,3 @@
1
+ export { runInNodeMode } from './run-in-node-mode';
2
+ export type * from './runtime';
3
+ export * from './runtime';
@@ -0,0 +1,2 @@
1
+ export { runInNodeMode } from './run-in-node-mode';
2
+ export * from './runtime';
@@ -0,0 +1,12 @@
1
+ import { type NodeRuntime } from './runtime';
2
+ import type { ConsensusAggregation, PrimitiveTypes, UnwrapOptions } from '../utils';
3
+ /**
4
+ * Runs the provided builder inside Node mode and returns the consensus result Value.
5
+ * Ensures mode is switched back to DON even if errors occur.
6
+ */
7
+ /**
8
+ * Runs the provided builder inside Node mode and returns the consensus result Value.
9
+ * For primitive types (number, bigint, Date, boolean, string), it will use unwrap()
10
+ * For complex types, it will use unwrapToType() with the provided options
11
+ */
12
+ export declare function runInNodeMode<TArgs extends any[], TOutput>(fn: (nodeRuntime: NodeRuntime, ...args: TArgs) => Promise<TOutput> | TOutput, consesusAggretation: ConsensusAggregation<TOutput, true>, unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions<TOutput>): (...args: TArgs) => Promise<TOutput>;
@@ -0,0 +1,47 @@
1
+ import { create } from '@bufbuild/protobuf';
2
+ import { Mode, SimpleConsensusInputsSchema } from '../../generated/sdk/v1alpha/sdk_pb';
3
+ import { ConsensusCapability } from '../../generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen';
4
+ import { runtime } from './runtime';
5
+ import { Value } from '../utils';
6
+ /**
7
+ * Runs the provided builder inside Node mode and returns the consensus result Value.
8
+ * Ensures mode is switched back to DON even if errors occur.
9
+ */
10
+ /**
11
+ * Runs the provided builder inside Node mode and returns the consensus result Value.
12
+ * For primitive types (number, bigint, Date, boolean, string), it will use unwrap()
13
+ * For complex types, it will use unwrapToType() with the provided options
14
+ */
15
+ export function runInNodeMode(fn, consesusAggretation, unwrapOptions) {
16
+ return async (...args) => {
17
+ const nodeRuntime = runtime.switchModes(Mode.NODE);
18
+ const consensusInput = create(SimpleConsensusInputsSchema, {
19
+ descriptors: consesusAggretation.descriptor,
20
+ });
21
+ if (consesusAggretation.defaultValue) {
22
+ // This cast is safe, since ConsensusAggregation can only have true its second argument if T extends CreSerializable<TOutput>
23
+ consensusInput.default = Value.from(consesusAggretation.defaultValue).proto();
24
+ }
25
+ try {
26
+ const observation = await fn(nodeRuntime, ...args);
27
+ // This cast is safe, since ConsensusAggregation can only have true its second argument if T extends CreSerializable<TOutput>
28
+ consensusInput.observation = {
29
+ case: 'value',
30
+ value: Value.from(observation).proto(),
31
+ };
32
+ }
33
+ catch (e) {
34
+ consensusInput.observation = { case: 'error', value: e.message || String(e) };
35
+ }
36
+ finally {
37
+ // Always restore DON mode before invoking consensus
38
+ runtime.switchModes(Mode.DON);
39
+ }
40
+ const consensus = new ConsensusCapability();
41
+ const result = await consensus.simple(consensusInput).result();
42
+ const wrappedValue = Value.wrap(result);
43
+ return unwrapOptions
44
+ ? wrappedValue.unwrapToType(unwrapOptions)
45
+ : wrappedValue.unwrap();
46
+ };
47
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,116 @@
1
+ import { describe, expect, mock, test } from 'bun:test';
2
+ import { create } from '@bufbuild/protobuf';
3
+ import { AggregationType, ConsensusDescriptorSchema, } from '../../generated/sdk/v1alpha/sdk_pb';
4
+ import { BasicActionCapability } from '../../generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen';
5
+ import { ConsensusCapability } from '../../generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen';
6
+ import { runInNodeMode } from './run-in-node-mode';
7
+ // Mock the host bindings before importing runtime
8
+ import { calls } from '../testhelpers/mock-host-bindings';
9
+ import { consensusIdenticalAggregation, consensusMedianAggregation, Value } from '../utils';
10
+ function expectObservation(i) {
11
+ expect(i.observation.case).toEqual('value');
12
+ return Value.wrap(i.observation.value);
13
+ }
14
+ function expectError(i) {
15
+ expect(i.observation.case).toEqual('error');
16
+ return i.observation.value;
17
+ }
18
+ describe('runInNodeMode', () => {
19
+ test('successful run', async () => {
20
+ // Clear the calls array for this test
21
+ calls.length = 0;
22
+ const anyObservation = 120;
23
+ const anyResult = 123;
24
+ // spy on consensus.simple
25
+ const origSimple = ConsensusCapability.prototype.simple;
26
+ ConsensusCapability.prototype.simple = mock((inputs) => {
27
+ calls.push('CONSENSUS_SIMPLE');
28
+ // biome-ignore lint/suspicious/noExplicitAny: Needed for runtime type checking of protocol buffer messages
29
+ expect(inputs.$typeName).toBeDefined();
30
+ const castedInputs = inputs;
31
+ expect(castedInputs.default).toBeUndefined();
32
+ const actualObservation = expectObservation(castedInputs);
33
+ expect(Value.from(anyObservation)).toEqual(actualObservation);
34
+ const expectedDescriptor = create(ConsensusDescriptorSchema, {
35
+ descriptor: {
36
+ case: 'aggregation',
37
+ value: AggregationType.MEDIAN,
38
+ },
39
+ });
40
+ expect(castedInputs.descriptors).toEqual(expectedDescriptor);
41
+ return { result: async () => Value.from(anyResult).proto() };
42
+ });
43
+ const res = await runInNodeMode((_) => anyObservation, consensusMedianAggregation())();
44
+ expect(res).toEqual(anyResult);
45
+ expect(calls).toEqual(['NODE', 'DON', 'CONSENSUS_SIMPLE']);
46
+ // Restore the original method after the test
47
+ ConsensusCapability.prototype.simple = origSimple;
48
+ });
49
+ test('local failure with consensus', async () => {
50
+ // Clear the calls array for this test
51
+ calls.length = 0;
52
+ const anyError = Error('nope');
53
+ const anyResult = 123;
54
+ // spy on consensus.simple
55
+ const origSimple = ConsensusCapability.prototype.simple;
56
+ ConsensusCapability.prototype.simple = mock((inputs) => {
57
+ calls.push('CONSENSUS_SIMPLE');
58
+ // biome-ignore lint/suspicious/noExplicitAny: Needed for runtime type checking of protocol buffer messages
59
+ expect(inputs.$typeName).toBeDefined();
60
+ const castedInputs = inputs;
61
+ expect(castedInputs.default).toBeUndefined();
62
+ const actualError = expectError(castedInputs);
63
+ expect(anyError.message).toEqual(actualError);
64
+ const expectedDescriptor = create(ConsensusDescriptorSchema, {
65
+ descriptor: {
66
+ case: 'aggregation',
67
+ value: AggregationType.MEDIAN,
68
+ },
69
+ });
70
+ expect(castedInputs.descriptors).toEqual(expectedDescriptor);
71
+ return { result: async () => Value.from(anyResult).proto() };
72
+ });
73
+ const errFn = (_) => {
74
+ throw anyError;
75
+ };
76
+ const res = await runInNodeMode(errFn, consensusMedianAggregation())();
77
+ expect(res).toEqual(anyResult);
78
+ expect(calls).toEqual(['NODE', 'DON', 'CONSENSUS_SIMPLE']);
79
+ // Restore the original method after the test
80
+ ConsensusCapability.prototype.simple = origSimple;
81
+ });
82
+ test('guards DON calls while in node mode, also local and consensus failure', async () => {
83
+ // Simulate switchModes by touching global function used by host
84
+ const origSwitch = globalThis.switchModes;
85
+ globalThis.switchModes = (_m) => { };
86
+ // spy on consensus.simple
87
+ const origSimple = ConsensusCapability.prototype.simple;
88
+ ConsensusCapability.prototype.simple = mock((inputs) => {
89
+ calls.push('CONSENSUS_SIMPLE');
90
+ // biome-ignore lint/suspicious/noExplicitAny: Needed for runtime type checking of protocol buffer messages
91
+ expect(inputs.$typeName).toBeDefined();
92
+ const castedInputs = inputs;
93
+ expect(castedInputs.default).toBeUndefined();
94
+ const actualError = expectError(castedInputs);
95
+ expect(actualError).toContain('cannot use Runtime inside RunInNodeMode.');
96
+ const expectedDescriptor = create(ConsensusDescriptorSchema, {
97
+ descriptor: {
98
+ case: 'aggregation',
99
+ value: AggregationType.IDENTICAL,
100
+ },
101
+ });
102
+ expect(castedInputs.descriptors).toEqual(expectedDescriptor);
103
+ throw Error(actualError);
104
+ });
105
+ expect(async () => {
106
+ await runInNodeMode(async (_) => {
107
+ const ba = new BasicActionCapability();
108
+ const result = await ba.performAction({ inputThing: true }).result();
109
+ return result.adaptedThing;
110
+ }, consensusIdenticalAggregation())();
111
+ }).toThrow(/.*cannot use Runtime inside RunInNodeMode.*/);
112
+ // Restore the original method and global after the test
113
+ ConsensusCapability.prototype.simple = origSimple;
114
+ globalThis.switchModes = origSwitch;
115
+ });
116
+ });