@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
@@ -5,32 +5,73 @@ import { mainnetByName, mainnetByNameByFamily, mainnetBySelector, mainnetBySelec
5
5
  * @returns NetworkInfo if found, undefined otherwise
6
6
  */
7
7
  export const getNetwork = (options) => {
8
- const { chainSelector, chainSelectorName, isTestnet = false, chainFamily } = options;
8
+ const { chainSelector, chainSelectorName, isTestnet, chainFamily } = options;
9
+ const getBySelector = (map) => {
10
+ if (chainSelector === undefined)
11
+ return undefined;
12
+ return map.get(chainSelector);
13
+ };
9
14
  // Validate input - need either chainSelector or chainSelectorName
10
15
  if (!chainSelector && !chainSelectorName) {
11
16
  return undefined;
12
17
  }
13
18
  // If both chainFamily and network type are specified, use the most specific maps
14
- if (chainFamily && chainSelector) {
15
- const familyMap = isTestnet
16
- ? testnetBySelectorByFamily[chainFamily]
17
- : mainnetBySelectorByFamily[chainFamily];
18
- return familyMap?.get(chainSelector);
19
+ if (chainFamily && chainSelector !== undefined) {
20
+ if (isTestnet === false) {
21
+ return getBySelector(mainnetBySelectorByFamily[chainFamily]);
22
+ }
23
+ if (isTestnet === true) {
24
+ return getBySelector(testnetBySelectorByFamily[chainFamily]);
25
+ }
26
+ // If user haven't defined if it's testnet or not we can try all networks, starting from testnet
27
+ let network = getBySelector(testnetBySelectorByFamily[chainFamily]);
28
+ if (!network) {
29
+ network = getBySelector(mainnetBySelectorByFamily[chainFamily]);
30
+ }
31
+ return network;
19
32
  }
20
33
  if (chainFamily && chainSelectorName) {
21
- const familyMap = isTestnet
22
- ? testnetByNameByFamily[chainFamily]
23
- : mainnetByNameByFamily[chainFamily];
24
- return familyMap?.get(chainSelectorName);
34
+ if (isTestnet === false) {
35
+ return mainnetByNameByFamily[chainFamily].get(chainSelectorName);
36
+ }
37
+ if (isTestnet === true) {
38
+ return testnetByNameByFamily[chainFamily].get(chainSelectorName);
39
+ }
40
+ // If user haven't defined if it's testnet or not we can try all networks, starting from testnet
41
+ let network = testnetByNameByFamily[chainFamily].get(chainSelectorName);
42
+ if (!network) {
43
+ network = mainnetByNameByFamily[chainFamily].get(chainSelectorName);
44
+ }
45
+ return network;
25
46
  }
26
47
  // If only network type is specified, use the general maps
27
- if (chainSelector) {
28
- const selectorMap = isTestnet ? testnetBySelector : mainnetBySelector;
29
- return selectorMap.get(chainSelector);
48
+ if (chainSelector !== undefined) {
49
+ if (isTestnet === false) {
50
+ return getBySelector(mainnetBySelector);
51
+ }
52
+ if (isTestnet === true) {
53
+ return getBySelector(testnetBySelector);
54
+ }
55
+ // If user haven't defined if it's testnet or not we can try all networks, starting from testnet
56
+ let network = getBySelector(testnetBySelector);
57
+ if (!network) {
58
+ network = getBySelector(mainnetBySelector);
59
+ }
60
+ return network;
30
61
  }
31
62
  if (chainSelectorName) {
32
- const nameMap = isTestnet ? testnetByName : mainnetByName;
33
- return nameMap.get(chainSelectorName);
63
+ if (isTestnet === false) {
64
+ return mainnetByName.get(chainSelectorName);
65
+ }
66
+ if (isTestnet === true) {
67
+ return testnetByName.get(chainSelectorName);
68
+ }
69
+ // If user haven't defined if it's testnet or not we can try all networks, starting from testnet
70
+ let network = testnetByName.get(chainSelectorName);
71
+ if (!network) {
72
+ network = mainnetByName.get(chainSelectorName);
73
+ }
74
+ return network;
34
75
  }
35
76
  return undefined;
36
77
  };
@@ -2,7 +2,7 @@ export type ChainFamily = 'evm' | 'solana' | 'aptos' | 'sui' | 'ton' | 'tron';
2
2
  export type NetworkType = 'mainnet' | 'testnet';
3
3
  export interface ChainSelector {
4
4
  name: string;
5
- selector: string;
5
+ selector: bigint;
6
6
  }
7
7
  export interface NetworkInfo {
8
8
  chainId: string;
@@ -1,3 +1,6 @@
1
+ export * from './capabilities/blockchain/blockchain-helpers';
2
+ export * from './capabilities/http/http-helpers';
3
+ export * from './chain-selectors';
1
4
  export * from './hex-utils';
2
5
  export * from './values/consensus_aggregators';
3
6
  export * from './values/serializer_types';
@@ -1,3 +1,6 @@
1
+ export * from './capabilities/blockchain/blockchain-helpers';
2
+ export * from './capabilities/http/http-helpers';
3
+ export * from './chain-selectors';
1
4
  export * from './hex-utils';
2
5
  export * from './values/consensus_aggregators';
3
6
  export * from './values/serializer_types';
@@ -17,5 +17,5 @@ export interface Trigger<TRawTriggerOutput extends Message<string>, TTriggerOutp
17
17
  /** Get the configuration as an Any type for protobuf serialization */
18
18
  configAsAny(): Any;
19
19
  /** Transform the raw trigger output to the adapted type */
20
- adapt(rawOutput: TRawTriggerOutput): TTriggerOutput | Promise<TTriggerOutput>;
20
+ adapt(rawOutput: TRawTriggerOutput): TTriggerOutput;
21
21
  }
@@ -1,7 +1,7 @@
1
1
  import type { Decimal, Int64, UInt64 } from './value';
2
2
  export type NumericType = number | bigint | Date | Decimal | Int64 | UInt64;
3
3
  export type PrimitiveTypes = NumericType | boolean | string;
4
- export type NonSerializable = null | Map<any, any> | Set<any> | RegExp | Int8Array;
4
+ export type NonSerializable = null | Map<unknown, unknown> | Set<unknown> | RegExp | Int8Array | Promise<unknown>;
5
5
  export type CreSerializableNested<T> = T extends PrimitiveTypes ? T : T extends Function ? T : T extends NonSerializable ? never : T extends any[] ? CreSerializableNested<T[number]>[] : T extends object ? {
6
6
  [K in keyof T]: CreSerializableNested<T[K]>;
7
7
  } : never;
@@ -73,7 +73,7 @@ export class Runner {
73
73
  * @see https://github.com/smartcontractkit/cre-sdk-go/blob/5a41d81e3e072008484e85dc96d746401aafcba2/cre/wasm/runner.go#L81
74
74
  * */
75
75
  const decoded = fromBinary(schema, payloadAny.value);
76
- const adapted = await entry.trigger.adapt(decoded);
76
+ const adapted = entry.trigger.adapt(decoded);
77
77
  try {
78
78
  const result = await entry.fn(runtime, adapted);
79
79
  const wrapped = Value.wrap(result);
@@ -52,4 +52,7 @@ class WasmRuntimeHelpers {
52
52
  switchModes(mode) {
53
53
  hostBindings.switchModes(mode);
54
54
  }
55
+ log(message) {
56
+ hostBindings.log(message);
57
+ }
55
58
  }
@@ -12,6 +12,6 @@ export type Workflow<TConfig> = ReadonlyArray<HandlerEntry<TConfig, any, any, an
12
12
  export declare const handler: <TRawTriggerOutput extends Message<string>, TTriggerOutput, TConfig, TResult>(trigger: Trigger<TRawTriggerOutput, TTriggerOutput>, fn: HandlerFn<TConfig, TTriggerOutput, TResult>) => HandlerEntry<TConfig, TRawTriggerOutput, TTriggerOutput, TResult>;
13
13
  export type SecretsProvider = {
14
14
  getSecret(request: SecretRequest | SecretRequestJson): {
15
- result: () => Promise<Secret>;
15
+ result: () => Secret;
16
16
  };
17
17
  };
@@ -0,0 +1,19 @@
1
+ # Declare all matching test.wasm targets as phony
2
+ .PHONY: FORCE
3
+ FORCE:
4
+
5
+ # Pattern rule to build test.wasm in any subdirectory
6
+ %/test.wasm: FORCE
7
+ @echo "Building test: $*"
8
+ @case "$*" in \
9
+ */*/*) \
10
+ echo "❌ Unsupported test path depth: $*"; \
11
+ exit 1; \
12
+ ;; \
13
+ */*) \
14
+ cd ../.. && bun compile:workflow src/standard_tests/$$(echo "$*" | cut -d'/' -f1)/$$(echo "$*" | cut -d'/' -f2)/test.ts .temp/standard_tests/$$(echo "$*" | cut -d'/' -f1)/$$(echo "$*" | cut -d'/' -f2)/test.wasm; \
15
+ ;; \
16
+ *) \
17
+ cd ../.. && bun compile:workflow src/standard_tests/$*/test.ts .temp/standard_tests/$*/test.wasm; \
18
+ ;; \
19
+ esac
@@ -0,0 +1,39 @@
1
+ import { BasicActionCapability } from '@cre/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen'
2
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
3
+ import { cre, type Runtime } from '@cre/sdk/cre'
4
+ import { Runner } from '@cre/sdk/wasm'
5
+
6
+ const asyncCalls = (runtime: Runtime<Uint8Array>) => {
7
+ const basicAction = new BasicActionCapability()
8
+
9
+ const input1 = { inputThing: true }
10
+ const input2 = { inputThing: false }
11
+
12
+ // Notice: we call perform action on input1 and then input 2.
13
+ const p1 = basicAction.performAction(runtime, input1)
14
+ const p2 = basicAction.performAction(runtime, input2)
15
+
16
+ // We get results in the reverse order.
17
+ const r2 = p2.result()
18
+ const r1 = p1.result()
19
+
20
+ return `${r1.adaptedThing}${r2.adaptedThing}`
21
+ }
22
+
23
+ const initWorkflow = () => {
24
+ const basicTrigger = new BasicTriggerCapability()
25
+ return [cre.handler(basicTrigger.trigger({}), asyncCalls)]
26
+ }
27
+
28
+ export async function main() {
29
+ console.log(
30
+ `TS workflow: standard test: capability calls are async [${new Date().toISOString()}]`,
31
+ )
32
+
33
+ const runner = await Runner.newRunner<Uint8Array>({
34
+ configParser: (c) => c,
35
+ })
36
+ runner.run(initWorkflow)
37
+ }
38
+
39
+ await main()
@@ -0,0 +1,23 @@
1
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
2
+ import { cre, type Runtime } from '@cre/sdk/cre'
3
+ import { Runner } from '@cre/sdk/wasm'
4
+
5
+ const sendBackConfig = (runtime: Runtime<Uint8Array>) => {
6
+ return runtime.config
7
+ }
8
+
9
+ const initWorkflow = () => {
10
+ const basicTrigger = new BasicTriggerCapability()
11
+ return [cre.handler(basicTrigger.trigger({}), sendBackConfig)]
12
+ }
13
+
14
+ export async function main() {
15
+ console.log(`TS workflow: standard test: config [${new Date().toISOString()}]`)
16
+
17
+ const runner = await Runner.newRunner<Uint8Array>({
18
+ configParser: (c) => c,
19
+ })
20
+ await runner.run(initWorkflow)
21
+ }
22
+
23
+ await main()
@@ -0,0 +1,24 @@
1
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
2
+ import { cre, type Runtime } from '@cre/sdk/cre'
3
+ import { Runner } from '@cre/sdk/wasm'
4
+
5
+ const simulateWorkflowFailure = (_: Runtime<Uint8Array>) => {
6
+ throw new Error('workflow execution failure')
7
+ }
8
+
9
+ const initWorkflow = () => {
10
+ const basicTrigger = new BasicTriggerCapability()
11
+
12
+ return [cre.handler(basicTrigger.trigger({}), simulateWorkflowFailure)]
13
+ }
14
+
15
+ export async function main() {
16
+ console.log(`TS workflow: standard test: errors [${new Date().toISOString()}]`)
17
+
18
+ const runner = await Runner.newRunner<Uint8Array>({
19
+ configParser: (c) => c,
20
+ })
21
+ await runner.run(initWorkflow)
22
+ }
23
+
24
+ await main()
@@ -0,0 +1,25 @@
1
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
2
+ import { cre, type Runtime } from '@cre/sdk/cre'
3
+ import { Runner } from '@cre/sdk/wasm'
4
+
5
+ const doLog = (runtime: Runtime<string>) => {
6
+ runtime.log('log from wasm!')
7
+ return runtime.config
8
+ }
9
+
10
+ const initWorkflow = () => {
11
+ const basicTrigger = new BasicTriggerCapability()
12
+
13
+ return [cre.handler(basicTrigger.trigger({}), doLog)]
14
+ }
15
+
16
+ export async function main() {
17
+ console.log(`TS workflow: standard test: logging [${new Date().toISOString()}]`)
18
+
19
+ const runner = await Runner.newRunner<string>({
20
+ configParser: (c) => c.toString(),
21
+ })
22
+ await runner.run(initWorkflow)
23
+ }
24
+
25
+ await main()
@@ -0,0 +1,33 @@
1
+ import { BasicActionCapability } from '@cre/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen'
2
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
3
+ import { cre, type Runtime } from '@cre/sdk/cre'
4
+ import { consensusIdenticalAggregation } from '@cre/sdk/utils'
5
+ import { Runner } from '@cre/sdk/wasm'
6
+
7
+ const handler = (runtime: Runtime<Uint8Array>) => {
8
+ return runtime
9
+ .runInNodeMode(() => {
10
+ const basicCap = new BasicActionCapability()
11
+ return basicCap.performAction(runtime, { inputThing: true }).result().adaptedThing
12
+ }, consensusIdenticalAggregation())()
13
+ .result()
14
+ }
15
+
16
+ const initWorkflow = () => {
17
+ const basicTrigger = new BasicTriggerCapability()
18
+
19
+ return [cre.handler(basicTrigger.trigger({}), handler)]
20
+ }
21
+
22
+ export async function main() {
23
+ console.log(
24
+ `TS workflow: standard test: mode_switch: successful_mode_switch [${new Date().toISOString()}]`,
25
+ )
26
+
27
+ const runner = await Runner.newRunner<Uint8Array>({
28
+ configParser: (c) => c,
29
+ })
30
+ await runner.run(initWorkflow)
31
+ }
32
+
33
+ await main()
@@ -0,0 +1,41 @@
1
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
2
+ import { BasicActionCapability as NodeActionCapability } from '@cre/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen'
3
+ import { cre, type NodeRuntime, type Runtime } from '@cre/sdk/cre'
4
+ import { consensusIdenticalAggregation } from '@cre/sdk/utils'
5
+ import { Runner } from '@cre/sdk/wasm'
6
+
7
+ const handler = (runtime: Runtime<Uint8Array>) => {
8
+ // First, run in node mode and do consensus - this makes the expected CallCapability call
9
+ var nrt: NodeRuntime<Uint8Array> | undefined
10
+ runtime
11
+ .runInNodeMode((nodeRuntime: NodeRuntime<Uint8Array>) => {
12
+ nrt = nodeRuntime
13
+ return 'hi'
14
+ }, consensusIdenticalAggregation())()
15
+ .result()
16
+
17
+ // Now we're back in DON mode, try to use a NODE mode capability
18
+ // This should trigger assertNodeSafe() and throw "cannot use NodeRuntime outside RunInNodeMode"
19
+ const nodeActionCapability = new NodeActionCapability()
20
+ nodeActionCapability.performAction(nrt as NodeRuntime<Uint8Array>, { inputThing: true }).result()
21
+ return 'hi'
22
+ }
23
+
24
+ const initWorkflow = () => {
25
+ const basicTrigger = new BasicTriggerCapability()
26
+
27
+ return [cre.handler(basicTrigger.trigger({}), handler)]
28
+ }
29
+
30
+ export async function main() {
31
+ console.log(
32
+ `TS workflow: standard test: mode_switch: node_runtime_in_don_mode [${new Date().toISOString()}]`,
33
+ )
34
+
35
+ const runner = await Runner.newRunner<Uint8Array>({
36
+ configParser: (c) => c,
37
+ })
38
+ await runner.run(initWorkflow)
39
+ }
40
+
41
+ await main()
@@ -0,0 +1,58 @@
1
+ import { BasicActionCapability } from '@cre/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen'
2
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
3
+ import { BasicActionCapability as NodeActionCapability } from '@cre/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen'
4
+ import { cre, type Runtime } from '@cre/sdk/cre'
5
+ import type { NodeRuntime } from '@cre/sdk/runtime'
6
+ import { ConsensusAggregationByFields, Int64, median } from '@cre/sdk/utils'
7
+ import { Runner } from '@cre/sdk/wasm'
8
+
9
+ class Output {
10
+ constructor(public OutputThing: Int64) {}
11
+ }
12
+
13
+ const handler = (runtime: Runtime<Uint8Array>) => {
14
+ const donInput = { inputThing: true }
15
+ const basicActionCapability = new BasicActionCapability()
16
+ const donResponse = basicActionCapability.performAction(runtime, donInput).result()
17
+ runtime.now()
18
+
19
+ const consensusOutput = runtime.runInNodeMode(
20
+ (nodeRuntime: NodeRuntime<Uint8Array>): Output => {
21
+ nodeRuntime.now()
22
+ const nodeActionCapability = new NodeActionCapability()
23
+ const nodeResponse = nodeActionCapability
24
+ .performAction(nodeRuntime, {
25
+ inputThing: true,
26
+ })
27
+ .result()
28
+
29
+ return new Output(new Int64(nodeResponse.outputThing))
30
+ },
31
+ ConsensusAggregationByFields<Output>({ OutputThing: median }).withDefault(
32
+ new Output(new Int64(123)),
33
+ ),
34
+ )()
35
+
36
+ runtime.now()
37
+
38
+ return `${donResponse.adaptedThing}${consensusOutput.result().OutputThing.value}`
39
+ }
40
+
41
+ const initWorkflow = () => {
42
+ const basicTrigger = new BasicTriggerCapability()
43
+
44
+ return [cre.handler(basicTrigger.trigger({}), handler)]
45
+ }
46
+
47
+ export async function main() {
48
+ console.log(
49
+ `TS workflow: standard test: mode_switch: successful_mode_switch [${new Date().toISOString()}]`,
50
+ )
51
+
52
+ const runner = await Runner.newRunner<Uint8Array>({
53
+ configParser: (c) => c,
54
+ })
55
+ runner.run(initWorkflow)
56
+ }
57
+
58
+ await main()
@@ -0,0 +1,40 @@
1
+ import type { TriggerEvent } from '@cre/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb'
2
+ import type { Outputs } from '@cre/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb'
3
+ import { BasicCapability as ActionAndTriggerCapability } from '@cre/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen'
4
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
5
+ import { cre, type Runtime } from '@cre/sdk/cre'
6
+ import { Runner } from '@cre/sdk/wasm'
7
+
8
+ const doLog0 = (_: Runtime<Uint8Array>, output: Outputs) => {
9
+ return `called 0 with ${output.coolOutput}`
10
+ }
11
+
12
+ const doLog1 = (_runtime: Runtime<Uint8Array>, output: TriggerEvent) => {
13
+ return `called 1 with ${output.coolOutput}`
14
+ }
15
+
16
+ const doLog2 = (_runtime: Runtime<Uint8Array>, output: Outputs) => {
17
+ return `called 2 with ${output.coolOutput}`
18
+ }
19
+
20
+ const initWorkflow = () => {
21
+ const basicTrigger = new BasicTriggerCapability()
22
+ const actionTrigger = new ActionAndTriggerCapability()
23
+
24
+ return [
25
+ cre.handler(basicTrigger.trigger({ name: 'first-trigger', number: 100 }), doLog0),
26
+ cre.handler(actionTrigger.trigger({ name: 'second-trigger', number: 150 }), doLog1),
27
+ cre.handler(basicTrigger.trigger({ name: 'third-trigger', number: 200 }), doLog2),
28
+ ]
29
+ }
30
+
31
+ export async function main() {
32
+ console.log(`TS workflow: standard test: multiple_triggers [${new Date().toISOString()}]`)
33
+
34
+ const runner = await Runner.newRunner<Uint8Array>({
35
+ configParser: (c) => c,
36
+ })
37
+ await runner.run(initWorkflow)
38
+ }
39
+
40
+ await main()
@@ -0,0 +1,64 @@
1
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
2
+ import { BasicActionCapability as NodeActionCapability } from '@cre/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen'
3
+ import { cre, type NodeRuntime, type Runtime } from '@cre/sdk/cre'
4
+ import { ConsensusAggregationByFields, Int64, median } from '@cre/sdk/utils'
5
+ import { Runner } from '@cre/sdk/wasm'
6
+
7
+ class Output {
8
+ constructor(public OutputThing: Int64) {}
9
+ }
10
+
11
+ const castRandomToUint64 = (randomFloat: number) =>
12
+ BigInt(Math.floor(randomFloat * Number.MAX_SAFE_INTEGER))
13
+
14
+ const randHandler = (runtime: Runtime<Uint8Array>) => {
15
+ const donRandomNumber = castRandomToUint64(Math.random())
16
+
17
+ let total = donRandomNumber
18
+
19
+ runtime
20
+ .runInNodeMode(
21
+ (nodeRuntime: NodeRuntime<Uint8Array>) => {
22
+ const nodeRandomNumber = castRandomToUint64(Math.random())
23
+
24
+ const nodeActionCapability = new NodeActionCapability()
25
+ const nodeResponse = nodeActionCapability
26
+ .performAction(nodeRuntime, {
27
+ inputThing: true,
28
+ })
29
+ .result()
30
+
31
+ if (nodeResponse.outputThing < 100n) {
32
+ runtime.log(`***${nodeRandomNumber.toString()}`)
33
+ }
34
+
35
+ return new Output(new Int64(nodeResponse.outputThing))
36
+ },
37
+ ConsensusAggregationByFields<Output>({
38
+ OutputThing: median,
39
+ }).withDefault(new Output(new Int64(123n))),
40
+ )()
41
+ .result()
42
+
43
+ total += donRandomNumber
44
+
45
+ return total
46
+ }
47
+
48
+ const initWorkflow = () => {
49
+ const basicTrigger = new BasicTriggerCapability()
50
+
51
+ return [cre.handler(basicTrigger.trigger({}), randHandler)]
52
+ }
53
+
54
+ export async function main() {
55
+ console.log(`TS workflow: standard test: random [${new Date().toISOString()}]`)
56
+
57
+ const runner = await Runner.newRunner<Uint8Array>({
58
+ configParser: (c) => c,
59
+ })
60
+
61
+ await runner.run(initWorkflow)
62
+ }
63
+
64
+ await main()
@@ -0,0 +1,30 @@
1
+ import { toJson } from '@bufbuild/protobuf'
2
+ import type { Outputs } from '@cre/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb'
3
+ import { SecretSchema } from '@cre/generated/sdk/v1alpha/sdk_pb'
4
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
5
+ import { cre, type Runtime } from '@cre/sdk/cre'
6
+ import { Runner } from '@cre/sdk/wasm'
7
+
8
+ const handleSecret = async (runtime: Runtime<Uint8Array>, _: Outputs) => {
9
+ const secret = runtime.getSecret({ id: 'Foo' }).result()
10
+ const secretJson = toJson(SecretSchema, secret)
11
+
12
+ return secretJson.value || ''
13
+ }
14
+
15
+ const initWorkflow = () => {
16
+ const basicTrigger = new BasicTriggerCapability()
17
+
18
+ return [cre.handler(basicTrigger.trigger({}), handleSecret)]
19
+ }
20
+
21
+ export async function main() {
22
+ console.log(`TS workflow: standard test: secrets [${new Date().toISOString()}]`)
23
+
24
+ const runner = await Runner.newRunner<Uint8Array>({
25
+ configParser: (c) => c,
26
+ })
27
+ await runner.run(initWorkflow)
28
+ }
29
+
30
+ await main()
@@ -0,0 +1,29 @@
1
+ import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen'
2
+ import { cre, type NodeRuntime, type Runtime } from '@cre/sdk/cre'
3
+ import { consensusIdenticalAggregation } from '@cre/sdk/utils'
4
+ import { Runner } from '@cre/sdk/wasm'
5
+
6
+ const secretAccessInNodeMode = (runtime: Runtime<Uint8Array>) => {
7
+ return runtime
8
+ .runInNodeMode((_nodeRuntime: NodeRuntime<Uint8Array>) => {
9
+ return runtime.getSecret({ id: 'anything' }).result()
10
+ }, consensusIdenticalAggregation())()
11
+ .result()
12
+ }
13
+
14
+ const initWorkflow = () => {
15
+ const basicTrigger = new BasicTriggerCapability()
16
+
17
+ return [cre.handler(basicTrigger.trigger({}), secretAccessInNodeMode)]
18
+ }
19
+
20
+ export async function main() {
21
+ console.log(`TS workflow: standard test: secrets_fail_in_node_mode [${new Date().toISOString()}]`)
22
+
23
+ const runner = await Runner.newRunner<Uint8Array>({
24
+ configParser: (c) => c,
25
+ })
26
+ await runner.run(initWorkflow)
27
+ }
28
+
29
+ await main()