@chainlink/cre-sdk 0.0.0 → 0.0.1-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +54 -0
- package/README.md +493 -0
- package/bin/cre-compile.ts +31 -0
- package/dist/generated/capabilities/blockchain/evm/v1alpha/client_pb.d.ts +1578 -0
- package/dist/generated/capabilities/blockchain/evm/v1alpha/client_pb.js +258 -0
- package/dist/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb.d.ts +135 -0
- package/dist/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb.js +43 -0
- package/dist/generated/capabilities/internal/basicaction/v1/basic_action_pb.d.ts +77 -0
- package/dist/generated/capabilities/internal/basicaction/v1/basic_action_pb.js +33 -0
- package/dist/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb.d.ts +77 -0
- package/dist/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb.js +29 -0
- package/dist/generated/capabilities/networking/http/v1alpha/client_pb.d.ts +178 -0
- package/dist/generated/capabilities/networking/http/v1alpha/client_pb.js +36 -0
- package/dist/generated/capabilities/networking/http/v1alpha/trigger_pb.d.ts +147 -0
- package/dist/generated/capabilities/networking/http/v1alpha/trigger_pb.js +56 -0
- package/dist/generated/capabilities/scheduler/cron/v1/trigger_pb.d.ts +115 -0
- package/dist/generated/capabilities/scheduler/cron/v1/trigger_pb.js +38 -0
- package/dist/generated/chain-selectors/mainnet/aptos/aptos-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/aptos/aptos-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/0g-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/0g-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/abstract-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/abstract-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/apechain-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/apechain-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/areon-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/areon-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/avalanche-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/avalanche-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/avalanche-subnet-dexalot-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/avalanche-subnet-dexalot-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/berachain-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/berachain-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet-opbnb-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet-opbnb-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcichain-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcichain-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bitlayer-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bitlayer-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bob-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bob-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-botanix.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-botanix.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bsquared-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bsquared-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-merlin-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-merlin-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/bittensor-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/bittensor-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/bittorrent.chain-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/bittorrent.chain-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/celo-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/celo-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/codex-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/codex-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/coinex.smart.chain-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/coinex.smart.chain-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/conflux-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/conflux-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/core-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/core-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/corn-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/corn-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/cronos-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/cronos-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/cronos-zkevm-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/cronos-zkevm-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-l3x-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-l3x-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-treasure-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-treasure-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-astar-zkevm-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-astar-zkevm-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-base-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-base-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-blast-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-blast-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-hashkey-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-hashkey-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-immutable-zkevm-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-immutable-zkevm-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-ink-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-ink-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-kroma-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-kroma-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-linea-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-linea-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mantle-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mantle-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-metis-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-metis-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mode-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mode-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-optimism-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-optimism-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-polygon-zkevm-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-polygon-zkevm-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-scroll-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-scroll-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-taiko-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-taiko-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-unichain-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-unichain-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-worldchain-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-worldchain-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-xlayer-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-xlayer-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zircuit-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zircuit-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zksync-1.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zksync-1.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/etherlink-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/etherlink-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/fantom-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/fantom-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/filecoin-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/filecoin-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/fraxtal-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/fraxtal-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/gnosis.chain-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/gnosis.chain-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/hedera-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/hedera-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/hemi-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/hemi-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/hyperliquid-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/hyperliquid-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/janction-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/janction-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/kaia-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/kaia-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/kava-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/kava-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/kusama-mainnet-moonriver.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/kusama-mainnet-moonriver.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/lens-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/lens-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/lisk-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/lisk-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/memento-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/memento-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/metal-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/metal-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/mind-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/mind-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/mint-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/mint-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/monad-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/monad-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/morph-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/morph-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/near-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/near-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/neonlink-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/neonlink-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/neox-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/neox-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-henesys.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-henesys.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-lith.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-lith.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/nexon-qa.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/nexon-qa.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/nexon-stage.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/nexon-stage.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/nibiru-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/nibiru-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/plasma-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/plasma-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/plume-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/plume-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-astar.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-astar.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-centrifuge.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-centrifuge.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-darwinia.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-darwinia.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-moonbeam.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-moonbeam.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet-katana.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet-katana.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/ronin-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/ronin-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/rootstock-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/rootstock-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/sei-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/sei-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/shibarium-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/shibarium-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/soneium-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/soneium-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/sonic-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/sonic-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/superseed-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/superseed-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/tac-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/tac-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/telos-evm-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/telos-evm-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/treasure-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/treasure-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/tron-mainnet-evm.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/tron-mainnet-evm.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/velas-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/velas-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/wemix-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/wemix-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/xdc-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/xdc-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/zetachain-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/zetachain-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/zklink.nova-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/zklink.nova-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/evm/zora-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/evm/zora-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/solana/solana-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/solana/solana-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/sui/sui-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/sui/sui-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/ton/ton-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/ton/ton-mainnet.js +12 -0
- package/dist/generated/chain-selectors/mainnet/tron/tron-mainnet.d.ts +3 -0
- package/dist/generated/chain-selectors/mainnet/tron/tron-mainnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/aptos/aptos-localnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/aptos/aptos-localnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/aptos/aptos-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/aptos/aptos-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/0g-testnet-galileo.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/0g-testnet-galileo.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/0g-testnet-newton.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/0g-testnet-newton.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/abstract-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/abstract-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/anvil-devnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/anvil-devnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/apechain-testnet-curtis.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/apechain-testnet-curtis.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/areon-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/areon-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/avalanche-subnet-dexalot-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/avalanche-subnet-dexalot-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-fuji.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-fuji.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-nexon.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-nexon.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-artio.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-artio.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bartio.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bartio.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bepolia.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bepolia.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet-opbnb-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet-opbnb-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcichain-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcichain-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bitlayer-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bitlayer-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-botanix.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-botanix.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bsquared-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bsquared-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-merlin.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-merlin.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-rootstock.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-rootstock.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-sepolia-bob-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-sepolia-bob-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/bittensor-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/bittensor-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/bittorrent.chain-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/bittorrent.chain-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/celo-testnet-alfajores.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/celo-testnet-alfajores.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/codex-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/codex-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/coinex.smart.chain-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/coinex.smart.chain-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/core-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/core-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/cronos-testnet-zkevm-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/cronos-testnet-zkevm-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/cronos-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/cronos-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/cronos-zkevm-testnet-sepolia.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/cronos-zkevm-testnet-sepolia.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/dtcc-testnet-andesite.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/dtcc-testnet-andesite.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-arbitrum-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-arbitrum-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-base-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-base-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-linea-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-linea-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-mantle-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-mantle-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-optimism-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-optimism-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-polygon-zkevm-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-polygon-zkevm-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-zksync-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-zksync-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-fraxtal-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-fraxtal-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-morph-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-morph-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-taiko-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-taiko-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-l3x-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-l3x-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-treasure-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-treasure-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-base-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-base-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-blast-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-blast-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-corn-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-corn-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-hashkey-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-hashkey-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-immutable-zkevm-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-immutable-zkevm-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-kroma-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-kroma-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lens-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lens-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-linea-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-linea-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lisk-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lisk-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mantle-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mantle-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-metis-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-metis-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mode-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mode-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-optimism-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-optimism-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-validium-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-validium-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-zkevm-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-zkevm-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-scroll-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-scroll-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-soneium-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-soneium-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-unichain-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-unichain-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-worldchain-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-worldchain-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-xlayer-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-xlayer-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zircuit-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zircuit-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zksync-1.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zksync-1.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/etherlink-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/etherlink-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/fantom-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/fantom-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/filecoin-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/filecoin-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/geth-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/geth-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/gnosis.chain-testnet-chiado.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/gnosis.chain-testnet-chiado.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/hedera-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/hedera-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/hemi-testnet-sepolia.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/hemi-testnet-sepolia.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/hyperliquid-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/hyperliquid-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ink-testnet-sepolia.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ink-testnet-sepolia.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/janction-testnet-sepolia.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/janction-testnet-sepolia.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/jovay-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/jovay-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/kaia-testnet-kairos.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/kaia-testnet-kairos.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/kava-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/kava-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/megaeth-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/megaeth-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/memento-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/memento-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/metal-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/metal-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/mind-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/mind-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/mint-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/mint-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/monad-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/monad-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/near-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/near-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/neonlink-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/neonlink-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/neox-testnet-t4.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/neox-testnet-t4.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/nexon-dev.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/nexon-dev.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/nibiru-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/nibiru-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ondo-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ondo-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/pharos-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/pharos-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/plasma-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/plasma-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/plume-devnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/plume-devnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/plume-testnet-sepolia.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/plume-testnet-sepolia.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/plume-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/plume-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-astar-shibuya.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-astar-shibuya.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-centrifuge-altair.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-centrifuge-altair.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-darwinia-pangoro.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-darwinia-pangoro.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-moonbeam-moonbase.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-moonbeam-moonbase.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-amoy.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-amoy.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-mumbai.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-mumbai.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-tatara.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-tatara.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-andesite.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-andesite.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-granite.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-granite.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-mica.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-mica.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-obsidian.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-obsidian.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-opala.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-opala.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/ronin-testnet-saigon.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/ronin-testnet-saigon.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/sei-testnet-atlantic.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/sei-testnet-atlantic.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/shibarium-testnet-puppynet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/shibarium-testnet-puppynet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/sonic-testnet-blaze.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/sonic-testnet-blaze.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/story-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/story-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/superseed-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/superseed-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/tac-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/tac-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/telos-evm-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/telos-evm-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/treasure-testnet-topaz.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/treasure-testnet-topaz.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/tron-devnet-evm.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/tron-devnet-evm.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/tron-testnet-nile-evm.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/tron-testnet-nile-evm.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/tron-testnet-shasta-evm.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/tron-testnet-shasta-evm.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/velas-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/velas-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/wemix-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/wemix-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/xdc-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/xdc-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/zero-g-testnet-galileo.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/zero-g-testnet-galileo.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/zircuit-testnet-garfield.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/zircuit-testnet-garfield.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/zklink.nova-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/zklink.nova-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/evm/zora-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/evm/zora-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/solana/solana-devnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/solana/solana-devnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/solana/solana-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/solana/solana-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/sui/sui-localnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/sui/sui-localnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/sui/sui-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/sui/sui-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/ton/ton-localnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/ton/ton-localnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/ton/ton-testnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/ton/ton-testnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/tron/tron-devnet.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/tron/tron-devnet.js +12 -0
- package/dist/generated/chain-selectors/testnet/tron/tron-testnet-nile.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/tron/tron-testnet-nile.js +12 -0
- package/dist/generated/chain-selectors/testnet/tron/tron-testnet-shasta.d.ts +3 -0
- package/dist/generated/chain-selectors/testnet/tron/tron-testnet-shasta.js +12 -0
- package/dist/generated/networks.d.ts +54 -0
- package/dist/generated/networks.js +1821 -0
- package/dist/generated/sdk/v1alpha/sdk_pb.d.ts +989 -0
- package/dist/generated/sdk/v1alpha/sdk_pb.js +203 -0
- package/dist/generated/tools/generator/v1alpha/cre_metadata_pb.d.ts +309 -0
- package/dist/generated/tools/generator/v1alpha/cre_metadata_pb.js +80 -0
- package/dist/generated/values/v1/values_pb.d.ts +261 -0
- package/dist/generated/values/v1/values_pb.js +46 -0
- package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.d.ts +92 -0
- package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.js +489 -0
- package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.d.ts +48 -0
- package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.js +108 -0
- package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.d.ts +23 -0
- package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.js +63 -0
- package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.d.ts +45 -0
- package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.js +71 -0
- package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.d.ts +26 -0
- package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.js +100 -0
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.d.ts +23 -0
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.js +63 -0
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.d.ts +45 -0
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.js +71 -0
- package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.d.ts +45 -0
- package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.js +71 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -0
- package/dist/sdk/cre/index.d.ts +34 -0
- package/dist/sdk/cre/index.js +35 -0
- package/dist/sdk/engine/execute.d.ts +4 -0
- package/dist/sdk/engine/execute.js +12 -0
- package/dist/sdk/engine/execute.test.d.ts +1 -0
- package/dist/sdk/engine/execute.test.js +129 -0
- package/dist/sdk/engine/handleExecutionPhase.d.ts +4 -0
- package/dist/sdk/engine/handleExecutionPhase.js +34 -0
- package/dist/sdk/engine/handleSubscribePhase.d.ts +3 -0
- package/dist/sdk/engine/handleSubscribePhase.js +23 -0
- package/dist/sdk/index.d.ts +1 -0
- package/dist/sdk/index.js +1 -0
- package/dist/sdk/logger.d.ts +7 -0
- package/dist/sdk/logger.js +18 -0
- package/dist/sdk/runtime/errors.d.ts +23 -0
- package/dist/sdk/runtime/errors.js +30 -0
- package/dist/sdk/runtime/host-bindings.d.ts +14 -0
- package/dist/sdk/runtime/host-bindings.js +56 -0
- package/dist/sdk/runtime/index.d.ts +3 -0
- package/dist/sdk/runtime/index.js +2 -0
- package/dist/sdk/runtime/run-in-node-mode.d.ts +12 -0
- package/dist/sdk/runtime/run-in-node-mode.js +47 -0
- package/dist/sdk/runtime/run-in-node-mode.test.d.ts +1 -0
- package/dist/sdk/runtime/run-in-node-mode.test.js +116 -0
- package/dist/sdk/runtime/runtime.d.ts +36 -0
- package/dist/sdk/runtime/runtime.js +84 -0
- package/dist/sdk/runtime/runtime.test.d.ts +1 -0
- package/dist/sdk/runtime/runtime.test.js +58 -0
- package/dist/sdk/testhelpers/dangerously-call-capability.d.ts +10 -0
- package/dist/sdk/testhelpers/dangerously-call-capability.js +26 -0
- package/dist/sdk/testhelpers/mock-host-bindings.d.ts +15 -0
- package/dist/sdk/testhelpers/mock-host-bindings.js +25 -0
- package/dist/sdk/testhelpers/mock-runtime.d.ts +2 -0
- package/dist/sdk/testhelpers/mock-runtime.js +16 -0
- package/dist/sdk/utils/await-async-request.d.ts +9 -0
- package/dist/sdk/utils/await-async-request.js +27 -0
- package/dist/sdk/utils/capabilities/call-capability.d.ts +22 -0
- package/dist/sdk/utils/capabilities/call-capability.js +33 -0
- package/dist/sdk/utils/capabilities/callback-id.d.ts +3 -0
- package/dist/sdk/utils/capabilities/callback-id.js +22 -0
- package/dist/sdk/utils/capabilities/capability-error.d.ts +14 -0
- package/dist/sdk/utils/capabilities/capability-error.js +17 -0
- package/dist/sdk/utils/capabilities/http/fetch.d.ts +44 -0
- package/dist/sdk/utils/capabilities/http/fetch.js +63 -0
- package/dist/sdk/utils/chain-selectors/getAllNetworks.d.ts +2 -0
- package/dist/sdk/utils/chain-selectors/getAllNetworks.js +2 -0
- package/dist/sdk/utils/chain-selectors/getNetwork.d.ts +14 -0
- package/dist/sdk/utils/chain-selectors/getNetwork.js +36 -0
- package/dist/sdk/utils/chain-selectors/index.d.ts +3 -0
- package/dist/sdk/utils/chain-selectors/index.js +3 -0
- package/dist/sdk/utils/chain-selectors/types.d.ts +12 -0
- package/dist/sdk/utils/chain-selectors/types.js +1 -0
- package/dist/sdk/utils/config/index.d.ts +9 -0
- package/dist/sdk/utils/config/index.js +46 -0
- package/dist/sdk/utils/do-request-async.d.ts +12 -0
- package/dist/sdk/utils/do-request-async.js +17 -0
- package/dist/sdk/utils/error-boundary.d.ts +2 -0
- package/dist/sdk/utils/error-boundary.js +30 -0
- package/dist/sdk/utils/get-request.d.ts +1 -0
- package/dist/sdk/utils/get-request.js +15 -0
- package/dist/sdk/utils/hex-utils.d.ts +21 -0
- package/dist/sdk/utils/hex-utils.js +31 -0
- package/dist/sdk/utils/index.d.ts +7 -0
- package/dist/sdk/utils/index.js +7 -0
- package/dist/sdk/utils/lazy-promise.d.ts +59 -0
- package/dist/sdk/utils/lazy-promise.js +81 -0
- package/dist/sdk/utils/prepare-runtime.d.ts +6 -0
- package/dist/sdk/utils/prepare-runtime.js +9 -0
- package/dist/sdk/utils/random/get-rand.d.ts +3 -0
- package/dist/sdk/utils/random/get-rand.js +6 -0
- package/dist/sdk/utils/random/random.d.ts +35 -0
- package/dist/sdk/utils/random/random.js +123 -0
- package/dist/sdk/utils/safeJsonStringify.d.ts +6 -0
- package/dist/sdk/utils/safeJsonStringify.js +6 -0
- package/dist/sdk/utils/secrets/await-async-secret.d.ts +1 -0
- package/dist/sdk/utils/secrets/await-async-secret.js +29 -0
- package/dist/sdk/utils/secrets/do-get-secret.d.ts +1 -0
- package/dist/sdk/utils/secrets/do-get-secret.js +14 -0
- package/dist/sdk/utils/secrets/get-secret.d.ts +1 -0
- package/dist/sdk/utils/secrets/get-secret.js +10 -0
- package/dist/sdk/utils/secrets-error.d.ts +3 -0
- package/dist/sdk/utils/secrets-error.js +6 -0
- package/dist/sdk/utils/send-error.d.ts +1 -0
- package/dist/sdk/utils/send-error.js +16 -0
- package/dist/sdk/utils/send-response-value.d.ts +2 -0
- package/dist/sdk/utils/send-response-value.js +15 -0
- package/dist/sdk/utils/time/get-time.d.ts +16 -0
- package/dist/sdk/utils/time/get-time.js +21 -0
- package/dist/sdk/utils/triggers/trigger-interface.d.ts +21 -0
- package/dist/sdk/utils/triggers/trigger-interface.js +1 -0
- package/dist/sdk/utils/typeurl.d.ts +3 -0
- package/dist/sdk/utils/typeurl.js +1 -0
- package/dist/sdk/utils/values/consensus_aggregators.d.ts +27 -0
- package/dist/sdk/utils/values/consensus_aggregators.js +84 -0
- package/dist/sdk/utils/values/consensus_aggregators.test.d.ts +1 -0
- package/dist/sdk/utils/values/consensus_aggregators.test.js +172 -0
- package/dist/sdk/utils/values/serializer_types.d.ts +11 -0
- package/dist/sdk/utils/values/serializer_types.js +1 -0
- package/dist/sdk/utils/values/serializer_types.test.d.ts +1 -0
- package/dist/sdk/utils/values/serializer_types.test.js +104 -0
- package/dist/sdk/utils/values/value.d.ts +82 -0
- package/dist/sdk/utils/values/value.js +376 -0
- package/dist/sdk/utils/values/value.test.d.ts +1 -0
- package/dist/sdk/utils/values/value.test.js +439 -0
- package/dist/sdk/workflow.d.ts +19 -0
- package/dist/sdk/workflow.js +25 -0
- package/package.json +69 -8
- package/scripts/run-standard-tests.sh +21 -0
- package/scripts/run.ts +45 -0
- package/scripts/src/compile-all-standard-tests.ts +81 -0
- package/scripts/src/compile-to-js.ts +57 -0
- package/scripts/src/compile-to-wasm.ts +61 -0
- package/scripts/src/compile-workflow.ts +66 -0
- package/scripts/src/fix-imports.ts +39 -0
- package/scripts/src/generate-chain-selectors.ts +450 -0
- package/scripts/src/generate-sdks.ts +36 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API for the CRE SDK.
|
|
3
|
+
*/
|
|
4
|
+
import { ClientCapability as EVMClient } from '../../generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen';
|
|
5
|
+
import { ClientCapability as HTTPClient } from '../../generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen';
|
|
6
|
+
import { HTTPCapability } from '../../generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen';
|
|
7
|
+
import { CronCapability } from '../../generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen';
|
|
8
|
+
import { runInNodeMode } from '../runtime/run-in-node-mode';
|
|
9
|
+
import { Runner } from '../workflow';
|
|
10
|
+
export type { NodeRuntime, Runtime } from '../runtime/runtime';
|
|
11
|
+
export declare const cre: {
|
|
12
|
+
capabilities: {
|
|
13
|
+
CronCapability: typeof CronCapability;
|
|
14
|
+
HTTPCapability: typeof HTTPCapability;
|
|
15
|
+
HTTPClient: typeof HTTPClient;
|
|
16
|
+
EVMClient: typeof EVMClient;
|
|
17
|
+
};
|
|
18
|
+
config: <TConfig>({ configParser, configSchema, }?: import("../utils/config").ConfigHandlerParams) => Promise<TConfig>;
|
|
19
|
+
handler: <TRawTriggerOutput extends import("@bufbuild/protobuf").Message<string>, TTriggerOutput = TRawTriggerOutput, TConfig = unknown>(trigger: import("../utils/triggers/trigger-interface").Trigger<TRawTriggerOutput, TTriggerOutput>, fn: import("../workflow").HandlerFn<TConfig, TTriggerOutput>) => import("../workflow").HandlerEntry<TConfig, TRawTriggerOutput, TTriggerOutput>;
|
|
20
|
+
newRunner: typeof Runner.newRunner;
|
|
21
|
+
runInNodeMode: typeof runInNodeMode;
|
|
22
|
+
utils: {
|
|
23
|
+
fetch: (input: import("../utils/capabilities/http/fetch").CreFetchRequest) => Promise<{
|
|
24
|
+
statusCode: number;
|
|
25
|
+
headers: {
|
|
26
|
+
[key: string]: string;
|
|
27
|
+
};
|
|
28
|
+
body: string;
|
|
29
|
+
}>;
|
|
30
|
+
};
|
|
31
|
+
sendResponseValue: (value: import("../utils").Value) => void;
|
|
32
|
+
sendError: (error: string | Error) => void;
|
|
33
|
+
withErrorBoundary: (fn: () => Promise<void>) => Promise<void>;
|
|
34
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API for the CRE SDK.
|
|
3
|
+
*/
|
|
4
|
+
import { ClientCapability as EVMClient } from '../../generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen';
|
|
5
|
+
import { ClientCapability as HTTPClient } from '../../generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen';
|
|
6
|
+
import { HTTPCapability } from '../../generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen';
|
|
7
|
+
import { CronCapability } from '../../generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen';
|
|
8
|
+
import { runInNodeMode } from '../runtime/run-in-node-mode';
|
|
9
|
+
import { creFetch } from '../utils/capabilities/http/fetch';
|
|
10
|
+
import { configHandler } from '../utils/config';
|
|
11
|
+
import { withErrorBoundary } from '../utils/error-boundary';
|
|
12
|
+
import { prepareRuntime } from '../utils/prepare-runtime';
|
|
13
|
+
import { sendError } from '../utils/send-error';
|
|
14
|
+
import { sendResponseValue } from '../utils/send-response-value';
|
|
15
|
+
import { handler, Runner } from '../workflow';
|
|
16
|
+
prepareRuntime();
|
|
17
|
+
versionV2();
|
|
18
|
+
export const cre = {
|
|
19
|
+
capabilities: {
|
|
20
|
+
CronCapability,
|
|
21
|
+
HTTPCapability,
|
|
22
|
+
HTTPClient,
|
|
23
|
+
EVMClient,
|
|
24
|
+
},
|
|
25
|
+
config: configHandler,
|
|
26
|
+
handler,
|
|
27
|
+
newRunner: Runner.newRunner,
|
|
28
|
+
runInNodeMode,
|
|
29
|
+
utils: {
|
|
30
|
+
fetch: creFetch,
|
|
31
|
+
},
|
|
32
|
+
sendResponseValue,
|
|
33
|
+
sendError,
|
|
34
|
+
withErrorBoundary,
|
|
35
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type CapabilityResponse, type ExecuteRequest } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
2
|
+
import type { Runtime } from '../runtime/runtime';
|
|
3
|
+
import type { Workflow } from '../workflow';
|
|
4
|
+
export declare const handleExecuteRequest: <TConfig>(req: ExecuteRequest, workflow: Workflow<TConfig>, config: TConfig, runtime: Runtime) => Promise<CapabilityResponse | undefined>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Mode, } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
2
|
+
import { handleExecutionPhase } from './handleExecutionPhase';
|
|
3
|
+
import { handleSubscribePhase } from './handleSubscribePhase';
|
|
4
|
+
export const handleExecuteRequest = async (req, workflow, config, runtime) => {
|
|
5
|
+
if (req.request.case === 'subscribe') {
|
|
6
|
+
return handleSubscribePhase(req, workflow);
|
|
7
|
+
}
|
|
8
|
+
if (req.request.case === 'trigger') {
|
|
9
|
+
runtime.switchModes(Mode.DON);
|
|
10
|
+
return handleExecutionPhase(req, workflow, config, runtime);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { describe, expect, mock, test } from 'bun:test';
|
|
2
|
+
import { create, fromBinary, toBinary } from '@bufbuild/protobuf';
|
|
3
|
+
import { EmptySchema } from '@bufbuild/protobuf/wkt';
|
|
4
|
+
import { TriggerEventSchema as ActionTriggerEventSchema } from '../../generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb';
|
|
5
|
+
import { OutputsSchema as BasicTriggerOutputsSchema } from '../../generated/capabilities/internal/basictrigger/v1/basic_trigger_pb';
|
|
6
|
+
import { ExecuteRequestSchema, ExecutionResultSchema, } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
7
|
+
import { BasicCapability as ActionAndTriggerCapability } from '../../generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen';
|
|
8
|
+
import { BasicCapability as BasicTriggerCapability } from '../../generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen';
|
|
9
|
+
import { handleExecuteRequest } from './execute';
|
|
10
|
+
import { mockHostBindings } from '../testhelpers/mock-host-bindings';
|
|
11
|
+
import { mockedRuntime } from '../testhelpers/mock-runtime';
|
|
12
|
+
import { getTypeUrl } from '../utils/typeurl';
|
|
13
|
+
import { handler } from '../workflow';
|
|
14
|
+
const emptyConfig = {};
|
|
15
|
+
const decodeExecutionResult = (result) => fromBinary(ExecutionResultSchema, result);
|
|
16
|
+
describe('engine/execute', () => {
|
|
17
|
+
test('subscribe returns TriggerSubscriptionRequest wrapped in ExecutionResult', async () => {
|
|
18
|
+
const subs = [];
|
|
19
|
+
// mock sendResponse to capture the payload
|
|
20
|
+
mockHostBindings.sendResponse.mockImplementation((resp) => {
|
|
21
|
+
const exec = decodeExecutionResult(resp);
|
|
22
|
+
const ts = exec.result.case === 'triggerSubscriptions' ? exec.result.value : undefined;
|
|
23
|
+
expect(ts).toBeDefined();
|
|
24
|
+
expect(ts.subscriptions.length).toBe(3);
|
|
25
|
+
ts.subscriptions.forEach((s) => subs.push(`${s.id}:${s.method}:${s.payload?.typeUrl}`));
|
|
26
|
+
return 0;
|
|
27
|
+
});
|
|
28
|
+
const basic = new BasicTriggerCapability();
|
|
29
|
+
const action = new ActionAndTriggerCapability();
|
|
30
|
+
const workflow = [
|
|
31
|
+
handler(basic.trigger({ name: 'first-trigger', number: 100 }), () => { }),
|
|
32
|
+
handler(action.trigger({ name: 'second-trigger', number: 150 }), () => { }),
|
|
33
|
+
handler(basic.trigger({ name: 'third-trigger', number: 200 }), () => { }),
|
|
34
|
+
];
|
|
35
|
+
const req = create(ExecuteRequestSchema, {
|
|
36
|
+
config: new Uint8Array(),
|
|
37
|
+
request: { case: 'subscribe', value: create(EmptySchema) },
|
|
38
|
+
maxResponseSize: 0n,
|
|
39
|
+
});
|
|
40
|
+
await handleExecuteRequest(req, workflow, emptyConfig, mockedRuntime);
|
|
41
|
+
expect(subs[0]).toContain('basic-test-trigger@1.0.0:Trigger:type.googleapis.com/capabilities.internal.basictrigger.v1.Config');
|
|
42
|
+
expect(subs[1]).toContain('basic-test-action-trigger@1.0.0:Trigger:type.googleapis.com/capabilities.internal.actionandtrigger.v1.Config');
|
|
43
|
+
expect(subs[2]).toContain('basic-test-trigger@1.0.0:Trigger:type.googleapis.com/capabilities.internal.basictrigger.v1.Config');
|
|
44
|
+
mockHostBindings.sendResponse.mockRestore();
|
|
45
|
+
});
|
|
46
|
+
test('trigger routes by id and decodes payload for correct handler', async () => {
|
|
47
|
+
const calls = [];
|
|
48
|
+
const basic = new BasicTriggerCapability();
|
|
49
|
+
const action = new ActionAndTriggerCapability();
|
|
50
|
+
const workflow = [
|
|
51
|
+
handler(basic.trigger({ name: 'first-trigger', number: 100 }), (_e, _r, out) => {
|
|
52
|
+
// @ts-ignore
|
|
53
|
+
calls.push(`basic:${out.coolOutput}`);
|
|
54
|
+
}),
|
|
55
|
+
handler(action.trigger({ name: 'second-trigger', number: 150 }), (_e, _r, out) => {
|
|
56
|
+
// @ts-ignore
|
|
57
|
+
calls.push(`action:${out.coolOutput}`);
|
|
58
|
+
}),
|
|
59
|
+
handler(basic.trigger({ name: 'third-trigger', number: 200 }), (_e, _r, out) => {
|
|
60
|
+
// @ts-ignore
|
|
61
|
+
calls.push(`basic2:${out.coolOutput}`);
|
|
62
|
+
}),
|
|
63
|
+
];
|
|
64
|
+
// Build ExecuteRequest with id=1 (second handler) and payload of Action TriggerEvent
|
|
65
|
+
const payloadAny = {
|
|
66
|
+
typeUrl: getTypeUrl(ActionTriggerEventSchema),
|
|
67
|
+
value: toBinary(ActionTriggerEventSchema, create(ActionTriggerEventSchema, { coolOutput: 'different' })),
|
|
68
|
+
};
|
|
69
|
+
const req = create(ExecuteRequestSchema, {
|
|
70
|
+
config: new Uint8Array(),
|
|
71
|
+
request: {
|
|
72
|
+
case: 'trigger',
|
|
73
|
+
value: { id: 1n, payload: payloadAny },
|
|
74
|
+
},
|
|
75
|
+
maxResponseSize: 0n,
|
|
76
|
+
});
|
|
77
|
+
await handleExecuteRequest(req, workflow, emptyConfig, mockedRuntime);
|
|
78
|
+
expect(calls).toEqual(['action:different']);
|
|
79
|
+
});
|
|
80
|
+
test('trigger ignores out-of-range id (no handler invoked)', async () => {
|
|
81
|
+
const calls = [];
|
|
82
|
+
const basic = new BasicTriggerCapability();
|
|
83
|
+
const action = new ActionAndTriggerCapability();
|
|
84
|
+
const workflow = [
|
|
85
|
+
handler(basic.trigger({ name: 'first-trigger', number: 100 }), () => {
|
|
86
|
+
calls.push('basic');
|
|
87
|
+
}),
|
|
88
|
+
handler(action.trigger({ name: 'second-trigger', number: 150 }), () => {
|
|
89
|
+
calls.push('action');
|
|
90
|
+
}),
|
|
91
|
+
];
|
|
92
|
+
const payloadAny = {
|
|
93
|
+
typeUrl: getTypeUrl(ActionTriggerEventSchema),
|
|
94
|
+
value: toBinary(ActionTriggerEventSchema, create(ActionTriggerEventSchema, { coolOutput: 'x' })),
|
|
95
|
+
};
|
|
96
|
+
const req = create(ExecuteRequestSchema, {
|
|
97
|
+
config: new Uint8Array(),
|
|
98
|
+
request: { case: 'trigger', value: { id: 999n, payload: payloadAny } },
|
|
99
|
+
maxResponseSize: 0n,
|
|
100
|
+
});
|
|
101
|
+
await handleExecuteRequest(req, workflow, emptyConfig, mockedRuntime);
|
|
102
|
+
expect(calls).toEqual([]);
|
|
103
|
+
});
|
|
104
|
+
test('trigger ignores typeUrl mismatch for targeted handler', async () => {
|
|
105
|
+
const calls = [];
|
|
106
|
+
const basic = new BasicTriggerCapability();
|
|
107
|
+
const action = new ActionAndTriggerCapability();
|
|
108
|
+
const workflow = [
|
|
109
|
+
handler(basic.trigger({ name: 'first-trigger', number: 100 }), () => {
|
|
110
|
+
calls.push('basic');
|
|
111
|
+
}),
|
|
112
|
+
handler(action.trigger({ name: 'second-trigger', number: 150 }), () => {
|
|
113
|
+
calls.push('action');
|
|
114
|
+
}),
|
|
115
|
+
];
|
|
116
|
+
// Intentionally send BasicTriggerOutputs payload to the action trigger handler (index 1)
|
|
117
|
+
const payloadAny = {
|
|
118
|
+
typeUrl: `type.googleapis.com/${BasicTriggerOutputsSchema.typeName}`,
|
|
119
|
+
value: toBinary(BasicTriggerOutputsSchema, create(BasicTriggerOutputsSchema, { coolOutput: 'mismatch' })),
|
|
120
|
+
};
|
|
121
|
+
const req = create(ExecuteRequestSchema, {
|
|
122
|
+
config: new Uint8Array(),
|
|
123
|
+
request: { case: 'trigger', value: { id: 1n, payload: payloadAny } },
|
|
124
|
+
maxResponseSize: 0n,
|
|
125
|
+
});
|
|
126
|
+
await handleExecuteRequest(req, workflow, emptyConfig, mockedRuntime);
|
|
127
|
+
expect(calls).toEqual([]);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CapabilityResponse, ExecuteRequest } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
2
|
+
import type { Runtime } from '../runtime/runtime';
|
|
3
|
+
import type { Workflow } from '../workflow';
|
|
4
|
+
export declare const handleExecutionPhase: <TConfig>(req: ExecuteRequest, workflow: Workflow<TConfig>, config: TConfig, runtime: Runtime) => Promise<CapabilityResponse | undefined>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { fromBinary } from '@bufbuild/protobuf';
|
|
2
|
+
import { getTypeUrl } from '../utils/typeurl';
|
|
3
|
+
export const handleExecutionPhase = async (req, workflow, config, runtime) => {
|
|
4
|
+
if (req.request.case !== 'trigger') {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
const triggerMsg = req.request.value;
|
|
8
|
+
const index = Number(triggerMsg.id);
|
|
9
|
+
if (Number.isFinite(index) && index >= 0 && index < workflow.length) {
|
|
10
|
+
const entry = workflow[index];
|
|
11
|
+
const schema = entry.trigger.outputSchema();
|
|
12
|
+
const payloadAny = triggerMsg.payload;
|
|
13
|
+
if (!payloadAny) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
// Extra safety: verify payload typeUrl matches expected schema type
|
|
17
|
+
const expectedTypeUrl = getTypeUrl(schema);
|
|
18
|
+
if (payloadAny.typeUrl && payloadAny.typeUrl !== expectedTypeUrl) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Note: do not hardcode method name; routing by id is authoritative.
|
|
23
|
+
*
|
|
24
|
+
* This matches the GO SDK behavior, which also just checks for the id.
|
|
25
|
+
*
|
|
26
|
+
* @see https://github.com/smartcontractkit/cre-sdk-go/blob/5a41d81e3e072008484e85dc96d746401aafcba2/cre/wasm/runner.go#L81
|
|
27
|
+
* */
|
|
28
|
+
const decoded = fromBinary(schema, payloadAny.value);
|
|
29
|
+
const adapted = await entry.trigger.adapt(decoded);
|
|
30
|
+
// By default config is a JSON string, send as bytes
|
|
31
|
+
const handlerEnv = config || JSON.parse(Buffer.from(req.config).toString());
|
|
32
|
+
await entry.fn(handlerEnv, runtime, adapted);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { create, toBinary } from '@bufbuild/protobuf';
|
|
2
|
+
import { ExecutionResultSchema, TriggerSubscriptionRequestSchema, } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
3
|
+
import { hostBindings } from '../runtime/host-bindings';
|
|
4
|
+
export const handleSubscribePhase = (req, workflow) => {
|
|
5
|
+
if (req.request.case !== 'subscribe') {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
// Build TriggerSubscriptionRequest from the workflow entries
|
|
9
|
+
const subscriptions = workflow.map((entry) => ({
|
|
10
|
+
id: entry.trigger.capabilityId(),
|
|
11
|
+
method: entry.trigger.method(),
|
|
12
|
+
payload: entry.trigger.configAsAny(),
|
|
13
|
+
}));
|
|
14
|
+
const subscriptionRequest = create(TriggerSubscriptionRequestSchema, {
|
|
15
|
+
subscriptions,
|
|
16
|
+
});
|
|
17
|
+
// Wrap in ExecutionResult.triggerSubscriptions
|
|
18
|
+
const execResult = create(ExecutionResultSchema, {
|
|
19
|
+
result: { case: 'triggerSubscriptions', value: subscriptionRequest },
|
|
20
|
+
});
|
|
21
|
+
const encoded = toBinary(ExecutionResultSchema, execResult);
|
|
22
|
+
hostBindings.sendResponse(encoded);
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './cre';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './cre';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const logger = {
|
|
2
|
+
log: (message) => {
|
|
3
|
+
console.log(message);
|
|
4
|
+
log(message);
|
|
5
|
+
},
|
|
6
|
+
info: (message) => {
|
|
7
|
+
console.info(message);
|
|
8
|
+
log(message);
|
|
9
|
+
},
|
|
10
|
+
error: (message) => {
|
|
11
|
+
console.error(message);
|
|
12
|
+
log(message);
|
|
13
|
+
},
|
|
14
|
+
warn: (message) => {
|
|
15
|
+
console.warn(message);
|
|
16
|
+
log(message);
|
|
17
|
+
},
|
|
18
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Mode } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
2
|
+
export declare class DonModeError extends Error {
|
|
3
|
+
name: string;
|
|
4
|
+
capabilityId?: string;
|
|
5
|
+
method?: string;
|
|
6
|
+
mode?: Mode;
|
|
7
|
+
constructor(message?: string, options?: {
|
|
8
|
+
capabilityId?: string;
|
|
9
|
+
method?: string;
|
|
10
|
+
mode?: Mode;
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
export declare class NodeModeError extends Error {
|
|
14
|
+
name: string;
|
|
15
|
+
capabilityId?: string;
|
|
16
|
+
method?: string;
|
|
17
|
+
mode?: Mode;
|
|
18
|
+
constructor(message?: string, options?: {
|
|
19
|
+
capabilityId?: string;
|
|
20
|
+
method?: string;
|
|
21
|
+
mode?: Mode;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export class DonModeError extends Error {
|
|
2
|
+
name;
|
|
3
|
+
capabilityId;
|
|
4
|
+
method;
|
|
5
|
+
mode;
|
|
6
|
+
constructor(message = 'cannot use Runtime inside RunInNodeMode', options) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = 'DonModeError';
|
|
9
|
+
if (options) {
|
|
10
|
+
this.capabilityId = options.capabilityId;
|
|
11
|
+
this.method = options.method;
|
|
12
|
+
this.mode = options.mode;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export class NodeModeError extends Error {
|
|
17
|
+
name;
|
|
18
|
+
capabilityId;
|
|
19
|
+
method;
|
|
20
|
+
mode;
|
|
21
|
+
constructor(message = 'cannot use NodeRuntime outside RunInNodeMode', options) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = 'NodeModeError';
|
|
24
|
+
if (options) {
|
|
25
|
+
this.capabilityId = options.capabilityId;
|
|
26
|
+
this.method = options.method;
|
|
27
|
+
this.mode = options.mode;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Mode } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
2
|
+
export declare const hostBindings: {
|
|
3
|
+
switchModes: (args_0: Mode, ...args: unknown[]) => void;
|
|
4
|
+
log: (args_0: string, ...args: unknown[]) => void;
|
|
5
|
+
sendResponse: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, ...args: unknown[]) => number;
|
|
6
|
+
randomSeed: (args_0: Mode.DON | Mode.NODE, ...args: unknown[]) => number;
|
|
7
|
+
versionV2: (...args: unknown[]) => void;
|
|
8
|
+
callCapability: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, ...args: unknown[]) => number;
|
|
9
|
+
awaitCapabilities: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, args_1: number, ...args: unknown[]) => Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>;
|
|
10
|
+
getSecrets: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, args_1: number, ...args: unknown[]) => any;
|
|
11
|
+
awaitSecrets: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, args_1: number, ...args: unknown[]) => Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>;
|
|
12
|
+
getWasiArgs: (...args: unknown[]) => string;
|
|
13
|
+
now: (...args: unknown[]) => number;
|
|
14
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Mode } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
// Zod schema for validating global host functions
|
|
4
|
+
const globalHostBindingsSchema = z.object({
|
|
5
|
+
switchModes: z.function().args(z.nativeEnum(Mode)).returns(z.void()),
|
|
6
|
+
log: z.function().args(z.string()).returns(z.void()),
|
|
7
|
+
sendResponse: z
|
|
8
|
+
.function()
|
|
9
|
+
.args(z.union([z.instanceof(Uint8Array), z.custom()]))
|
|
10
|
+
.returns(z.number()),
|
|
11
|
+
randomSeed: z
|
|
12
|
+
.function()
|
|
13
|
+
.args(z.union([z.literal(Mode.DON), z.literal(Mode.NODE)]))
|
|
14
|
+
.returns(z.number()),
|
|
15
|
+
versionV2: z.function().args().returns(z.void()),
|
|
16
|
+
callCapability: z
|
|
17
|
+
.function()
|
|
18
|
+
.args(z.union([z.instanceof(Uint8Array), z.custom()]))
|
|
19
|
+
.returns(z.number()),
|
|
20
|
+
awaitCapabilities: z
|
|
21
|
+
.function()
|
|
22
|
+
.args(z.union([z.instanceof(Uint8Array), z.custom()]), z.number())
|
|
23
|
+
.returns(z.union([z.instanceof(Uint8Array), z.custom()])),
|
|
24
|
+
getSecrets: z
|
|
25
|
+
.function()
|
|
26
|
+
.args(z.union([z.instanceof(Uint8Array), z.custom()]), z.number())
|
|
27
|
+
.returns(z.any()),
|
|
28
|
+
awaitSecrets: z
|
|
29
|
+
.function()
|
|
30
|
+
.args(z.union([z.instanceof(Uint8Array), z.custom()]), z.number())
|
|
31
|
+
.returns(z.union([z.instanceof(Uint8Array), z.custom()])),
|
|
32
|
+
getWasiArgs: z.function().args().returns(z.string()),
|
|
33
|
+
now: z.function().args().returns(z.number()),
|
|
34
|
+
});
|
|
35
|
+
// Validate global host functions at runtime
|
|
36
|
+
const validateGlobalHostBindings = () => {
|
|
37
|
+
const globalFunctions = globalThis;
|
|
38
|
+
try {
|
|
39
|
+
return globalHostBindingsSchema.parse(globalFunctions);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
const missingFunctions = Object.keys(globalHostBindingsSchema.shape).filter((key) => !(key in globalFunctions));
|
|
43
|
+
throw new Error(`Missing required global host functions: ${missingFunctions.join(', ')}. ` +
|
|
44
|
+
`This indicates the runtime environment is not properly configured.`);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
// Initialize validated global functions (lazy evaluation for testing)
|
|
48
|
+
let _hostBindings = null;
|
|
49
|
+
export const hostBindings = new Proxy({}, {
|
|
50
|
+
get(target, prop) {
|
|
51
|
+
if (!_hostBindings) {
|
|
52
|
+
_hostBindings = validateGlobalHostBindings();
|
|
53
|
+
}
|
|
54
|
+
return _hostBindings[prop];
|
|
55
|
+
},
|
|
56
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type NodeRuntime } from './runtime';
|
|
2
|
+
import type { ConsensusAggregation, PrimitiveTypes, UnwrapOptions } from '../utils';
|
|
3
|
+
/**
|
|
4
|
+
* Runs the provided builder inside Node mode and returns the consensus result Value.
|
|
5
|
+
* Ensures mode is switched back to DON even if errors occur.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Runs the provided builder inside Node mode and returns the consensus result Value.
|
|
9
|
+
* For primitive types (number, bigint, Date, boolean, string), it will use unwrap()
|
|
10
|
+
* For complex types, it will use unwrapToType() with the provided options
|
|
11
|
+
*/
|
|
12
|
+
export declare function runInNodeMode<TArgs extends any[], TOutput>(fn: (nodeRuntime: NodeRuntime, ...args: TArgs) => Promise<TOutput> | TOutput, consesusAggretation: ConsensusAggregation<TOutput, true>, unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions<TOutput>): (...args: TArgs) => Promise<TOutput>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { create } from '@bufbuild/protobuf';
|
|
2
|
+
import { Mode, SimpleConsensusInputsSchema } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
3
|
+
import { ConsensusCapability } from '../../generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen';
|
|
4
|
+
import { runtime } from './runtime';
|
|
5
|
+
import { Value } from '../utils';
|
|
6
|
+
/**
|
|
7
|
+
* Runs the provided builder inside Node mode and returns the consensus result Value.
|
|
8
|
+
* Ensures mode is switched back to DON even if errors occur.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Runs the provided builder inside Node mode and returns the consensus result Value.
|
|
12
|
+
* For primitive types (number, bigint, Date, boolean, string), it will use unwrap()
|
|
13
|
+
* For complex types, it will use unwrapToType() with the provided options
|
|
14
|
+
*/
|
|
15
|
+
export function runInNodeMode(fn, consesusAggretation, unwrapOptions) {
|
|
16
|
+
return async (...args) => {
|
|
17
|
+
const nodeRuntime = runtime.switchModes(Mode.NODE);
|
|
18
|
+
const consensusInput = create(SimpleConsensusInputsSchema, {
|
|
19
|
+
descriptors: consesusAggretation.descriptor,
|
|
20
|
+
});
|
|
21
|
+
if (consesusAggretation.defaultValue) {
|
|
22
|
+
// This cast is safe, since ConsensusAggregation can only have true its second argument if T extends CreSerializable<TOutput>
|
|
23
|
+
consensusInput.default = Value.from(consesusAggretation.defaultValue).proto();
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
const observation = await fn(nodeRuntime, ...args);
|
|
27
|
+
// This cast is safe, since ConsensusAggregation can only have true its second argument if T extends CreSerializable<TOutput>
|
|
28
|
+
consensusInput.observation = {
|
|
29
|
+
case: 'value',
|
|
30
|
+
value: Value.from(observation).proto(),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
consensusInput.observation = { case: 'error', value: e.message || String(e) };
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
// Always restore DON mode before invoking consensus
|
|
38
|
+
runtime.switchModes(Mode.DON);
|
|
39
|
+
}
|
|
40
|
+
const consensus = new ConsensusCapability();
|
|
41
|
+
const result = await consensus.simple(consensusInput).result();
|
|
42
|
+
const wrappedValue = Value.wrap(result);
|
|
43
|
+
return unwrapOptions
|
|
44
|
+
? wrappedValue.unwrapToType(unwrapOptions)
|
|
45
|
+
: wrappedValue.unwrap();
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { describe, expect, mock, test } from 'bun:test';
|
|
2
|
+
import { create } from '@bufbuild/protobuf';
|
|
3
|
+
import { AggregationType, ConsensusDescriptorSchema, } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
4
|
+
import { BasicActionCapability } from '../../generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen';
|
|
5
|
+
import { ConsensusCapability } from '../../generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen';
|
|
6
|
+
import { runInNodeMode } from './run-in-node-mode';
|
|
7
|
+
// Mock the host bindings before importing runtime
|
|
8
|
+
import { calls } from '../testhelpers/mock-host-bindings';
|
|
9
|
+
import { consensusIdenticalAggregation, consensusMedianAggregation, Value } from '../utils';
|
|
10
|
+
function expectObservation(i) {
|
|
11
|
+
expect(i.observation.case).toEqual('value');
|
|
12
|
+
return Value.wrap(i.observation.value);
|
|
13
|
+
}
|
|
14
|
+
function expectError(i) {
|
|
15
|
+
expect(i.observation.case).toEqual('error');
|
|
16
|
+
return i.observation.value;
|
|
17
|
+
}
|
|
18
|
+
describe('runInNodeMode', () => {
|
|
19
|
+
test('successful run', async () => {
|
|
20
|
+
// Clear the calls array for this test
|
|
21
|
+
calls.length = 0;
|
|
22
|
+
const anyObservation = 120;
|
|
23
|
+
const anyResult = 123;
|
|
24
|
+
// spy on consensus.simple
|
|
25
|
+
const origSimple = ConsensusCapability.prototype.simple;
|
|
26
|
+
ConsensusCapability.prototype.simple = mock((inputs) => {
|
|
27
|
+
calls.push('CONSENSUS_SIMPLE');
|
|
28
|
+
// biome-ignore lint/suspicious/noExplicitAny: Needed for runtime type checking of protocol buffer messages
|
|
29
|
+
expect(inputs.$typeName).toBeDefined();
|
|
30
|
+
const castedInputs = inputs;
|
|
31
|
+
expect(castedInputs.default).toBeUndefined();
|
|
32
|
+
const actualObservation = expectObservation(castedInputs);
|
|
33
|
+
expect(Value.from(anyObservation)).toEqual(actualObservation);
|
|
34
|
+
const expectedDescriptor = create(ConsensusDescriptorSchema, {
|
|
35
|
+
descriptor: {
|
|
36
|
+
case: 'aggregation',
|
|
37
|
+
value: AggregationType.MEDIAN,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
expect(castedInputs.descriptors).toEqual(expectedDescriptor);
|
|
41
|
+
return { result: async () => Value.from(anyResult).proto() };
|
|
42
|
+
});
|
|
43
|
+
const res = await runInNodeMode((_) => anyObservation, consensusMedianAggregation())();
|
|
44
|
+
expect(res).toEqual(anyResult);
|
|
45
|
+
expect(calls).toEqual(['NODE', 'DON', 'CONSENSUS_SIMPLE']);
|
|
46
|
+
// Restore the original method after the test
|
|
47
|
+
ConsensusCapability.prototype.simple = origSimple;
|
|
48
|
+
});
|
|
49
|
+
test('local failure with consensus', async () => {
|
|
50
|
+
// Clear the calls array for this test
|
|
51
|
+
calls.length = 0;
|
|
52
|
+
const anyError = Error('nope');
|
|
53
|
+
const anyResult = 123;
|
|
54
|
+
// spy on consensus.simple
|
|
55
|
+
const origSimple = ConsensusCapability.prototype.simple;
|
|
56
|
+
ConsensusCapability.prototype.simple = mock((inputs) => {
|
|
57
|
+
calls.push('CONSENSUS_SIMPLE');
|
|
58
|
+
// biome-ignore lint/suspicious/noExplicitAny: Needed for runtime type checking of protocol buffer messages
|
|
59
|
+
expect(inputs.$typeName).toBeDefined();
|
|
60
|
+
const castedInputs = inputs;
|
|
61
|
+
expect(castedInputs.default).toBeUndefined();
|
|
62
|
+
const actualError = expectError(castedInputs);
|
|
63
|
+
expect(anyError.message).toEqual(actualError);
|
|
64
|
+
const expectedDescriptor = create(ConsensusDescriptorSchema, {
|
|
65
|
+
descriptor: {
|
|
66
|
+
case: 'aggregation',
|
|
67
|
+
value: AggregationType.MEDIAN,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
expect(castedInputs.descriptors).toEqual(expectedDescriptor);
|
|
71
|
+
return { result: async () => Value.from(anyResult).proto() };
|
|
72
|
+
});
|
|
73
|
+
const errFn = (_) => {
|
|
74
|
+
throw anyError;
|
|
75
|
+
};
|
|
76
|
+
const res = await runInNodeMode(errFn, consensusMedianAggregation())();
|
|
77
|
+
expect(res).toEqual(anyResult);
|
|
78
|
+
expect(calls).toEqual(['NODE', 'DON', 'CONSENSUS_SIMPLE']);
|
|
79
|
+
// Restore the original method after the test
|
|
80
|
+
ConsensusCapability.prototype.simple = origSimple;
|
|
81
|
+
});
|
|
82
|
+
test('guards DON calls while in node mode, also local and consensus failure', async () => {
|
|
83
|
+
// Simulate switchModes by touching global function used by host
|
|
84
|
+
const origSwitch = globalThis.switchModes;
|
|
85
|
+
globalThis.switchModes = (_m) => { };
|
|
86
|
+
// spy on consensus.simple
|
|
87
|
+
const origSimple = ConsensusCapability.prototype.simple;
|
|
88
|
+
ConsensusCapability.prototype.simple = mock((inputs) => {
|
|
89
|
+
calls.push('CONSENSUS_SIMPLE');
|
|
90
|
+
// biome-ignore lint/suspicious/noExplicitAny: Needed for runtime type checking of protocol buffer messages
|
|
91
|
+
expect(inputs.$typeName).toBeDefined();
|
|
92
|
+
const castedInputs = inputs;
|
|
93
|
+
expect(castedInputs.default).toBeUndefined();
|
|
94
|
+
const actualError = expectError(castedInputs);
|
|
95
|
+
expect(actualError).toContain('cannot use Runtime inside RunInNodeMode.');
|
|
96
|
+
const expectedDescriptor = create(ConsensusDescriptorSchema, {
|
|
97
|
+
descriptor: {
|
|
98
|
+
case: 'aggregation',
|
|
99
|
+
value: AggregationType.IDENTICAL,
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
expect(castedInputs.descriptors).toEqual(expectedDescriptor);
|
|
103
|
+
throw Error(actualError);
|
|
104
|
+
});
|
|
105
|
+
expect(async () => {
|
|
106
|
+
await runInNodeMode(async (_) => {
|
|
107
|
+
const ba = new BasicActionCapability();
|
|
108
|
+
const result = await ba.performAction({ inputThing: true }).result();
|
|
109
|
+
return result.adaptedThing;
|
|
110
|
+
}, consensusIdenticalAggregation())();
|
|
111
|
+
}).toThrow(/.*cannot use Runtime inside RunInNodeMode.*/);
|
|
112
|
+
// Restore the original method and global after the test
|
|
113
|
+
ConsensusCapability.prototype.simple = origSimple;
|
|
114
|
+
globalThis.switchModes = origSwitch;
|
|
115
|
+
});
|
|
116
|
+
});
|