@chainlink/cre-sdk 0.0.2-alpha → 0.0.4-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 (331) hide show
  1. package/LICENSE.md +7 -7
  2. package/README.md +195 -281
  3. package/dist/generated/chain-selectors/mainnet/aptos/aptos-mainnet.js +1 -1
  4. package/dist/generated/chain-selectors/mainnet/evm/0g-mainnet.js +1 -1
  5. package/dist/generated/chain-selectors/mainnet/evm/abstract-mainnet.js +1 -1
  6. package/dist/generated/chain-selectors/mainnet/evm/apechain-mainnet.js +1 -1
  7. package/dist/generated/chain-selectors/mainnet/evm/areon-mainnet.js +1 -1
  8. package/dist/generated/chain-selectors/mainnet/evm/avalanche-mainnet.js +1 -1
  9. package/dist/generated/chain-selectors/mainnet/evm/avalanche-subnet-dexalot-mainnet.js +1 -1
  10. package/dist/generated/chain-selectors/mainnet/evm/berachain-mainnet.js +1 -1
  11. package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet-opbnb-1.js +1 -1
  12. package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet.js +1 -1
  13. package/dist/generated/chain-selectors/mainnet/evm/bitcichain-mainnet.js +1 -1
  14. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bitlayer-1.js +1 -1
  15. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bob-1.js +1 -1
  16. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-botanix.js +1 -1
  17. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bsquared-1.js +1 -1
  18. package/dist/generated/chain-selectors/mainnet/evm/bitcoin-merlin-mainnet.js +1 -1
  19. package/dist/generated/chain-selectors/mainnet/evm/bittensor-mainnet.js +1 -1
  20. package/dist/generated/chain-selectors/mainnet/evm/bittorrent.chain-mainnet.js +1 -1
  21. package/dist/generated/chain-selectors/mainnet/evm/celo-mainnet.js +1 -1
  22. package/dist/generated/chain-selectors/mainnet/evm/codex-mainnet.js +1 -1
  23. package/dist/generated/chain-selectors/mainnet/evm/coinex.smart.chain-mainnet.js +1 -1
  24. package/dist/generated/chain-selectors/mainnet/evm/conflux-mainnet.js +1 -1
  25. package/dist/generated/chain-selectors/mainnet/evm/core-mainnet.js +1 -1
  26. package/dist/generated/chain-selectors/mainnet/evm/corn-mainnet.js +1 -1
  27. package/dist/generated/chain-selectors/mainnet/evm/cronos-mainnet.js +1 -1
  28. package/dist/generated/chain-selectors/mainnet/evm/cronos-zkevm-mainnet.js +1 -1
  29. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-l3x-1.js +1 -1
  30. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-treasure-1.js +1 -1
  31. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1.js +1 -1
  32. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-astar-zkevm-1.js +1 -1
  33. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-base-1.js +1 -1
  34. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-blast-1.js +1 -1
  35. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-hashkey-1.js +1 -1
  36. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-immutable-zkevm-1.js +1 -1
  37. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-ink-1.js +1 -1
  38. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-kroma-1.js +1 -1
  39. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-linea-1.js +1 -1
  40. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mantle-1.js +1 -1
  41. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-metis-1.js +1 -1
  42. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mode-1.js +1 -1
  43. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-optimism-1.js +1 -1
  44. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-polygon-zkevm-1.js +1 -1
  45. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-scroll-1.js +1 -1
  46. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-taiko-1.js +1 -1
  47. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-unichain-1.js +1 -1
  48. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-worldchain-1.js +1 -1
  49. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-xlayer-1.js +1 -1
  50. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zircuit-1.js +1 -1
  51. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zksync-1.js +1 -1
  52. package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet.js +1 -1
  53. package/dist/generated/chain-selectors/mainnet/evm/etherlink-mainnet.js +1 -1
  54. package/dist/generated/chain-selectors/mainnet/evm/fantom-mainnet.js +1 -1
  55. package/dist/generated/chain-selectors/mainnet/evm/filecoin-mainnet.js +1 -1
  56. package/dist/generated/chain-selectors/mainnet/evm/fraxtal-mainnet.js +1 -1
  57. package/dist/generated/chain-selectors/mainnet/evm/gnosis.chain-mainnet.js +1 -1
  58. package/dist/generated/chain-selectors/mainnet/evm/hedera-mainnet.js +1 -1
  59. package/dist/generated/chain-selectors/mainnet/evm/hemi-mainnet.js +1 -1
  60. package/dist/generated/chain-selectors/mainnet/evm/hyperliquid-mainnet.js +1 -1
  61. package/dist/generated/chain-selectors/mainnet/evm/janction-mainnet.js +1 -1
  62. package/dist/generated/chain-selectors/mainnet/evm/kaia-mainnet.js +1 -1
  63. package/dist/generated/chain-selectors/mainnet/evm/kava-mainnet.js +1 -1
  64. package/dist/generated/chain-selectors/mainnet/evm/kusama-mainnet-moonriver.js +1 -1
  65. package/dist/generated/chain-selectors/mainnet/evm/lens-mainnet.js +1 -1
  66. package/dist/generated/chain-selectors/mainnet/evm/lisk-mainnet.js +1 -1
  67. package/dist/generated/chain-selectors/mainnet/evm/memento-mainnet.js +1 -1
  68. package/dist/generated/chain-selectors/mainnet/evm/metal-mainnet.js +1 -1
  69. package/dist/generated/chain-selectors/mainnet/evm/mind-mainnet.js +1 -1
  70. package/dist/generated/chain-selectors/mainnet/evm/mint-mainnet.js +1 -1
  71. package/dist/generated/chain-selectors/mainnet/evm/monad-mainnet.js +1 -1
  72. package/dist/generated/chain-selectors/mainnet/evm/morph-mainnet.js +1 -1
  73. package/dist/generated/chain-selectors/mainnet/evm/near-mainnet.js +1 -1
  74. package/dist/generated/chain-selectors/mainnet/evm/neonlink-mainnet.js +1 -1
  75. package/dist/generated/chain-selectors/mainnet/evm/neox-mainnet.js +1 -1
  76. package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-henesys.js +1 -1
  77. package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-lith.js +1 -1
  78. package/dist/generated/chain-selectors/mainnet/evm/nexon-qa.js +1 -1
  79. package/dist/generated/chain-selectors/mainnet/evm/nexon-stage.js +1 -1
  80. package/dist/generated/chain-selectors/mainnet/evm/nibiru-mainnet.js +1 -1
  81. package/dist/generated/chain-selectors/mainnet/evm/plasma-mainnet.js +1 -1
  82. package/dist/generated/chain-selectors/mainnet/evm/plume-mainnet.js +1 -1
  83. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-astar.js +1 -1
  84. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-centrifuge.js +1 -1
  85. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-darwinia.js +1 -1
  86. package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-moonbeam.js +1 -1
  87. package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet-katana.js +1 -1
  88. package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet.js +1 -1
  89. package/dist/generated/chain-selectors/mainnet/evm/ronin-mainnet.js +1 -1
  90. package/dist/generated/chain-selectors/mainnet/evm/rootstock-mainnet.js +1 -1
  91. package/dist/generated/chain-selectors/mainnet/evm/sei-mainnet.js +1 -1
  92. package/dist/generated/chain-selectors/mainnet/evm/shibarium-mainnet.js +1 -1
  93. package/dist/generated/chain-selectors/mainnet/evm/soneium-mainnet.js +1 -1
  94. package/dist/generated/chain-selectors/mainnet/evm/sonic-mainnet.js +1 -1
  95. package/dist/generated/chain-selectors/mainnet/evm/superseed-mainnet.js +1 -1
  96. package/dist/generated/chain-selectors/mainnet/evm/tac-mainnet.js +1 -1
  97. package/dist/generated/chain-selectors/mainnet/evm/telos-evm-mainnet.js +1 -1
  98. package/dist/generated/chain-selectors/mainnet/evm/treasure-mainnet.js +1 -1
  99. package/dist/generated/chain-selectors/mainnet/evm/tron-mainnet-evm.js +1 -1
  100. package/dist/generated/chain-selectors/mainnet/evm/velas-mainnet.js +1 -1
  101. package/dist/generated/chain-selectors/mainnet/evm/wemix-mainnet.js +1 -1
  102. package/dist/generated/chain-selectors/mainnet/evm/xdc-mainnet.js +1 -1
  103. package/dist/generated/chain-selectors/mainnet/evm/zetachain-mainnet.js +1 -1
  104. package/dist/generated/chain-selectors/mainnet/evm/zklink.nova-mainnet.js +1 -1
  105. package/dist/generated/chain-selectors/mainnet/evm/zora-mainnet.js +1 -1
  106. package/dist/generated/chain-selectors/mainnet/solana/solana-mainnet.js +1 -1
  107. package/dist/generated/chain-selectors/mainnet/sui/sui-mainnet.js +1 -1
  108. package/dist/generated/chain-selectors/mainnet/ton/ton-mainnet.js +1 -1
  109. package/dist/generated/chain-selectors/mainnet/tron/tron-mainnet.js +1 -1
  110. package/dist/generated/chain-selectors/testnet/aptos/aptos-localnet.js +1 -1
  111. package/dist/generated/chain-selectors/testnet/aptos/aptos-testnet.js +1 -1
  112. package/dist/generated/chain-selectors/testnet/evm/0g-testnet-galileo.js +1 -1
  113. package/dist/generated/chain-selectors/testnet/evm/0g-testnet-newton.js +1 -1
  114. package/dist/generated/chain-selectors/testnet/evm/abstract-testnet.js +1 -1
  115. package/dist/generated/chain-selectors/testnet/evm/anvil-devnet.js +1 -1
  116. package/dist/generated/chain-selectors/testnet/evm/apechain-testnet-curtis.js +1 -1
  117. package/dist/generated/chain-selectors/testnet/evm/areon-testnet.js +1 -1
  118. package/dist/generated/chain-selectors/testnet/evm/avalanche-subnet-dexalot-testnet.js +1 -1
  119. package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-fuji.js +1 -1
  120. package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-nexon.js +1 -1
  121. package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-artio.js +1 -1
  122. package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bartio.js +1 -1
  123. package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bepolia.js +1 -1
  124. package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet-opbnb-1.js +1 -1
  125. package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet.js +1 -1
  126. package/dist/generated/chain-selectors/testnet/evm/bitcichain-testnet.js +1 -1
  127. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bitlayer-1.js +1 -1
  128. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-botanix.js +1 -1
  129. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bsquared-1.js +1 -1
  130. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-merlin.js +1 -1
  131. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-rootstock.js +1 -1
  132. package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-sepolia-bob-1.js +1 -1
  133. package/dist/generated/chain-selectors/testnet/evm/bittensor-testnet.js +1 -1
  134. package/dist/generated/chain-selectors/testnet/evm/bittorrent.chain-testnet.js +1 -1
  135. package/dist/generated/chain-selectors/testnet/evm/celo-testnet-alfajores.js +1 -1
  136. package/dist/generated/chain-selectors/testnet/evm/codex-testnet.js +1 -1
  137. package/dist/generated/chain-selectors/testnet/evm/coinex.smart.chain-testnet.js +1 -1
  138. package/dist/generated/chain-selectors/testnet/evm/core-testnet.js +1 -1
  139. package/dist/generated/chain-selectors/testnet/evm/cronos-testnet-zkevm-1.js +1 -1
  140. package/dist/generated/chain-selectors/testnet/evm/cronos-testnet.js +1 -1
  141. package/dist/generated/chain-selectors/testnet/evm/cronos-zkevm-testnet-sepolia.js +1 -1
  142. package/dist/generated/chain-selectors/testnet/evm/dtcc-testnet-andesite.js +1 -1
  143. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-arbitrum-1.js +1 -1
  144. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-base-1.js +1 -1
  145. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-linea-1.js +1 -1
  146. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-mantle-1.js +1 -1
  147. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-optimism-1.js +1 -1
  148. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-polygon-zkevm-1.js +1 -1
  149. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-zksync-1.js +1 -1
  150. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-fraxtal-1.js +1 -1
  151. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-morph-1.js +1 -1
  152. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-taiko-1.js +1 -1
  153. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky.js +1 -1
  154. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-l3x-1.js +1 -1
  155. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-treasure-1.js +1 -1
  156. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1.js +1 -1
  157. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-base-1.js +1 -1
  158. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-blast-1.js +1 -1
  159. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-corn-1.js +1 -1
  160. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-hashkey-1.js +1 -1
  161. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-immutable-zkevm-1.js +1 -1
  162. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-kroma-1.js +1 -1
  163. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lens-1.js +1 -1
  164. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-linea-1.js +1 -1
  165. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lisk-1.js +1 -1
  166. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mantle-1.js +1 -1
  167. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-metis-1.js +1 -1
  168. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mode-1.js +1 -1
  169. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-optimism-1.js +1 -1
  170. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-validium-1.js +1 -1
  171. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-zkevm-1.js +1 -1
  172. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-scroll-1.js +1 -1
  173. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-soneium-1.js +1 -1
  174. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-unichain-1.js +1 -1
  175. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-worldchain-1.js +1 -1
  176. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-xlayer-1.js +1 -1
  177. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zircuit-1.js +1 -1
  178. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zksync-1.js +1 -1
  179. package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia.js +1 -1
  180. package/dist/generated/chain-selectors/testnet/evm/etherlink-testnet.js +1 -1
  181. package/dist/generated/chain-selectors/testnet/evm/fantom-testnet.js +1 -1
  182. package/dist/generated/chain-selectors/testnet/evm/filecoin-testnet.js +1 -1
  183. package/dist/generated/chain-selectors/testnet/evm/geth-testnet.js +1 -1
  184. package/dist/generated/chain-selectors/testnet/evm/gnosis.chain-testnet-chiado.js +1 -1
  185. package/dist/generated/chain-selectors/testnet/evm/hedera-testnet.js +1 -1
  186. package/dist/generated/chain-selectors/testnet/evm/hemi-testnet-sepolia.js +1 -1
  187. package/dist/generated/chain-selectors/testnet/evm/hyperliquid-testnet.js +1 -1
  188. package/dist/generated/chain-selectors/testnet/evm/ink-testnet-sepolia.js +1 -1
  189. package/dist/generated/chain-selectors/testnet/evm/janction-testnet-sepolia.js +1 -1
  190. package/dist/generated/chain-selectors/testnet/evm/jovay-testnet.js +1 -1
  191. package/dist/generated/chain-selectors/testnet/evm/kaia-testnet-kairos.js +1 -1
  192. package/dist/generated/chain-selectors/testnet/evm/kava-testnet.js +1 -1
  193. package/dist/generated/chain-selectors/testnet/evm/megaeth-testnet.js +1 -1
  194. package/dist/generated/chain-selectors/testnet/evm/memento-testnet.js +1 -1
  195. package/dist/generated/chain-selectors/testnet/evm/metal-testnet.js +1 -1
  196. package/dist/generated/chain-selectors/testnet/evm/mind-testnet.js +1 -1
  197. package/dist/generated/chain-selectors/testnet/evm/mint-testnet.js +1 -1
  198. package/dist/generated/chain-selectors/testnet/evm/monad-testnet.js +1 -1
  199. package/dist/generated/chain-selectors/testnet/evm/near-testnet.js +1 -1
  200. package/dist/generated/chain-selectors/testnet/evm/neonlink-testnet.js +1 -1
  201. package/dist/generated/chain-selectors/testnet/evm/neox-testnet-t4.js +1 -1
  202. package/dist/generated/chain-selectors/testnet/evm/nexon-dev.js +1 -1
  203. package/dist/generated/chain-selectors/testnet/evm/nibiru-testnet.js +1 -1
  204. package/dist/generated/chain-selectors/testnet/evm/ondo-testnet.js +1 -1
  205. package/dist/generated/chain-selectors/testnet/evm/pharos-testnet.js +1 -1
  206. package/dist/generated/chain-selectors/testnet/evm/plasma-testnet.js +1 -1
  207. package/dist/generated/chain-selectors/testnet/evm/plume-devnet.js +1 -1
  208. package/dist/generated/chain-selectors/testnet/evm/plume-testnet-sepolia.js +1 -1
  209. package/dist/generated/chain-selectors/testnet/evm/plume-testnet.js +1 -1
  210. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-astar-shibuya.js +1 -1
  211. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-centrifuge-altair.js +1 -1
  212. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-darwinia-pangoro.js +1 -1
  213. package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-moonbeam-moonbase.js +1 -1
  214. package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-amoy.js +1 -1
  215. package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-mumbai.js +1 -1
  216. package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-tatara.js +1 -1
  217. package/dist/generated/chain-selectors/testnet/evm/private-testnet-andesite.js +1 -1
  218. package/dist/generated/chain-selectors/testnet/evm/private-testnet-granite.js +1 -1
  219. package/dist/generated/chain-selectors/testnet/evm/private-testnet-mica.js +1 -1
  220. package/dist/generated/chain-selectors/testnet/evm/private-testnet-obsidian.js +1 -1
  221. package/dist/generated/chain-selectors/testnet/evm/private-testnet-opala.js +1 -1
  222. package/dist/generated/chain-selectors/testnet/evm/ronin-testnet-saigon.js +1 -1
  223. package/dist/generated/chain-selectors/testnet/evm/sei-testnet-atlantic.js +1 -1
  224. package/dist/generated/chain-selectors/testnet/evm/shibarium-testnet-puppynet.js +1 -1
  225. package/dist/generated/chain-selectors/testnet/evm/sonic-testnet-blaze.js +1 -1
  226. package/dist/generated/chain-selectors/testnet/evm/story-testnet.js +1 -1
  227. package/dist/generated/chain-selectors/testnet/evm/superseed-testnet.js +1 -1
  228. package/dist/generated/chain-selectors/testnet/evm/tac-testnet.js +1 -1
  229. package/dist/generated/chain-selectors/testnet/evm/telos-evm-testnet.js +1 -1
  230. package/dist/generated/chain-selectors/testnet/evm/treasure-testnet-topaz.js +1 -1
  231. package/dist/generated/chain-selectors/testnet/evm/tron-devnet-evm.js +1 -1
  232. package/dist/generated/chain-selectors/testnet/evm/tron-testnet-nile-evm.js +1 -1
  233. package/dist/generated/chain-selectors/testnet/evm/tron-testnet-shasta-evm.js +1 -1
  234. package/dist/generated/chain-selectors/testnet/evm/velas-testnet.js +1 -1
  235. package/dist/generated/chain-selectors/testnet/evm/wemix-testnet.js +1 -1
  236. package/dist/generated/chain-selectors/testnet/evm/xdc-testnet.js +1 -1
  237. package/dist/generated/chain-selectors/testnet/evm/zero-g-testnet-galileo.js +1 -1
  238. package/dist/generated/chain-selectors/testnet/evm/zircuit-testnet-garfield.js +1 -1
  239. package/dist/generated/chain-selectors/testnet/evm/zklink.nova-testnet.js +1 -1
  240. package/dist/generated/chain-selectors/testnet/evm/zora-testnet.js +1 -1
  241. package/dist/generated/chain-selectors/testnet/solana/solana-devnet.js +1 -1
  242. package/dist/generated/chain-selectors/testnet/solana/solana-testnet.js +1 -1
  243. package/dist/generated/chain-selectors/testnet/sui/sui-localnet.js +1 -1
  244. package/dist/generated/chain-selectors/testnet/sui/sui-testnet.js +1 -1
  245. package/dist/generated/chain-selectors/testnet/ton/ton-localnet.js +1 -1
  246. package/dist/generated/chain-selectors/testnet/ton/ton-testnet.js +1 -1
  247. package/dist/generated/chain-selectors/testnet/tron/tron-devnet.js +1 -1
  248. package/dist/generated/chain-selectors/testnet/tron/tron-testnet-nile.js +1 -1
  249. package/dist/generated/chain-selectors/testnet/tron/tron-testnet-shasta.js +1 -1
  250. package/dist/generated/networks.d.ts +14 -14
  251. package/dist/generated/networks.js +495 -495
  252. package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.d.ts +37 -22
  253. package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.js +158 -62
  254. package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.d.ts +7 -7
  255. package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.js +28 -14
  256. package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.d.ts +17 -4
  257. package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.js +44 -9
  258. package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.d.ts +0 -1
  259. package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.js +2 -2
  260. package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.d.ts +0 -1
  261. package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.js +2 -2
  262. package/dist/index.d.ts +1 -0
  263. package/dist/index.js +2 -0
  264. package/dist/sdk/cre/index.d.ts +2 -1
  265. package/dist/sdk/cre/index.js +1 -1
  266. package/dist/sdk/impl/runtime-impl.d.ts +12 -4
  267. package/dist/sdk/impl/runtime-impl.js +53 -19
  268. package/dist/sdk/index.d.ts +1 -0
  269. package/dist/sdk/index.js +1 -0
  270. package/dist/sdk/report.d.ts +6 -0
  271. package/dist/sdk/report.js +14 -0
  272. package/dist/sdk/runtime.d.ts +11 -2
  273. package/dist/sdk/utils/capabilities/blockchain/blockchain-helpers.d.ts +50 -0
  274. package/dist/sdk/utils/capabilities/blockchain/blockchain-helpers.js +48 -0
  275. package/dist/sdk/utils/capabilities/http/http-helpers.d.ts +112 -0
  276. package/dist/sdk/utils/capabilities/http/http-helpers.js +44 -0
  277. package/dist/sdk/utils/chain-selectors/getNetwork.d.ts +2 -2
  278. package/dist/sdk/utils/chain-selectors/getNetwork.js +56 -15
  279. package/dist/sdk/utils/chain-selectors/types.d.ts +1 -1
  280. package/dist/sdk/utils/index.d.ts +3 -0
  281. package/dist/sdk/utils/index.js +3 -0
  282. package/dist/sdk/utils/triggers/trigger-interface.d.ts +1 -1
  283. package/dist/sdk/utils/values/serializer_types.d.ts +1 -1
  284. package/dist/sdk/wasm/runner.js +1 -1
  285. package/dist/sdk/wasm/runtime.js +3 -0
  286. package/dist/sdk/workflow.d.ts +1 -1
  287. package/dist/workflows/standard_tests/Makefile +19 -0
  288. package/dist/workflows/standard_tests/capability_calls_are_async/test.ts +39 -0
  289. package/dist/workflows/standard_tests/config/test.ts +23 -0
  290. package/dist/workflows/standard_tests/errors/test.ts +24 -0
  291. package/dist/workflows/standard_tests/logging/test.ts +25 -0
  292. package/dist/workflows/standard_tests/mode_switch/don_runtime_in_node_mode/test.ts +33 -0
  293. package/dist/workflows/standard_tests/mode_switch/node_runtime_in_don_mode/test.ts +41 -0
  294. package/dist/workflows/standard_tests/mode_switch/successful_mode_switch/test.ts +58 -0
  295. package/dist/workflows/standard_tests/multiple_triggers/test.ts +40 -0
  296. package/dist/workflows/standard_tests/random/test.ts +64 -0
  297. package/dist/workflows/standard_tests/secrets/test.ts +30 -0
  298. package/dist/workflows/standard_tests/secrets_fail_in_node_mode/test.ts +29 -0
  299. package/package.json +70 -68
  300. package/scripts/src/cre-setup.ts +9 -0
  301. package/scripts/src/generate-chain-selectors.ts +23 -16
  302. package/dist/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb.d.ts +0 -135
  303. package/dist/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb.js +0 -43
  304. package/dist/generated/capabilities/internal/basicaction/v1/basic_action_pb.d.ts +0 -77
  305. package/dist/generated/capabilities/internal/basicaction/v1/basic_action_pb.js +0 -33
  306. package/dist/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb.d.ts +0 -77
  307. package/dist/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb.js +0 -29
  308. package/dist/generated/capabilities/internal/nodeaction/v1/node_action_pb.d.ts +0 -69
  309. package/dist/generated/capabilities/internal/nodeaction/v1/node_action_pb.js +0 -29
  310. package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.d.ts +0 -43
  311. package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.js +0 -77
  312. package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.d.ts +0 -19
  313. package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.js +0 -36
  314. package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.d.ts +0 -39
  315. package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.js +0 -58
  316. package/dist/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen.d.ts +0 -19
  317. package/dist/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen.js +0 -36
  318. package/dist/sdk/impl/runtime-impl.test.d.ts +0 -1
  319. package/dist/sdk/impl/runtime-impl.test.js +0 -334
  320. package/dist/sdk/utils/config/configHandler.test.d.ts +0 -1
  321. package/dist/sdk/utils/config/configHandler.test.js +0 -193
  322. package/dist/sdk/utils/values/consensus_aggregators.test.d.ts +0 -1
  323. package/dist/sdk/utils/values/consensus_aggregators.test.js +0 -172
  324. package/dist/sdk/utils/values/serializer_types.test.d.ts +0 -1
  325. package/dist/sdk/utils/values/serializer_types.test.js +0 -104
  326. package/dist/sdk/utils/values/value.test.d.ts +0 -1
  327. package/dist/sdk/utils/values/value.test.js +0 -439
  328. package/dist/sdk/wasm/runner.test.d.ts +0 -1
  329. package/dist/sdk/wasm/runner.test.js +0 -270
  330. /package/dist/sdk/utils/{safeJsonStringify.d.ts → safe-json-stringify.d.ts} +0 -0
  331. /package/dist/sdk/utils/{safeJsonStringify.js → safe-json-stringify.js} +0 -0
