@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.
- package/LICENSE.md +7 -7
- package/README.md +195 -281
- package/dist/generated/chain-selectors/mainnet/aptos/aptos-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/0g-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/abstract-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/apechain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/areon-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/avalanche-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/avalanche-subnet-dexalot-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/berachain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet-opbnb-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcichain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bitlayer-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bob-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-botanix.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bsquared-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-merlin-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bittensor-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bittorrent.chain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/celo-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/codex-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/coinex.smart.chain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/conflux-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/core-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/corn-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/cronos-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/cronos-zkevm-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-l3x-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-treasure-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-astar-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-base-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-blast-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-hashkey-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-immutable-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-ink-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-kroma-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-linea-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mantle-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-metis-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mode-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-optimism-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-polygon-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-scroll-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-taiko-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-unichain-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-worldchain-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-xlayer-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zircuit-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zksync-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/etherlink-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/fantom-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/filecoin-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/fraxtal-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/gnosis.chain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/hedera-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/hemi-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/hyperliquid-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/janction-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/kaia-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/kava-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/kusama-mainnet-moonriver.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/lens-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/lisk-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/memento-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/metal-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/mind-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/mint-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/monad-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/morph-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/near-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/neonlink-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/neox-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-henesys.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-lith.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/nexon-qa.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/nexon-stage.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/nibiru-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/plasma-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/plume-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-astar.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-centrifuge.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-darwinia.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-moonbeam.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet-katana.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ronin-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/rootstock-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/sei-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/shibarium-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/soneium-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/sonic-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/superseed-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/tac-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/telos-evm-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/treasure-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/tron-mainnet-evm.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/velas-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/wemix-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/xdc-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/zetachain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/zklink.nova-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/zora-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/solana/solana-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/sui/sui-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/ton/ton-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/tron/tron-mainnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/aptos/aptos-localnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/aptos/aptos-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/0g-testnet-galileo.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/0g-testnet-newton.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/abstract-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/anvil-devnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/apechain-testnet-curtis.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/areon-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/avalanche-subnet-dexalot-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-fuji.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-nexon.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-artio.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bartio.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet-opbnb-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcichain-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bitlayer-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-botanix.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bsquared-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-merlin.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-rootstock.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-sepolia-bob-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bittensor-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bittorrent.chain-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/celo-testnet-alfajores.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/codex-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/coinex.smart.chain-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/core-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/cronos-testnet-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/cronos-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/cronos-zkevm-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/dtcc-testnet-andesite.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-arbitrum-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-base-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-linea-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-mantle-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-optimism-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-polygon-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-zksync-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-fraxtal-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-morph-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-taiko-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-l3x-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-treasure-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-base-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-blast-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-corn-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-hashkey-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-immutable-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-kroma-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lens-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-linea-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lisk-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mantle-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-metis-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mode-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-optimism-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-validium-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-scroll-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-soneium-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-unichain-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-worldchain-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-xlayer-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zircuit-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zksync-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/etherlink-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/fantom-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/filecoin-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/geth-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/gnosis.chain-testnet-chiado.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/hedera-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/hemi-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/hyperliquid-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ink-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/janction-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/jovay-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/kaia-testnet-kairos.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/kava-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/megaeth-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/memento-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/metal-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/mind-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/mint-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/monad-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/near-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/neonlink-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/neox-testnet-t4.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/nexon-dev.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/nibiru-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ondo-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/pharos-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/plasma-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/plume-devnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/plume-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/plume-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-astar-shibuya.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-centrifuge-altair.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-darwinia-pangoro.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-moonbeam-moonbase.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-amoy.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-mumbai.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-tatara.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-andesite.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-granite.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-mica.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-obsidian.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-opala.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ronin-testnet-saigon.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/sei-testnet-atlantic.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/shibarium-testnet-puppynet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/sonic-testnet-blaze.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/story-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/superseed-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/tac-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/telos-evm-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/treasure-testnet-topaz.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/tron-devnet-evm.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/tron-testnet-nile-evm.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/tron-testnet-shasta-evm.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/velas-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/wemix-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/xdc-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/zero-g-testnet-galileo.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/zircuit-testnet-garfield.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/zklink.nova-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/zora-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/solana/solana-devnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/solana/solana-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/sui/sui-localnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/sui/sui-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/ton/ton-localnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/ton/ton-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/tron/tron-devnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/tron/tron-testnet-nile.js +1 -1
- package/dist/generated/chain-selectors/testnet/tron/tron-testnet-shasta.js +1 -1
- package/dist/generated/networks.d.ts +14 -14
- package/dist/generated/networks.js +495 -495
- package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.d.ts +37 -22
- package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.js +158 -62
- package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.d.ts +7 -7
- package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.js +28 -14
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.d.ts +17 -4
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.js +44 -9
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.d.ts +0 -1
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.js +2 -2
- package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.d.ts +0 -1
- package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.js +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/sdk/cre/index.d.ts +2 -1
- package/dist/sdk/cre/index.js +1 -1
- package/dist/sdk/impl/runtime-impl.d.ts +12 -4
- package/dist/sdk/impl/runtime-impl.js +53 -19
- package/dist/sdk/index.d.ts +1 -0
- package/dist/sdk/index.js +1 -0
- package/dist/sdk/report.d.ts +6 -0
- package/dist/sdk/report.js +14 -0
- package/dist/sdk/runtime.d.ts +11 -2
- package/dist/sdk/utils/capabilities/blockchain/blockchain-helpers.d.ts +50 -0
- package/dist/sdk/utils/capabilities/blockchain/blockchain-helpers.js +48 -0
- package/dist/sdk/utils/capabilities/http/http-helpers.d.ts +112 -0
- package/dist/sdk/utils/capabilities/http/http-helpers.js +44 -0
- package/dist/sdk/utils/chain-selectors/getNetwork.d.ts +2 -2
- package/dist/sdk/utils/chain-selectors/getNetwork.js +56 -15
- package/dist/sdk/utils/chain-selectors/types.d.ts +1 -1
- package/dist/sdk/utils/index.d.ts +3 -0
- package/dist/sdk/utils/index.js +3 -0
- package/dist/sdk/utils/triggers/trigger-interface.d.ts +1 -1
- package/dist/sdk/utils/values/serializer_types.d.ts +1 -1
- package/dist/sdk/wasm/runner.js +1 -1
- package/dist/sdk/wasm/runtime.js +3 -0
- package/dist/sdk/workflow.d.ts +1 -1
- package/dist/workflows/standard_tests/Makefile +19 -0
- package/dist/workflows/standard_tests/capability_calls_are_async/test.ts +39 -0
- package/dist/workflows/standard_tests/config/test.ts +23 -0
- package/dist/workflows/standard_tests/errors/test.ts +24 -0
- package/dist/workflows/standard_tests/logging/test.ts +25 -0
- package/dist/workflows/standard_tests/mode_switch/don_runtime_in_node_mode/test.ts +33 -0
- package/dist/workflows/standard_tests/mode_switch/node_runtime_in_don_mode/test.ts +41 -0
- package/dist/workflows/standard_tests/mode_switch/successful_mode_switch/test.ts +58 -0
- package/dist/workflows/standard_tests/multiple_triggers/test.ts +40 -0
- package/dist/workflows/standard_tests/random/test.ts +64 -0
- package/dist/workflows/standard_tests/secrets/test.ts +30 -0
- package/dist/workflows/standard_tests/secrets_fail_in_node_mode/test.ts +29 -0
- package/package.json +70 -68
- package/scripts/src/cre-setup.ts +9 -0
- package/scripts/src/generate-chain-selectors.ts +23 -16
- package/dist/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb.d.ts +0 -135
- package/dist/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb.js +0 -43
- package/dist/generated/capabilities/internal/basicaction/v1/basic_action_pb.d.ts +0 -77
- package/dist/generated/capabilities/internal/basicaction/v1/basic_action_pb.js +0 -33
- package/dist/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb.d.ts +0 -77
- package/dist/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb.js +0 -29
- package/dist/generated/capabilities/internal/nodeaction/v1/node_action_pb.d.ts +0 -69
- package/dist/generated/capabilities/internal/nodeaction/v1/node_action_pb.js +0 -29
- package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.d.ts +0 -43
- package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.js +0 -77
- package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.d.ts +0 -19
- package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.js +0 -36
- package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.d.ts +0 -39
- package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.js +0 -58
- package/dist/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen.d.ts +0 -19
- package/dist/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen.js +0 -36
- package/dist/sdk/impl/runtime-impl.test.d.ts +0 -1
- package/dist/sdk/impl/runtime-impl.test.js +0 -334
- package/dist/sdk/utils/config/configHandler.test.d.ts +0 -1
- package/dist/sdk/utils/config/configHandler.test.js +0 -193
- package/dist/sdk/utils/values/consensus_aggregators.test.d.ts +0 -1
- package/dist/sdk/utils/values/consensus_aggregators.test.js +0 -172
- package/dist/sdk/utils/values/serializer_types.test.d.ts +0 -1
- package/dist/sdk/utils/values/serializer_types.test.js +0 -104
- package/dist/sdk/utils/values/value.test.d.ts +0 -1
- package/dist/sdk/utils/values/value.test.js +0 -439
- package/dist/sdk/wasm/runner.test.d.ts +0 -1
- package/dist/sdk/wasm/runner.test.js +0 -270
- /package/dist/sdk/utils/{safeJsonStringify.d.ts → safe-json-stringify.d.ts} +0 -0
- /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
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
29
|
-
|
|
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
|
-
|
|
33
|
-
|
|
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:
|
|
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';
|
package/dist/sdk/utils/index.js
CHANGED
|
@@ -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
|
|
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<
|
|
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;
|
package/dist/sdk/wasm/runner.js
CHANGED
|
@@ -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 =
|
|
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);
|
package/dist/sdk/wasm/runtime.js
CHANGED
package/dist/sdk/workflow.d.ts
CHANGED
|
@@ -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: () =>
|
|
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()
|