@chainlink/cre-sdk 0.0.0 ā 0.0.2-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/internal/nodeaction/v1/node_action_pb.d.ts +69 -0
- package/dist/generated/capabilities/internal/nodeaction/v1/node_action_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 +87 -0
- package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.js +300 -0
- package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.d.ts +43 -0
- package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.js +77 -0
- package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.d.ts +19 -0
- package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.js +36 -0
- package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.d.ts +39 -0
- package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.js +58 -0
- package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.d.ts +23 -0
- package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.js +56 -0
- package/dist/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen.d.ts +19 -0
- package/dist/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen.js +36 -0
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.d.ts +19 -0
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.js +36 -0
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.d.ts +39 -0
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.js +58 -0
- package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.d.ts +39 -0
- package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.js +58 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +5 -0
- package/dist/sdk/cre/index.d.ts +20 -0
- package/dist/sdk/cre/index.js +19 -0
- package/dist/sdk/errors.d.ts +12 -0
- package/dist/sdk/errors.js +21 -0
- package/dist/sdk/impl/runtime-impl.d.ts +38 -0
- package/dist/sdk/impl/runtime-impl.js +190 -0
- package/dist/sdk/impl/runtime-impl.test.d.ts +1 -0
- package/dist/sdk/impl/runtime-impl.test.js +334 -0
- package/dist/sdk/index.d.ts +4 -0
- package/dist/sdk/index.js +3 -0
- package/dist/sdk/runtime.d.ts +24 -0
- package/dist/sdk/runtime.js +1 -0
- package/dist/sdk/utils/capabilities/capability-error.d.ts +11 -0
- package/dist/sdk/utils/capabilities/capability-error.js +15 -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/configHandler.test.d.ts +1 -0
- package/dist/sdk/utils/config/configHandler.test.js +193 -0
- package/dist/sdk/utils/config/index.d.ts +7 -0
- package/dist/sdk/utils/config/index.js +22 -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 +4 -0
- package/dist/sdk/utils/index.js +4 -0
- package/dist/sdk/utils/prepare-runtime.d.ts +6 -0
- package/dist/sdk/utils/prepare-runtime.js +9 -0
- package/dist/sdk/utils/safeJsonStringify.d.ts +6 -0
- package/dist/sdk/utils/safeJsonStringify.js +6 -0
- package/dist/sdk/utils/secrets-error.d.ts +3 -0
- package/dist/sdk/utils/secrets-error.js +6 -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/wasm/host-bindings.d.ts +13 -0
- package/dist/sdk/wasm/host-bindings.js +52 -0
- package/dist/sdk/wasm/index.d.ts +1 -0
- package/dist/sdk/wasm/index.js +1 -0
- package/dist/sdk/wasm/runner.d.ts +14 -0
- package/dist/sdk/wasm/runner.js +114 -0
- package/dist/sdk/wasm/runner.test.d.ts +1 -0
- package/dist/sdk/wasm/runner.test.js +270 -0
- package/dist/sdk/wasm/runtime.d.ts +7 -0
- package/dist/sdk/wasm/runtime.js +55 -0
- package/dist/sdk/workflow.d.ts +17 -0
- package/dist/sdk/workflow.js +5 -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,270 @@
|
|
|
1
|
+
import { afterEach, describe, expect, mock, test } from 'bun:test';
|
|
2
|
+
import { create, fromBinary, toBinary } from '@bufbuild/protobuf';
|
|
3
|
+
import { anyPack, anyUnpack, EmptySchema } from '@bufbuild/protobuf/wkt';
|
|
4
|
+
import { ConfigSchema, OutputsSchema, } from '../../generated/capabilities/internal/basictrigger/v1/basic_trigger_pb';
|
|
5
|
+
import { AwaitSecretsRequestSchema, AwaitSecretsResponseSchema, ExecuteRequestSchema, ExecutionResultSchema, GetSecretsRequestSchema, SecretResponseSchema, SecretResponsesSchema, SecretSchema, TriggerSchema, } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
6
|
+
import { BasicCapability as BasicTriggerCapability } from '../../generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen';
|
|
7
|
+
import { cre } from '../cre';
|
|
8
|
+
import { Value } from '../utils';
|
|
9
|
+
import { Runner } from './runner';
|
|
10
|
+
const anyConfig = Buffer.from('config');
|
|
11
|
+
const anyMaxResponseSize = 2048n;
|
|
12
|
+
const basicTrigger = new BasicTriggerCapability();
|
|
13
|
+
const capID = BasicTriggerCapability.CAPABILITY_ID;
|
|
14
|
+
const subscribeRequest = create(ExecuteRequestSchema, {
|
|
15
|
+
request: { case: 'subscribe', value: create(EmptySchema) },
|
|
16
|
+
maxResponseSize: anyMaxResponseSize,
|
|
17
|
+
config: anyConfig,
|
|
18
|
+
});
|
|
19
|
+
const anyExecuteRequest = create(ExecuteRequestSchema, {
|
|
20
|
+
request: {
|
|
21
|
+
case: 'trigger',
|
|
22
|
+
value: create(TriggerSchema, {
|
|
23
|
+
id: 0n,
|
|
24
|
+
payload: anyPack(OutputsSchema, create(OutputsSchema, { coolOutput: 'hi' })),
|
|
25
|
+
}),
|
|
26
|
+
},
|
|
27
|
+
maxResponseSize: anyMaxResponseSize,
|
|
28
|
+
config: anyConfig,
|
|
29
|
+
});
|
|
30
|
+
const mockHostBindings = {
|
|
31
|
+
sendResponse: mock(() => {
|
|
32
|
+
return 0;
|
|
33
|
+
}),
|
|
34
|
+
versionV2: mock(() => { }),
|
|
35
|
+
getWasiArgs: mock(() => {
|
|
36
|
+
throw new Error('override for tests');
|
|
37
|
+
}),
|
|
38
|
+
getSecrets: mock((data, maxResponseSize) => {
|
|
39
|
+
throw new Error('override for tests');
|
|
40
|
+
}),
|
|
41
|
+
awaitSecrets: mock((data, maxResponseSize) => {
|
|
42
|
+
throw new Error('override for tests');
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
const proxyHostBindings = {
|
|
46
|
+
sendResponse: (data) => {
|
|
47
|
+
return mockHostBindings.sendResponse(data);
|
|
48
|
+
},
|
|
49
|
+
versionV2: () => {
|
|
50
|
+
return mockHostBindings.versionV2();
|
|
51
|
+
},
|
|
52
|
+
getWasiArgs: () => {
|
|
53
|
+
return mockHostBindings.getWasiArgs();
|
|
54
|
+
},
|
|
55
|
+
switchModes: mock(() => { }),
|
|
56
|
+
log: (message) => {
|
|
57
|
+
throw new Error('log called unexpectedly in test');
|
|
58
|
+
},
|
|
59
|
+
callCapability: (data) => {
|
|
60
|
+
throw new Error('callCapability called unexpectedly in test');
|
|
61
|
+
},
|
|
62
|
+
awaitCapabilities: (data, id) => {
|
|
63
|
+
throw new Error('awaitCapabilities called unexpectedly in test');
|
|
64
|
+
},
|
|
65
|
+
getSecrets: (data, id) => {
|
|
66
|
+
return mockHostBindings.getSecrets(data, id);
|
|
67
|
+
},
|
|
68
|
+
awaitSecrets: (data, id) => {
|
|
69
|
+
return mockHostBindings.awaitSecrets(data, id);
|
|
70
|
+
},
|
|
71
|
+
now: () => {
|
|
72
|
+
throw new Error('now called unexpectedly in test');
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
Object.assign(globalThis, proxyHostBindings);
|
|
76
|
+
afterEach(() => {
|
|
77
|
+
mock.restore();
|
|
78
|
+
});
|
|
79
|
+
describe('runner', () => {
|
|
80
|
+
describe('run', () => {
|
|
81
|
+
test('gathers subscriptions', async () => {
|
|
82
|
+
var sentResponse = null;
|
|
83
|
+
mockHostBindings.sendResponse = mock((input) => {
|
|
84
|
+
sentResponse = fromBinary(ExecutionResultSchema, input);
|
|
85
|
+
return 0;
|
|
86
|
+
});
|
|
87
|
+
const runner = await getTestRunner(subscribeRequest);
|
|
88
|
+
await runner.run(async (_, secretsProvider) => {
|
|
89
|
+
return [
|
|
90
|
+
cre.handler(basicTrigger.trigger({ name: 'foo', number: 10 }), () => {
|
|
91
|
+
throw new Error('Must not be called during registration to tiggers');
|
|
92
|
+
}),
|
|
93
|
+
];
|
|
94
|
+
});
|
|
95
|
+
expect(sentResponse).toBeDefined();
|
|
96
|
+
expect(sentResponse.result.case).toBe('triggerSubscriptions');
|
|
97
|
+
const responseValue = sentResponse.result.value;
|
|
98
|
+
expect(responseValue.subscriptions.length).toBe(1);
|
|
99
|
+
expect(responseValue.subscriptions[0].id).toBe(capID);
|
|
100
|
+
expect(responseValue.subscriptions[0].method).toBe('Trigger');
|
|
101
|
+
expect(responseValue.subscriptions[0].payload).toBeDefined();
|
|
102
|
+
const actualConfig = anyUnpack(responseValue.subscriptions[0].payload, ConfigSchema);
|
|
103
|
+
expect(actualConfig.name).toBe('foo');
|
|
104
|
+
expect(actualConfig.number).toBe(10);
|
|
105
|
+
});
|
|
106
|
+
test('executes workflow', async () => {
|
|
107
|
+
var sentResponse = null;
|
|
108
|
+
mockHostBindings.sendResponse = mock((input) => {
|
|
109
|
+
sentResponse = fromBinary(ExecutionResultSchema, input);
|
|
110
|
+
return 0;
|
|
111
|
+
});
|
|
112
|
+
const runner = await getTestRunner(anyExecuteRequest);
|
|
113
|
+
await runner.run(async (_, secretsProvider) => {
|
|
114
|
+
return [
|
|
115
|
+
cre.handler(basicTrigger.trigger({ name: 'foo', number: 10 }), (runtime, trigger) => {
|
|
116
|
+
expect(runtime.config).toBe(anyConfig.toString());
|
|
117
|
+
expect(trigger.coolOutput).toBe('hi');
|
|
118
|
+
return 10;
|
|
119
|
+
}),
|
|
120
|
+
];
|
|
121
|
+
});
|
|
122
|
+
expect(sentResponse).toBeDefined();
|
|
123
|
+
expect(sentResponse.result.case).toBe('value');
|
|
124
|
+
expect(Value.wrap(sentResponse.result.value).unwrapToType({ instance: 10 })).toBe(10);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
test('executes subscribe error', async () => {
|
|
128
|
+
var sentResponse = null;
|
|
129
|
+
const anyError = 'error';
|
|
130
|
+
mockHostBindings.sendResponse = mock((input) => {
|
|
131
|
+
sentResponse = fromBinary(ExecutionResultSchema, input);
|
|
132
|
+
expect(sentResponse.result.case).toBe('error');
|
|
133
|
+
expect(sentResponse.result.value).toBe(anyError);
|
|
134
|
+
return 0;
|
|
135
|
+
});
|
|
136
|
+
const runner = await getTestRunner(subscribeRequest);
|
|
137
|
+
await runner.run((_, secretsProvider) => {
|
|
138
|
+
throw new Error(anyError);
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
test('executes subscribe resolve error', async () => {
|
|
142
|
+
var sentResponse = null;
|
|
143
|
+
const anyError = 'error';
|
|
144
|
+
mockHostBindings.sendResponse = mock((input) => {
|
|
145
|
+
sentResponse = fromBinary(ExecutionResultSchema, input);
|
|
146
|
+
expect(sentResponse.result.case).toBe('error');
|
|
147
|
+
expect(sentResponse.result.value).toBe(anyError);
|
|
148
|
+
return 0;
|
|
149
|
+
});
|
|
150
|
+
const runner = await getTestRunner(subscribeRequest);
|
|
151
|
+
await runner.run(async (_, secretsProvider) => {
|
|
152
|
+
return Promise.reject(new Error(anyError));
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
test('executes trigger error', async () => {
|
|
156
|
+
var sentResponse = null;
|
|
157
|
+
const anyError = 'error';
|
|
158
|
+
mockHostBindings.sendResponse = mock((input) => {
|
|
159
|
+
sentResponse = fromBinary(ExecutionResultSchema, input);
|
|
160
|
+
expect(sentResponse.result.case).toBe('error');
|
|
161
|
+
expect(sentResponse.result.value).toBe(anyError);
|
|
162
|
+
return 0;
|
|
163
|
+
});
|
|
164
|
+
const runner = await getTestRunner(anyExecuteRequest);
|
|
165
|
+
await runner.run(async (_, secretsProvider) => {
|
|
166
|
+
throw new Error(anyError);
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
test('executes workflow with multiple triggers', async () => {
|
|
170
|
+
var sentResponse = null;
|
|
171
|
+
mockHostBindings.sendResponse = mock((input) => {
|
|
172
|
+
sentResponse = fromBinary(ExecutionResultSchema, input);
|
|
173
|
+
return 0;
|
|
174
|
+
});
|
|
175
|
+
const testRequest = structuredClone(anyExecuteRequest);
|
|
176
|
+
const trigger = testRequest.request.value;
|
|
177
|
+
trigger.id = 1n;
|
|
178
|
+
const runner = await getTestRunner(testRequest);
|
|
179
|
+
await runner.run(async (_, secretsProvider) => {
|
|
180
|
+
return [
|
|
181
|
+
cre.handler(basicTrigger.trigger({ name: 'foo', number: 10 }), (runtime, trigger) => {
|
|
182
|
+
expect(runtime.config).toBe(anyConfig.toString());
|
|
183
|
+
expect(trigger.coolOutput).toBe('hi');
|
|
184
|
+
return 10;
|
|
185
|
+
}),
|
|
186
|
+
cre.handler(basicTrigger.trigger({ name: 'bar', number: 20 }), (runtime, trigger) => {
|
|
187
|
+
expect(runtime.config).toBe(anyConfig.toString());
|
|
188
|
+
expect(trigger.coolOutput).toBe('hi');
|
|
189
|
+
return 20;
|
|
190
|
+
}),
|
|
191
|
+
cre.handler(basicTrigger.trigger({ name: 'baz', number: 30 }), (runtime, trigger) => {
|
|
192
|
+
expect(runtime.config).toBe(anyConfig.toString());
|
|
193
|
+
expect(trigger.coolOutput).toBe('hi');
|
|
194
|
+
return 30;
|
|
195
|
+
}),
|
|
196
|
+
];
|
|
197
|
+
});
|
|
198
|
+
expect(sentResponse).toBeDefined();
|
|
199
|
+
expect(sentResponse.result.case).toBe('value');
|
|
200
|
+
expect(Value.wrap(sentResponse.result.value).unwrapToType({ instance: 10 })).toBe(20);
|
|
201
|
+
});
|
|
202
|
+
test('get secrets passes max response size', async () => {
|
|
203
|
+
const anySecretResponse = create(SecretResponseSchema, {
|
|
204
|
+
response: {
|
|
205
|
+
case: 'secret',
|
|
206
|
+
value: create(SecretSchema, { id: 'Bar', namespace: 'Foo', owner: 'Baz', value: 'Qux' }),
|
|
207
|
+
},
|
|
208
|
+
});
|
|
209
|
+
const anySecretsResponse = create(SecretResponsesSchema, {
|
|
210
|
+
responses: [anySecretResponse],
|
|
211
|
+
});
|
|
212
|
+
mockHostBindings.getSecrets = (data, maxResponseSize) => {
|
|
213
|
+
const dataBytes = Array.isArray(data) ? new Uint8Array(data) : data;
|
|
214
|
+
const secretsRequest = fromBinary(GetSecretsRequestSchema, dataBytes);
|
|
215
|
+
expect(secretsRequest.requests.length).toBe(1);
|
|
216
|
+
expect(secretsRequest.requests[0].namespace).toBe('Foo');
|
|
217
|
+
expect(secretsRequest.requests[0].id).toBe('Bar');
|
|
218
|
+
expect(secretsRequest.callbackId).toBe(0);
|
|
219
|
+
expect(maxResponseSize).toBe(Number(anyMaxResponseSize));
|
|
220
|
+
return 0;
|
|
221
|
+
};
|
|
222
|
+
mockHostBindings.awaitSecrets = (data, maxResponseSize) => {
|
|
223
|
+
const dataBytes = Array.isArray(data) ? new Uint8Array(data) : data;
|
|
224
|
+
const awaitSecretsRequest = fromBinary(AwaitSecretsRequestSchema, dataBytes);
|
|
225
|
+
expect(awaitSecretsRequest.ids.length).toBe(1);
|
|
226
|
+
expect(awaitSecretsRequest.ids[0]).toBe(0);
|
|
227
|
+
expect(maxResponseSize).toBe(Number(anyMaxResponseSize));
|
|
228
|
+
// Create the proper AwaitSecretsResponse with a map
|
|
229
|
+
const awaitSecretsResponse = create(AwaitSecretsResponseSchema, {
|
|
230
|
+
responses: {
|
|
231
|
+
0: anySecretsResponse,
|
|
232
|
+
},
|
|
233
|
+
});
|
|
234
|
+
return toBinary(AwaitSecretsResponseSchema, awaitSecretsResponse);
|
|
235
|
+
};
|
|
236
|
+
const dr = getTestRunner(subscribeRequest);
|
|
237
|
+
await (await dr).run(async (_, secretsProvider) => {
|
|
238
|
+
const secret = await secretsProvider.getSecret({ namespace: 'Foo', id: 'Bar' }).result();
|
|
239
|
+
expect(secret.namespace).toBe('Foo');
|
|
240
|
+
expect(secret.id).toBe('Bar');
|
|
241
|
+
expect(secret.owner).toBe('Baz');
|
|
242
|
+
expect(secret.value).toBe('Qux');
|
|
243
|
+
return [cre.handler(basicTrigger.trigger({}), () => 10)];
|
|
244
|
+
});
|
|
245
|
+
expect(true).toBe(true);
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
function assertEnv(r) {
|
|
249
|
+
let ran = false;
|
|
250
|
+
const verifyEnv = (config, _) => {
|
|
251
|
+
ran = true;
|
|
252
|
+
expect(config).toBe(anyConfig.toString());
|
|
253
|
+
return [];
|
|
254
|
+
};
|
|
255
|
+
r.run(verifyEnv);
|
|
256
|
+
expect(ran).toBe(true);
|
|
257
|
+
}
|
|
258
|
+
function getTestRunner(request) {
|
|
259
|
+
const serialized = toBinary(ExecuteRequestSchema, request);
|
|
260
|
+
const encoded = Buffer.from(serialized).toString('base64');
|
|
261
|
+
// Update the mock to return the specific request
|
|
262
|
+
mockHostBindings.getWasiArgs = mock(() => JSON.stringify(['program', encoded]));
|
|
263
|
+
return Runner.newRunner({
|
|
264
|
+
configParser: (b) => {
|
|
265
|
+
const stringConfig = Buffer.from(b).toString();
|
|
266
|
+
expect(stringConfig).toBe(anyConfig.toString());
|
|
267
|
+
return stringConfig;
|
|
268
|
+
},
|
|
269
|
+
});
|
|
270
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NodeRuntimeImpl, RuntimeImpl } from '../impl/runtime-impl';
|
|
2
|
+
export declare class Runtime<C> extends RuntimeImpl<C> {
|
|
3
|
+
constructor(config: C, nextCallId: number, maxResponseSize: bigint);
|
|
4
|
+
}
|
|
5
|
+
export declare class NodeRuntime<C> extends NodeRuntimeImpl<C> {
|
|
6
|
+
constructor(config: C, nextCallId: number, maxResponseSize: bigint);
|
|
7
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { fromBinary, toBinary } from '@bufbuild/protobuf';
|
|
2
|
+
import { AwaitCapabilitiesRequestSchema, AwaitCapabilitiesResponseSchema, AwaitSecretsRequestSchema, AwaitSecretsResponseSchema, CapabilityRequestSchema, GetSecretsRequestSchema, } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
3
|
+
import { NodeRuntimeImpl, RuntimeImpl } from '../impl/runtime-impl';
|
|
4
|
+
import { hostBindings } from './host-bindings';
|
|
5
|
+
export class Runtime extends RuntimeImpl {
|
|
6
|
+
constructor(config, nextCallId, maxResponseSize) {
|
|
7
|
+
super(config, nextCallId, WasmRuntimeHelpers.getInstance(), maxResponseSize);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export class NodeRuntime extends NodeRuntimeImpl {
|
|
11
|
+
constructor(config, nextCallId, maxResponseSize) {
|
|
12
|
+
super(config, nextCallId, WasmRuntimeHelpers.getInstance(), maxResponseSize);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
class WasmRuntimeHelpers {
|
|
16
|
+
static instance;
|
|
17
|
+
constructor() { }
|
|
18
|
+
now() {
|
|
19
|
+
return hostBindings.now();
|
|
20
|
+
}
|
|
21
|
+
static getInstance() {
|
|
22
|
+
if (!WasmRuntimeHelpers.instance) {
|
|
23
|
+
WasmRuntimeHelpers.instance = new WasmRuntimeHelpers();
|
|
24
|
+
}
|
|
25
|
+
return WasmRuntimeHelpers.instance;
|
|
26
|
+
}
|
|
27
|
+
call(request) {
|
|
28
|
+
return hostBindings.callCapability(toBinary(CapabilityRequestSchema, request)) >= 0;
|
|
29
|
+
}
|
|
30
|
+
await(request, maxResponseSize) {
|
|
31
|
+
// Convert bigint to integer for WASM host binding
|
|
32
|
+
// it's an i32, so we shouldn't need to trunc it (all i32 numbers are within the range of float64 without percision loss), but somehow it makes a difference...
|
|
33
|
+
const responseSize = Math.trunc(Number(maxResponseSize));
|
|
34
|
+
const response = hostBindings.awaitCapabilities(toBinary(AwaitCapabilitiesRequestSchema, request), responseSize);
|
|
35
|
+
const responseBytes = Array.isArray(response) ? new Uint8Array(response) : response;
|
|
36
|
+
return fromBinary(AwaitCapabilitiesResponseSchema, responseBytes);
|
|
37
|
+
}
|
|
38
|
+
getSecrets(request, maxResponseSize) {
|
|
39
|
+
// Convert bigint to integer for WASM host binding
|
|
40
|
+
// it's an i32, so we shouldn't need to trunc it (all i32 numbers are within the range of float64 without percision loss), but somehow it makes a difference...
|
|
41
|
+
const responseSize = Math.trunc(Number(maxResponseSize));
|
|
42
|
+
return hostBindings.getSecrets(toBinary(GetSecretsRequestSchema, request), responseSize) >= 0;
|
|
43
|
+
}
|
|
44
|
+
awaitSecrets(request, maxResponseSize) {
|
|
45
|
+
// Convert bigint to integer for WASM host binding
|
|
46
|
+
// it's an i32, so we shouldn't need to trunc it (all i32 numbers are within the range of float64 without percision loss), but somehow it makes a difference...
|
|
47
|
+
const responseSize = Math.trunc(Number(maxResponseSize));
|
|
48
|
+
const response = hostBindings.awaitSecrets(toBinary(AwaitSecretsRequestSchema, request), responseSize);
|
|
49
|
+
const responseBytes = Array.isArray(response) ? new Uint8Array(response) : response;
|
|
50
|
+
return fromBinary(AwaitSecretsResponseSchema, responseBytes);
|
|
51
|
+
}
|
|
52
|
+
switchModes(mode) {
|
|
53
|
+
hostBindings.switchModes(mode);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Message } from '@bufbuild/protobuf';
|
|
2
|
+
import type { Secret, SecretRequest, SecretRequestJson } from '../generated/sdk/v1alpha/sdk_pb';
|
|
3
|
+
import { type Runtime } from './runtime';
|
|
4
|
+
import type { Trigger } from './utils/triggers/trigger-interface';
|
|
5
|
+
import type { CreSerializable } from './utils';
|
|
6
|
+
export type HandlerFn<TConfig, TTriggerOutput, TResult> = (runtime: Runtime<TConfig>, triggerOutput: TTriggerOutput) => Promise<CreSerializable<TResult>> | CreSerializable<TResult>;
|
|
7
|
+
export interface HandlerEntry<TConfig, TRawTriggerOutput extends Message<string>, TTriggerOutput, TResult> {
|
|
8
|
+
trigger: Trigger<TRawTriggerOutput, TTriggerOutput>;
|
|
9
|
+
fn: HandlerFn<TConfig, TTriggerOutput, TResult>;
|
|
10
|
+
}
|
|
11
|
+
export type Workflow<TConfig> = ReadonlyArray<HandlerEntry<TConfig, any, any, any>>;
|
|
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
|
+
export type SecretsProvider = {
|
|
14
|
+
getSecret(request: SecretRequest | SecretRequestJson): {
|
|
15
|
+
result: () => Promise<Secret>;
|
|
16
|
+
};
|
|
17
|
+
};
|
package/package.json
CHANGED
|
@@ -1,9 +1,70 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
"name": "@chainlink/cre-sdk",
|
|
3
|
+
"version": "0.0.2-alpha",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"bin": {
|
|
14
|
+
"cre-compile": "bin/cre-compile.ts"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"bin/",
|
|
18
|
+
"scripts/",
|
|
19
|
+
"dist/",
|
|
20
|
+
"package.json",
|
|
21
|
+
"README.md",
|
|
22
|
+
"LICENSE.md"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "bun run clean && bun run compile:build && bun run fix-imports",
|
|
26
|
+
"check": "biome check --write ${BIOME_PATHS:-.}",
|
|
27
|
+
"clean": "rm -rf dist",
|
|
28
|
+
"compile:all-standard-tests": "bun scripts/run.ts compile-all-standard-tests",
|
|
29
|
+
"compile:build": "tsc -p tsconfig.build.json",
|
|
30
|
+
"compile:js-to-wasm": "bun scripts/run.ts compile-to-wasm",
|
|
31
|
+
"compile:ts-to-js": "bun scripts/run.ts compile-to-js",
|
|
32
|
+
"compile:workflow": "bun scripts/run.ts compile-workflow",
|
|
33
|
+
"fix-imports": "bun scripts/run.ts fix-imports",
|
|
34
|
+
"format": "biome format --write ${BIOME_PATHS:-.}",
|
|
35
|
+
"generate:chain-selectors": "bun scripts/run.ts generate-chain-selectors && BIOME_PATHS=\"src/generated\" bun check",
|
|
36
|
+
"generate:proto": "bunx @bufbuild/buf generate && BIOME_PATHS=\"src/generated\" bun check",
|
|
37
|
+
"generate:sdk": "bun generate:proto && bun generate:chain-selectors && bun scripts/run generate-sdks && BIOME_PATHS=\"src/generated src/generated-sdk\" bun check",
|
|
38
|
+
"lint": "biome lint --write",
|
|
39
|
+
"prepublishOnly": "bun typecheck && bun lint && bun test",
|
|
40
|
+
"test": "bun test",
|
|
41
|
+
"test:standard": "./scripts/run-standard-tests.sh",
|
|
42
|
+
"typecheck": "tsc"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@bufbuild/protobuf": "2.6.3",
|
|
46
|
+
"@bufbuild/protoc-gen-es": "2.6.3",
|
|
47
|
+
"@chainlink/cre-sdk-javy-plugin": "0.0.2-alpha",
|
|
48
|
+
"@standard-schema/spec": "1.0.0",
|
|
49
|
+
"viem": "2.34.0",
|
|
50
|
+
"zod": "3.25.76"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@biomejs/biome": "2.2.4",
|
|
54
|
+
"@bufbuild/buf": "1.56.0",
|
|
55
|
+
"@types/bun": "1.2.21",
|
|
56
|
+
"chain-selectors": "https://github.com/smartcontractkit/chain-selectors.git#8b963095ae797a3024c8e55822cced7bf618176f",
|
|
57
|
+
"fast-glob": "3.3.3",
|
|
58
|
+
"ts-proto": "2.7.5",
|
|
59
|
+
"typescript": "5.9.2",
|
|
60
|
+
"yaml": "2.8.1"
|
|
61
|
+
},
|
|
62
|
+
"publishConfig": {
|
|
63
|
+
"access": "public"
|
|
64
|
+
},
|
|
65
|
+
"author": "SmartContract Chainlink Limited SEZC",
|
|
66
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
67
|
+
"engines": {
|
|
68
|
+
"bun": ">=1.2.21"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/zsh
|
|
2
|
+
|
|
3
|
+
# Run standard tests script
|
|
4
|
+
# Usage: ./scripts/run-standard-tests.sh
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
# Create dist test workflow folder
|
|
9
|
+
mkdir -p ./dist/workflows/standard_tests
|
|
10
|
+
|
|
11
|
+
# Build javy wasm
|
|
12
|
+
if [ ! -f ../cre-sdk-javy-plugin/dist/javy_chainlink_sdk.wasm ]; then
|
|
13
|
+
echo "Error: javy_chainlink_sdk.wasm not found"
|
|
14
|
+
exit 1
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
# Copy standard test files to dist
|
|
18
|
+
echo "Copying test files..." && cp -r ./src/standard_tests/* ./dist/workflows/standard_tests/
|
|
19
|
+
|
|
20
|
+
# Run standard tests
|
|
21
|
+
make standard_tests
|
package/scripts/run.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
|
|
3
|
+
const availableScripts = [
|
|
4
|
+
'compile-to-js',
|
|
5
|
+
'compile-to-wasm',
|
|
6
|
+
'compile-workflow', // TS -> JS -> WASM compilation in single script
|
|
7
|
+
'compile-all-standard-tests', // Do the above but for all standard tests
|
|
8
|
+
|
|
9
|
+
'generate-chain-selectors',
|
|
10
|
+
'generate-sdks',
|
|
11
|
+
'fix-imports', // Fix @cre/* imports to relative paths
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Main entry point for scripts related to the development of the SDK.
|
|
16
|
+
*/
|
|
17
|
+
const main = async () => {
|
|
18
|
+
const scriptName = process.argv[2]
|
|
19
|
+
|
|
20
|
+
if (!scriptName) {
|
|
21
|
+
console.error('Usage: bun run.ts <script-name>')
|
|
22
|
+
console.error('Available scripts:')
|
|
23
|
+
availableScripts.forEach((script) => {
|
|
24
|
+
console.error(` ${script}`)
|
|
25
|
+
})
|
|
26
|
+
process.exit(1)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
try {
|
|
30
|
+
const scriptPath = `./src/${scriptName}.ts`
|
|
31
|
+
const script = await import(scriptPath)
|
|
32
|
+
|
|
33
|
+
if (typeof script.main === 'function') {
|
|
34
|
+
await script.main()
|
|
35
|
+
} else {
|
|
36
|
+
console.error(`Script ${scriptName} does not export a main function`)
|
|
37
|
+
process.exit(1)
|
|
38
|
+
}
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error(`Failed to load script ${scriptName}:`, error)
|
|
41
|
+
process.exit(1)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
main()
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// compile-all-standard-tests.ts
|
|
2
|
+
import path from 'node:path'
|
|
3
|
+
import fg from 'fast-glob'
|
|
4
|
+
import { main as compileWorkflow } from './compile-workflow'
|
|
5
|
+
|
|
6
|
+
/** Mirror the input file under .temp/<original path> and swap extension to .wasm */
|
|
7
|
+
export function toTempMirrorWasmPath(inputPath: string) {
|
|
8
|
+
const resolved = path.resolve(inputPath)
|
|
9
|
+
const relFromCwd = path.relative(process.cwd(), resolved)
|
|
10
|
+
const pathParts = relFromCwd.split(path.sep)
|
|
11
|
+
const filteredParts = pathParts.filter((part) => part !== 'src')
|
|
12
|
+
const mirrored = path.join('.temp', ...filteredParts)
|
|
13
|
+
return mirrored.replace(/\.[^.]+$/, '.wasm')
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const main = async (baseDir?: string, pattern?: string) => {
|
|
17
|
+
// CLI fallback: bun test:standard:compile:all [baseDir] [pattern]
|
|
18
|
+
const args = process.argv.slice(3)
|
|
19
|
+
const root = baseDir ?? args[0] ?? 'src/standard_tests'
|
|
20
|
+
const glob = pattern ?? args[1] ?? '**/test.ts'
|
|
21
|
+
|
|
22
|
+
console.info('š Compiling all standard tests...\n')
|
|
23
|
+
console.info(`š Root: ${path.resolve(root)}`)
|
|
24
|
+
console.info(`š Pattern: ${glob}\n`)
|
|
25
|
+
|
|
26
|
+
// Find all test.ts files
|
|
27
|
+
const files = await fg(`${root.replace(/\\/g, '/')}/${glob}`, { dot: false })
|
|
28
|
+
|
|
29
|
+
if (files.length === 0) {
|
|
30
|
+
console.error('ā No standard test files found')
|
|
31
|
+
process.exit(1)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
console.info(`š Found ${files.length} test(s):`)
|
|
35
|
+
for (const f of files) console.info(` ⢠${f}`)
|
|
36
|
+
console.info('')
|
|
37
|
+
|
|
38
|
+
let success = 0
|
|
39
|
+
let failed = 0
|
|
40
|
+
const failures: string[] = []
|
|
41
|
+
|
|
42
|
+
// Sequential for readable logs (switch to Promise.allSettled for parallel if desired)
|
|
43
|
+
for (const testPath of files) {
|
|
44
|
+
const rel = path.relative(process.cwd(), testPath)
|
|
45
|
+
const wasmOut = toTempMirrorWasmPath(testPath)
|
|
46
|
+
|
|
47
|
+
try {
|
|
48
|
+
console.info(`šØ Compiling: ${rel}`)
|
|
49
|
+
console.info(` ā Output: ${path.relative(process.cwd(), wasmOut)}`)
|
|
50
|
+
await compileWorkflow(testPath, wasmOut)
|
|
51
|
+
console.info(`ā
Success: ${rel}\n`)
|
|
52
|
+
success++
|
|
53
|
+
} catch (err) {
|
|
54
|
+
console.error(`ā Failed: ${rel}`)
|
|
55
|
+
console.error(` Error: ${err}\n`)
|
|
56
|
+
failed++
|
|
57
|
+
failures.push(rel)
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Summary
|
|
62
|
+
console.info('š Compilation Summary:')
|
|
63
|
+
console.info(` ā
Successful: ${success}`)
|
|
64
|
+
console.info(` ā Failed: ${failed}`)
|
|
65
|
+
|
|
66
|
+
if (failures.length > 0) {
|
|
67
|
+
console.info(' Failed tests:')
|
|
68
|
+
for (const f of failures) console.info(` ⢠${f}`)
|
|
69
|
+
process.exit(1)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
console.info(`\nš All ${success} standard tests compiled successfully!`)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Allow direct CLI usage
|
|
76
|
+
if (import.meta.main) {
|
|
77
|
+
main().catch((e) => {
|
|
78
|
+
console.error(e)
|
|
79
|
+
process.exit(1)
|
|
80
|
+
})
|
|
81
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs'
|
|
2
|
+
import { mkdir } from 'node:fs/promises'
|
|
3
|
+
import path from 'node:path'
|
|
4
|
+
import { $ } from 'bun'
|
|
5
|
+
|
|
6
|
+
export const main = async (tsFilePath?: string, outputFilePath?: string) => {
|
|
7
|
+
const cliArgs = process.argv.slice(3)
|
|
8
|
+
|
|
9
|
+
// Prefer function params, fallback to CLI args
|
|
10
|
+
const inputPath = tsFilePath ?? cliArgs[0]
|
|
11
|
+
const outputPathArg = outputFilePath ?? cliArgs[1]
|
|
12
|
+
|
|
13
|
+
if (!inputPath) {
|
|
14
|
+
console.error('Usage: bun test:standard:compile:js <path-to-file> [output-file]')
|
|
15
|
+
console.error('Example:')
|
|
16
|
+
console.error(' bun test:standard:compile:js src/tests/foo.ts dist/tests/foo.bundle.js')
|
|
17
|
+
process.exit(1)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const resolvedInput = path.resolve(inputPath)
|
|
21
|
+
console.info(`š Using input file: ${resolvedInput}`)
|
|
22
|
+
|
|
23
|
+
// If no explicit output path ā same dir, swap extension to .js
|
|
24
|
+
const resolvedOutput =
|
|
25
|
+
outputPathArg != null
|
|
26
|
+
? path.resolve(outputPathArg)
|
|
27
|
+
: path.join(
|
|
28
|
+
path.dirname(resolvedInput),
|
|
29
|
+
path.basename(resolvedInput).replace(/\.[^.]+$/, '.js'),
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
// Ensure the output directory exists
|
|
33
|
+
await mkdir(path.dirname(resolvedOutput), { recursive: true })
|
|
34
|
+
|
|
35
|
+
// Build step (emit next to output file, then overwrite)
|
|
36
|
+
await Bun.build({
|
|
37
|
+
entrypoints: [resolvedInput],
|
|
38
|
+
outdir: path.dirname(resolvedOutput),
|
|
39
|
+
target: 'node',
|
|
40
|
+
format: 'esm',
|
|
41
|
+
naming: path.basename(resolvedOutput),
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
// The file Bun will emit before bundling
|
|
45
|
+
const builtFile = path.join(path.dirname(resolvedOutput), path.basename(resolvedOutput))
|
|
46
|
+
|
|
47
|
+
if (!existsSync(builtFile)) {
|
|
48
|
+
console.error(`ā Expected file not found: ${builtFile}`)
|
|
49
|
+
process.exit(1)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Bundle into the final file (overwrite)
|
|
53
|
+
await $`bun build ${builtFile} --bundle --outfile=${resolvedOutput}`
|
|
54
|
+
|
|
55
|
+
console.info(`ā
Built: ${resolvedOutput}`)
|
|
56
|
+
return resolvedOutput
|
|
57
|
+
}
|