@@ -1,7 +1,8 @@
1
1
  import { create, fromJson } from '@bufbuild/protobuf';
2
2
  import { AnySchema, anyPack } from '@bufbuild/protobuf/wkt';
3
3
  import { ConfigSchema, PayloadSchema, } from '../../../../../generated/capabilities/networking/http/v1alpha/trigger_pb';
4
- import {} from '../../../../../sdk/runtime';
4
+ import {} from '../../../../../sdk';
5
+ import { Report } from '../../../../../sdk/report';
5
6
  import {} from '../../../../../sdk/utils/triggers/trigger-interface';
6
7
  /**
7
8
  * HTTP Capability
@@ -15,7 +16,6 @@ export class HTTPCapability {
15
16
  static CAPABILITY_ID = 'http-trigger@1.0.0-alpha';
16
17
  static CAPABILITY_NAME = 'http-trigger';
17
18
  static CAPABILITY_VERSION = '1.0.0-alpha';
18
- constructor() { }
19
19
  trigger(config) {
20
20
  const capabilityId = HTTPCapability.CAPABILITY_ID;
21
21
  return new HTTPTrigger(config, capabilityId, 'Trigger');
@@ -13,7 +13,6 @@ export declare class CronCapability {
13
13
  static readonly CAPABILITY_ID = "cron-trigger@1.0.0";
14
14
  static readonly CAPABILITY_NAME = "cron-trigger";
15
15
  static readonly CAPABILITY_VERSION = "1.0.0";
16
- constructor();
17
16
  trigger(config: ConfigJson): CronTrigger;
18
17
  }
19
18
  /**
@@ -1,7 +1,8 @@
1
1
  import { create, fromJson } from '@bufbuild/protobuf';
2
2
  import { AnySchema, anyPack } from '@bufbuild/protobuf/wkt';
3
3
  import { ConfigSchema, LegacyPayloadSchema, PayloadSchema, } from '../../../../../generated/capabilities/scheduler/cron/v1/trigger_pb';
4
- import {} from '../../../../../sdk/runtime';
4
+ import {} from '../../../../../sdk';
5
+ import { Report } from '../../../../../sdk/report';
5
6
  import {} from '../../../../../sdk/utils/triggers/trigger-interface';
6
7
  /**
7
8
  * Cron Capability
@@ -15,7 +16,6 @@ export class CronCapability {
15
16
  static CAPABILITY_ID = 'cron-trigger@1.0.0';
16
17
  static CAPABILITY_NAME = 'cron-trigger';
17
18
  static CAPABILITY_VERSION = '1.0.0';
18
- constructor() { }
19
19
  trigger(config) {
20
20
  const capabilityId = CronCapability.CAPABILITY_ID;
21
21
  return new CronTrigger(config, capabilityId, 'Trigger');
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './sdk';
2
2
  export * from './sdk/runtime';
3
3
  export * from './sdk/utils';
4
+ export * from './sdk/utils/capabilities/http/http-helpers';
4
5
  export * from './sdk/wasm';
package/dist/index.js CHANGED
@@ -2,4 +2,6 @@
2
2
  export * from './sdk';
3
3
  export * from './sdk/runtime';
4
4
  export * from './sdk/utils';
5
+ // Export HTTP response helpers
6
+ export * from './sdk/utils/capabilities/http/http-helpers';
5
7
  export * from './sdk/wasm';
@@ -2,13 +2,14 @@
2
2
  * Public API for the CRE SDK.
3
3
  */
4
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';
5
+ import { ClientCapability as HTTPClient, type SendRequester as HTTPSendRequester } from '../../generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen';
6
6
  import { HTTPCapability } from '../../generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen';
7
7
  import { CronCapability } from '../../generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen';
8
8
  export type { Log as EVMLog } from '../../generated/capabilities/blockchain/evm/v1alpha/client_pb';
9
9
  export type { Payload as HTTPPayload } from '../../generated/capabilities/networking/http/v1alpha/trigger_pb';
10
10
  export type { Payload as CronPayload } from '../../generated/capabilities/scheduler/cron/v1/trigger_pb';
11
11
  export type { NodeRuntime, Runtime } from '../runtime';
12
+ export type { HTTPSendRequester };
12
13
  export declare const cre: {
13
14
  capabilities: {
14
15
  CronCapability: typeof CronCapability;
@@ -2,7 +2,7 @@
2
2
  * Public API for the CRE SDK.
3
3
  */
4
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';
5
+ import { ClientCapability as HTTPClient, } from '../../generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen';
6
6
  import { HTTPCapability } from '../../generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen';
7
7
  import { CronCapability } from '../../generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen';
8
8
  import { prepareRuntime } from '../utils/prepare-runtime';
@@ -1,6 +1,7 @@
1
1
  import { type Message } from '@bufbuild/protobuf';
2
2
  import { type AwaitCapabilitiesRequest, type AwaitCapabilitiesResponse, type AwaitSecretsRequest, type AwaitSecretsResponse, type CapabilityRequest, type GetSecretsRequest, Mode, type Secret, type SecretRequest, type SecretRequestJson } from '../../generated/sdk/v1alpha/sdk_pb';
3
- import type { BaseRuntime, CallCapabilityParams, NodeRuntime, Runtime } from '../runtime';
3
+ import type { BaseRuntime, CallCapabilityParams, NodeRuntime, ReportRequest, ReportRequestJson, Runtime } from '..';
4
+ import type { Report } from '../report';
4
5
  import { type ConsensusAggregation, type PrimitiveTypes, type UnwrapOptions } from '../utils';
5
6
  export declare class BaseRuntimeImpl<C> implements BaseRuntime<C> {
6
7
  config: C;
@@ -11,10 +12,11 @@ export declare class BaseRuntimeImpl<C> implements BaseRuntime<C> {
11
12
  modeError?: Error;
12
13
  constructor(config: C, nextCallId: number, helpers: RuntimeHelpers, maxResponseSize: bigint, mode: Mode);
13
14
  callCapability<I extends Message, O extends Message>({ capabilityId, method, payload, inputSchema, outputSchema, }: CallCapabilityParams<I, O>): {
14
- result: () => Promise<O>;
15
+ result: () => O;
15
16
  };
16
17
  getNextCallId(): number;
17
18
  now(): Date;
19
+ log(message: string): void;
18
20
  }
19
21
  export declare class NodeRuntimeImpl<C> extends BaseRuntimeImpl<C> implements NodeRuntime<C> {
20
22
  _isNodeRuntime: true;
@@ -23,9 +25,14 @@ export declare class NodeRuntimeImpl<C> extends BaseRuntimeImpl<C> implements No
23
25
  export declare class RuntimeImpl<C> extends BaseRuntimeImpl<C> implements Runtime<C> {
24
26
  private nextNodeCallId;
25
27
  constructor(config: C, nextCallId: number, helpers: RuntimeHelpers, maxResponseSize: bigint);
26
- runInNodeMode<TArgs extends any[], TOutput>(fn: (nodeRuntime: NodeRuntime<C>, ...args: TArgs) => Promise<TOutput> | TOutput, consesusAggretation: ConsensusAggregation<TOutput, true>, unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions<TOutput>): (...args: TArgs) => Promise<TOutput>;
28
+ runInNodeMode<TArgs extends unknown[], TOutput>(fn: (nodeRuntime: NodeRuntime<C>, ...args: TArgs) => TOutput, consesusAggretation: ConsensusAggregation<TOutput, true>, unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions<TOutput>): (...args: TArgs) => {
29
+ result: () => TOutput;
30
+ };
27
31
  getSecret(request: SecretRequest | SecretRequestJson): {
28
- result: () => Promise<Secret>;
32
+ result: () => Secret;
33
+ };
34
+ report(input: ReportRequest | ReportRequestJson): {
35
+ result: () => Report;
29
36
  };
30
37
  }
31
38
  export interface RuntimeHelpers {
@@ -35,4 +42,5 @@ export interface RuntimeHelpers {
35
42
  awaitSecrets(request: AwaitSecretsRequest, maxResponseSize: bigint): AwaitSecretsResponse;
36
43
  switchModes(mode: Mode): void;
37
44
  now(): number;
45
+ log(message: string): void;
38
46
  }
@@ -22,7 +22,11 @@ export class BaseRuntimeImpl {
22
22
  }
23
23
  callCapability({ capabilityId, method, payload, inputSchema, outputSchema, }) {
24
24
  if (this.modeError) {
25
- return { result: () => Promise.reject(this.modeError) };
25
+ return {
26
+ result: () => {
27
+ throw this.modeError;
28
+ },
29
+ };
26
30
  }
27
31
  // nextCallId tracks the unique id for a request to the WASM host.
28
32
  // to avoid collisions of the ID in different modes, it is
@@ -34,10 +38,12 @@ export class BaseRuntimeImpl {
34
38
  // - etc...
35
39
  const anyPayload = anyPack(inputSchema, payload);
36
40
  const callbackId = this.nextCallId;
37
- if (this.mode == Mode.DON)
41
+ if (this.mode === Mode.DON) {
38
42
  this.nextCallId++;
39
- else
43
+ }
44
+ else {
40
45
  this.nextCallId--;
46
+ }
41
47
  const req = create(CapabilityRequestSchema, {
42
48
  id: capabilityId,
43
49
  method,
@@ -47,17 +53,19 @@ export class BaseRuntimeImpl {
47
53
  if (!this.helpers.call(req)) {
48
54
  return {
49
55
  result: () => {
50
- return Promise.reject(new CapabilityError(`Capability not found ${capabilityId}`, {
56
+ throw new CapabilityError(`Capability not found ${capabilityId}`, {
51
57
  callbackId,
52
58
  method,
53
59
  capabilityId,
54
- }));
60
+ });
55
61
  },
56
62
  };
57
63
  }
58
64
  return {
59
- result: async () => {
60
- const awaitRequest = create(AwaitCapabilitiesRequestSchema, { ids: [callbackId] });
65
+ result: () => {
66
+ const awaitRequest = create(AwaitCapabilitiesRequestSchema, {
67
+ ids: [callbackId],
68
+ });
61
69
  const awaitResponse = this.helpers.await(awaitRequest, this.maxResponseSize);
62
70
  const capabilityResponse = awaitResponse.responses[callbackId];
63
71
  if (!capabilityResponse) {
@@ -94,6 +102,9 @@ export class BaseRuntimeImpl {
94
102
  // ns to ms
95
103
  return new Date(this.helpers.now() / 1000000);
96
104
  }
105
+ log(message) {
106
+ this.helpers.log(message);
107
+ }
97
108
  }
98
109
  export class NodeRuntimeImpl extends BaseRuntimeImpl {
99
110
  _isNodeRuntime = true;
@@ -109,7 +120,7 @@ export class RuntimeImpl extends BaseRuntimeImpl {
109
120
  super(config, nextCallId, helpers, maxResponseSize, Mode.DON);
110
121
  }
111
122
  runInNodeMode(fn, consesusAggretation, unwrapOptions) {
112
- return async (...args) => {
123
+ return (...args) => {
113
124
  this.modeError = new DonModeError();
114
125
  const nodeRuntime = new NodeRuntimeImpl(this.config, this.nextNodeCallId, this.helpers, this.maxResponseSize);
115
126
  const consensusInput = create(SimpleConsensusInputsSchema, {
@@ -120,7 +131,7 @@ export class RuntimeImpl extends BaseRuntimeImpl {
120
131
  consensusInput.default = Value.from(consesusAggretation.defaultValue).proto();
121
132
  }
122
133
  try {
123
- const observation = await fn(nodeRuntime, ...args);
134
+ const observation = fn(nodeRuntime, ...args);
124
135
  // This cast is safe, since ConsensusAggregation can only have true its second argument if T extends CreSerializable<TOutput>
125
136
  consensusInput.observation = {
126
137
  case: 'value',
@@ -128,7 +139,10 @@ export class RuntimeImpl extends BaseRuntimeImpl {
128
139
  };
129
140
  }
130
141
  catch (e) {
131
- consensusInput.observation = { case: 'error', value: e.message || String(e) };
142
+ consensusInput.observation = {
143
+ case: 'error',
144
+ value: (e instanceof Error && e.message) || String(e),
145
+ };
132
146
  }
133
147
  finally {
134
148
  // Always restore DON mode before invoking consensus
@@ -138,16 +152,25 @@ export class RuntimeImpl extends BaseRuntimeImpl {
138
152
  this.helpers.switchModes(Mode.DON);
139
153
  }
140
154
  const consensus = new ConsensusCapability();
141
- const result = await consensus.simple(this, consensusInput).result();
142
- const wrappedValue = Value.wrap(result);
143
- return unwrapOptions
144
- ? wrappedValue.unwrapToType(unwrapOptions)
145
- : wrappedValue.unwrap();
155
+ const call = consensus.simple(this, consensusInput);
156
+ return {
157
+ result: () => {
158
+ const result = call.result();
159
+ const wrappedValue = Value.wrap(result);
160
+ return unwrapOptions
161
+ ? wrappedValue.unwrapToType(unwrapOptions)
162
+ : wrappedValue.unwrap();
163
+ },
164
+ };
146
165
  };
147
166
  }
148
167
  getSecret(request) {
149
168
  if (this.modeError) {
150
- return { result: () => Promise.reject(this.modeError) };
169
+ return {
170
+ result: () => {
171
+ throw this.modeError;
172
+ },
173
+ };
151
174
  }
152
175
  const secretRequest = request.$typeName
153
176
  ? create(SecretRequestSchema, request)
@@ -160,11 +183,13 @@ export class RuntimeImpl extends BaseRuntimeImpl {
160
183
  });
161
184
  if (!this.helpers.getSecrets(secretsReq, this.maxResponseSize)) {
162
185
  return {
163
- result: () => Promise.reject(new SecretsError(secretRequest, 'host is not making the secrets request')),
186
+ result: () => {
187
+ throw new SecretsError(secretRequest, 'host is not making the secrets request');
188
+ },
164
189
  };
165
190
  }
166
191
  return {
167
- result: async () => {
192
+ result: () => {
168
193
  const awaitRequest = create(AwaitSecretsRequestSchema, { ids: [id] });
169
194
  const awaitResponse = this.helpers.awaitSecrets(awaitRequest, this.maxResponseSize);
170
195
  const secretsResponse = awaitResponse.responses[id];
@@ -172,7 +197,7 @@ export class RuntimeImpl extends BaseRuntimeImpl {
172
197
  throw new SecretsError(secretRequest, 'no response');
173
198
  }
174
199
  const responses = secretsResponse.responses;
175
- if (responses.length != 1) {
200
+ if (responses.length !== 1) {
176
201
  throw new SecretsError(secretRequest, 'invalid value returned from host');
177
202
  }
178
203
  const response = responses[0].response;
@@ -187,4 +212,13 @@ export class RuntimeImpl extends BaseRuntimeImpl {
187
212
  },
188
213
  };
189
214
  }
215
+ report(input) {
216
+ const consensus = new ConsensusCapability();
217
+ const call = consensus.report(this, input);
218
+ return {
219
+ result: () => {
220
+ return call.result();
221
+ },
222
+ };
223
+ }
190
224
  }
@@ -1,4 +1,5 @@
1
1
  export * from './cre';
2
+ export * from './report';
2
3
  export type * from './runtime';
3
4
  export * from './runtime';
4
5
  export * from './workflow';
package/dist/sdk/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './cre';
2
+ export * from './report';
2
3
  export * from './runtime';
3
4
  export * from './workflow';
@@ -0,0 +1,6 @@
1
+ import { type ReportResponse, type ReportResponseJson } from '../generated/sdk/v1alpha/sdk_pb';
2
+ export declare class Report {
3
+ private readonly report;
4
+ constructor(report: ReportResponse | ReportResponseJson);
5
+ x_generatedCodeOnly_unwrap(): ReportResponse;
6
+ }
@@ -0,0 +1,14 @@
1
+ import { fromJson } from '@bufbuild/protobuf';
2
+ import { ReportResponseSchema, } from '../generated/sdk/v1alpha/sdk_pb';
3
+ export class Report {
4
+ report;
5
+ constructor(report) {
6
+ this.report = report.$typeName
7
+ ? report
8
+ : fromJson(ReportResponseSchema, report);
9
+ }
10
+ // x_generatedCodeOnly_unwrap is meant to be used by the code generator only.
11
+ x_generatedCodeOnly_unwrap() {
12
+ return this.report;
13
+ }
14
+ }
@@ -1,7 +1,9 @@
1
1
  import type { Message } from '@bufbuild/protobuf';
2
2
  import type { GenMessage } from '@bufbuild/protobuf/codegenv2';
3
+ import type { ReportRequest, ReportRequestJson } from '../generated/sdk/v1alpha/sdk_pb';
3
4
  import type { ConsensusAggregation, PrimitiveTypes, UnwrapOptions } from './utils';
4
5
  import type { SecretsProvider } from '.';
6
+ export type { ReportRequest, ReportRequestJson };
5
7
  export type CallCapabilityParams<I extends Message, O extends Message> = {
6
8
  capabilityId: string;
7
9
  method: string;
@@ -9,15 +11,22 @@ export type CallCapabilityParams<I extends Message, O extends Message> = {
9
11
  inputSchema: GenMessage<I>;
10
12
  outputSchema: GenMessage<O>;
11
13
  };
14
+ import type { Report } from './report';
12
15
  export type BaseRuntime<C> = {
13
16
  config: C;
14
17
  callCapability<I extends Message, O extends Message>(params: CallCapabilityParams<I, O>): {
15
- result: () => Promise<O>;
18
+ result: () => O;
16
19
  };
17
20
  now(): Date;
21
+ log(message: string): void;
18
22
  };
19
23
  export type Runtime<C> = BaseRuntime<C> & SecretsProvider & {
20
- runInNodeMode<TArgs extends any[], TOutput>(fn: (nodeRuntime: NodeRuntime<C>, ...args: TArgs) => Promise<TOutput> | TOutput, consensusAggregation: ConsensusAggregation<TOutput, true>, unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions<TOutput>): (...args: TArgs) => Promise<TOutput>;
24
+ runInNodeMode<TArgs extends unknown[], TOutput>(fn: (nodeRuntime: NodeRuntime<C>, ...args: TArgs) => TOutput, consensusAggregation: ConsensusAggregation<TOutput, true>, unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions<TOutput>): (...args: TArgs) => {
25
+ result: () => TOutput;
26
+ };
27
+ report(input: ReportRequest | ReportRequestJson): {
28
+ result: () => Report;
29
+ };
21
30
  };
22
31
  export type NodeRuntime<C> = BaseRuntime<C> & {
23
32
  readonly _isNodeRuntime: true;
@@ -0,0 +1,50 @@
1
+ import type { CallMsgJson } from '../../../../generated/capabilities/blockchain/evm/v1alpha/client_pb';
2
+ import type { Address, Hex } from 'viem';
3
+ /**
4
+ * EVM Capability Helper.
5
+ *
6
+ * `CallContractRequest`, used by EVM capability, has arguments for reading a contract as specified in the call message at a block height defined by blockNumber.
7
+ * That blockNumber can be:
8
+ * - the latest mined block (`LATEST_BLOCK_NUMBER`) (default)
9
+ * - the last finalized block (`LAST_FINALIZED_BLOCK_NUMBER`)
10
+ *
11
+ * Using this constant will indicate that the call should be executed at the last finalized block.
12
+ */
13
+ export declare const LAST_FINALIZED_BLOCK_NUMBER: {
14
+ absVal: string;
15
+ sign: string;
16
+ };
17
+ /**
18
+ * EVM Capability Helper.
19
+ *
20
+ * `CallContractRequest`, used by EVM capability, has arguments for reading a contract as specified in the call message at a block height defined by blockNumber.
21
+ * That blockNumber can be:
22
+ * - the latest mined block (`LATEST_BLOCK_NUMBER`) (default)
23
+ * - the last finalized block (`LAST_FINALIZED_BLOCK_NUMBER`)
24
+ *
25
+ * Using this constant will indicate that the call should be executed at the latest mined block.
26
+ */
27
+ export declare const LATEST_BLOCK_NUMBER: {
28
+ absVal: string;
29
+ sign: string;
30
+ };
31
+ export interface EncodeCallMsgPayload {
32
+ from: Address;
33
+ to: Address;
34
+ data: Hex;
35
+ }
36
+ /**
37
+ * Encodes a call message payload into a `CallMsgJson` protobuf structure, expected by the EVM capability.
38
+ *
39
+ * When creating a `CallContractRequest` 3 parameters are required:
40
+ *
41
+ * - `from` - The sender address.
42
+ * - `to` - The contract address.
43
+ * - `data` - The data to call the contract with.
44
+ *
45
+ * This helper wraps that data and packs into format acceptable by the EVM capability.
46
+ *
47
+ * @param payload - The call message payload to encode.
48
+ * @returns The encoded call message payload.
49
+ */
50
+ export declare const encodeCallMsg: (payload: EncodeCallMsgPayload) => CallMsgJson;
@@ -0,0 +1,48 @@
1
+ import { hexToBase64 } from '../../hex-utils';
2
+ /**
3
+ * EVM Capability Helper.
4
+ *
5
+ * `CallContractRequest`, used by EVM capability, has arguments for reading a contract as specified in the call message at a block height defined by blockNumber.
6
+ * That blockNumber can be:
7
+ * - the latest mined block (`LATEST_BLOCK_NUMBER`) (default)
8
+ * - the last finalized block (`LAST_FINALIZED_BLOCK_NUMBER`)
9
+ *
10
+ * Using this constant will indicate that the call should be executed at the last finalized block.
11
+ */
12
+ export const LAST_FINALIZED_BLOCK_NUMBER = {
13
+ absVal: Buffer.from([3]).toString('base64'), // 3 for finalized block
14
+ sign: '-1',
15
+ };
16
+ /**
17
+ * EVM Capability Helper.
18
+ *
19
+ * `CallContractRequest`, used by EVM capability, has arguments for reading a contract as specified in the call message at a block height defined by blockNumber.
20
+ * That blockNumber can be:
21
+ * - the latest mined block (`LATEST_BLOCK_NUMBER`) (default)
22
+ * - the last finalized block (`LAST_FINALIZED_BLOCK_NUMBER`)
23
+ *
24
+ * Using this constant will indicate that the call should be executed at the latest mined block.
25
+ */
26
+ export const LATEST_BLOCK_NUMBER = {
27
+ absVal: Buffer.from([2]).toString('base64'), // 2 for the latest block
28
+ sign: '-1',
29
+ };
30
+ /**
31
+ * Encodes a call message payload into a `CallMsgJson` protobuf structure, expected by the EVM capability.
32
+ *
33
+ * When creating a `CallContractRequest` 3 parameters are required:
34
+ *
35
+ * - `from` - The sender address.
36
+ * - `to` - The contract address.
37
+ * - `data` - The data to call the contract with.
38
+ *
39
+ * This helper wraps that data and packs into format acceptable by the EVM capability.
40
+ *
41
+ * @param payload - The call message payload to encode.
42
+ * @returns The encoded call message payload.
43
+ */
44
+ export const encodeCallMsg = (payload) => ({
45
+ from: hexToBase64(payload.from),
46
+ to: hexToBase64(payload.to),
47
+ data: hexToBase64(payload.data),
48
+ });
@@ -0,0 +1,112 @@
1
+ import type { Response } from '../../../../generated/capabilities/networking/http/v1alpha/client_pb';
2
+ /**
3
+ * HTTP Response Helper Functions
4
+ *
5
+ * These utility functions provide a convenient way to work with HTTP Response objects,
6
+ * mimicking the native Response API methods like .json(), .text(), and .arrayBuffer().
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { text, json, ok, getHeader } from './http-helpers'
11
+ *
12
+ * // Direct usage with Response object
13
+ * const response = sendRequester.sendRequest({ url: 'https://api.example.com/data' }).result()
14
+ *
15
+ * // Check if response is successful
16
+ * if (!ok(response)) {
17
+ * throw new Error(`Request failed with status: ${response.statusCode}`)
18
+ * }
19
+ *
20
+ * // Get response as text (automatically trimmed)
21
+ * const responseText = text(response)
22
+ *
23
+ * // Parse JSON response
24
+ * const data = json(response)
25
+ *
26
+ * // Get specific header
27
+ * const contentType = getHeader(response, 'content-type')
28
+ * ```
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Function overload usage
33
+ * const responseFn = sendRequester.sendRequest({ url: 'https://api.example.com/data' })
34
+ *
35
+ * // Check if response is successful
36
+ * if (!ok(() => ({ result: responseFn.result() })).result()) {
37
+ * const response = responseFn.result()
38
+ * throw new Error(`Request failed with status: ${response.statusCode}`)
39
+ * }
40
+ *
41
+ * // Get response as text (automatically trimmed)
42
+ * const responseText = text(() => ({ result: responseFn.result() })).result()
43
+ * ```
44
+ */
45
+ /**
46
+ * Returns the response body as a UTF-8 string, automatically trimmed
47
+ * @param response - The Response object
48
+ * @returns The body as a trimmed string
49
+ */
50
+ export declare function text(response: Response): string;
51
+ /**
52
+ * Returns the response body as a UTF-8 string, automatically trimmed
53
+ * @param responseFn - Function that returns an object with result function that returns Response
54
+ * @returns Object with result function that returns the body as a trimmed string
55
+ */
56
+ export declare function text(responseFn: () => {
57
+ result: Response;
58
+ }): {
59
+ result: () => string;
60
+ };
61
+ /**
62
+ * Parses the response body as JSON
63
+ * @param response - The Response object
64
+ * @returns The parsed JSON
65
+ * @throws Error if the body is not valid JSON
66
+ */
67
+ export declare function json(response: Response): unknown;
68
+ /**
69
+ * Parses the response body as JSON
70
+ * @param responseFn - Function that returns an object with result function that returns Response
71
+ * @returns Object with result function that returns the parsed JSON
72
+ * @throws Error if the body is not valid JSON
73
+ */
74
+ export declare function json(responseFn: () => {
75
+ result: Response;
76
+ }): {
77
+ result: () => unknown;
78
+ };
79
+ /**
80
+ * Gets a specific header value
81
+ * @param response - The Response object
82
+ * @param name - The header name (case-insensitive)
83
+ * @returns The header value or undefined if not found
84
+ */
85
+ export declare function getHeader(response: Response, name: string): string | undefined;
86
+ /**
87
+ * Gets a specific header value
88
+ * @param responseFn - Function that returns an object with result function that returns Response
89
+ * @param name - The header name (case-insensitive)
90
+ * @returns Object with result function that returns the header value or undefined if not found
91
+ */
92
+ export declare function getHeader(responseFn: () => {
93
+ result: Response;
94
+ }, name: string): {
95
+ result: () => string | undefined;
96
+ };
97
+ /**
98
+ * Checks if the response status indicates success (200-299)
99
+ * @param response - The Response object
100
+ * @returns True if the status code is in the 200-299 range
101
+ */
102
+ export declare function ok(response: Response): boolean;
103
+ /**
104
+ * Checks if the response status indicates success (200-299)
105
+ * @param responseFn - Function that returns an object with result function that returns Response
106
+ * @returns Object with result function that returns true if the status code is in the 200-299 range
107
+ */
108
+ export declare function ok(responseFn: () => {
109
+ result: Response;
110
+ }): {
111
+ result: () => boolean;
112
+ };
@@ -0,0 +1,44 @@
1
+ export function text(responseOrFn) {
2
+ if (typeof responseOrFn === 'function') {
3
+ return {
4
+ result: () => text(responseOrFn().result),
5
+ };
6
+ }
7
+ else {
8
+ const decoder = new TextDecoder('utf-8');
9
+ return decoder.decode(responseOrFn.body).trim();
10
+ }
11
+ }
12
+ export function json(responseOrFn) {
13
+ if (typeof responseOrFn === 'function') {
14
+ return {
15
+ result: () => json(responseOrFn().result),
16
+ };
17
+ }
18
+ else {
19
+ const decoder = new TextDecoder('utf-8');
20
+ const textBody = decoder.decode(responseOrFn.body);
21
+ return JSON.parse(textBody);
22
+ }
23
+ }
24
+ export function getHeader(responseOrFn, name) {
25
+ if (typeof responseOrFn === 'function') {
26
+ return {
27
+ result: () => getHeader(responseOrFn().result, name),
28
+ };
29
+ }
30
+ else {
31
+ const lowerName = name.toLowerCase();
32
+ return Object.entries(responseOrFn.headers).find(([key]) => key.toLowerCase() === lowerName)?.[1];
33
+ }
34
+ }
35
+ export function ok(responseOrFn) {
36
+ if (typeof responseOrFn === 'function') {
37
+ return {
38
+ result: () => ok(responseOrFn().result),
39
+ };
40
+ }
41
+ else {
42
+ return responseOrFn.statusCode >= 200 && responseOrFn.statusCode < 300;
43
+ }
44
+ }
@@ -1,8 +1,8 @@
1
1
  import type { ChainFamily, NetworkInfo } from './types';
2
2
  interface GetNetworkOptions {
3
- chainSelector?: string;
3
+ chainSelector?: bigint;
4
4
  chainSelectorName?: string;
5
- isTestnet?: boolean;
5
+ isTestnet?: boolean | undefined;
6
6
  chainFamily?: ChainFamily;
7
7
  }
8
8
  /**