@chainlink/cre-sdk 0.0.1-alpha → 0.0.3-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +7 -7
- package/README.md +142 -247
- package/dist/generated/chain-selectors/mainnet/aptos/aptos-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/0g-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/abstract-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/apechain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/areon-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/avalanche-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/avalanche-subnet-dexalot-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/berachain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet-opbnb-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/binance.smart.chain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcichain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bitlayer-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bob-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-botanix.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-mainnet-bsquared-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bitcoin-merlin-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bittensor-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/bittorrent.chain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/celo-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/codex-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/coinex.smart.chain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/conflux-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/core-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/corn-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/cronos-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/cronos-zkevm-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-l3x-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1-treasure-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-arbitrum-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-astar-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-base-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-blast-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-hashkey-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-immutable-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-ink-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-kroma-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-linea-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mantle-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-metis-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-mode-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-optimism-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-polygon-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-scroll-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-taiko-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-unichain-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-worldchain-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-xlayer-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zircuit-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet-zksync-1.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ethereum-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/etherlink-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/fantom-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/filecoin-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/fraxtal-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/gnosis.chain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/hedera-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/hemi-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/hyperliquid-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/janction-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/kaia-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/kava-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/kusama-mainnet-moonriver.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/lens-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/lisk-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/memento-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/metal-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/mind-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/mint-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/monad-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/morph-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/near-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/neonlink-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/neox-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-henesys.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/nexon-mainnet-lith.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/nexon-qa.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/nexon-stage.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/nibiru-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/plasma-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/plume-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-astar.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-centrifuge.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-darwinia.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polkadot-mainnet-moonbeam.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet-katana.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/polygon-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/ronin-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/rootstock-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/sei-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/shibarium-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/soneium-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/sonic-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/superseed-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/tac-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/telos-evm-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/treasure-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/tron-mainnet-evm.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/velas-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/wemix-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/xdc-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/zetachain-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/zklink.nova-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/evm/zora-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/solana/solana-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/sui/sui-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/ton/ton-mainnet.js +1 -1
- package/dist/generated/chain-selectors/mainnet/tron/tron-mainnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/aptos/aptos-localnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/aptos/aptos-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/0g-testnet-galileo.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/0g-testnet-newton.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/abstract-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/anvil-devnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/apechain-testnet-curtis.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/areon-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/avalanche-subnet-dexalot-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-fuji.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/avalanche-testnet-nexon.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-artio.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bartio.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/berachain-testnet-bepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet-opbnb-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/binance.smart.chain-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcichain-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bitlayer-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-botanix.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-bsquared-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-merlin.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-rootstock.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bitcoin-testnet-sepolia-bob-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bittensor-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/bittorrent.chain-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/celo-testnet-alfajores.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/codex-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/coinex.smart.chain-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/core-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/cronos-testnet-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/cronos-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/cronos-zkevm-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/dtcc-testnet-andesite.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-arbitrum-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-base-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-linea-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-mantle-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-optimism-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-polygon-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-goerli-zksync-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-fraxtal-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-morph-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky-taiko-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-holesky.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-l3x-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1-treasure-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-arbitrum-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-base-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-blast-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-corn-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-hashkey-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-immutable-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-kroma-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lens-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-linea-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-lisk-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mantle-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-metis-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-mode-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-optimism-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-validium-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-polygon-zkevm-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-scroll-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-soneium-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-unichain-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-worldchain-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-xlayer-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zircuit-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia-zksync-1.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ethereum-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/etherlink-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/fantom-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/filecoin-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/geth-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/gnosis.chain-testnet-chiado.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/hedera-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/hemi-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/hyperliquid-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ink-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/janction-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/jovay-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/kaia-testnet-kairos.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/kava-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/megaeth-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/memento-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/metal-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/mind-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/mint-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/monad-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/near-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/neonlink-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/neox-testnet-t4.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/nexon-dev.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/nibiru-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ondo-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/pharos-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/plasma-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/plume-devnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/plume-testnet-sepolia.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/plume-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-astar-shibuya.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-centrifuge-altair.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-darwinia-pangoro.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polkadot-testnet-moonbeam-moonbase.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-amoy.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-mumbai.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/polygon-testnet-tatara.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-andesite.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-granite.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-mica.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-obsidian.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/private-testnet-opala.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/ronin-testnet-saigon.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/sei-testnet-atlantic.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/shibarium-testnet-puppynet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/sonic-testnet-blaze.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/story-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/superseed-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/tac-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/telos-evm-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/treasure-testnet-topaz.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/tron-devnet-evm.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/tron-testnet-nile-evm.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/tron-testnet-shasta-evm.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/velas-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/wemix-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/xdc-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/zero-g-testnet-galileo.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/zircuit-testnet-garfield.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/zklink.nova-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/evm/zora-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/solana/solana-devnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/solana/solana-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/sui/sui-localnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/sui/sui-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/ton/ton-localnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/ton/ton-testnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/tron/tron-devnet.js +1 -1
- package/dist/generated/chain-selectors/testnet/tron/tron-testnet-nile.js +1 -1
- package/dist/generated/chain-selectors/testnet/tron/tron-testnet-shasta.js +1 -1
- package/dist/generated/networks.d.ts +14 -14
- package/dist/generated/networks.js +495 -495
- package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.d.ts +23 -28
- package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.js +80 -280
- package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.d.ts +6 -10
- package/dist/generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen.js +16 -64
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.d.ts +17 -8
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.js +35 -37
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.d.ts +1 -8
- package/dist/generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen.js +6 -21
- package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.d.ts +1 -8
- package/dist/generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen.js +6 -21
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/sdk/cre/index.d.ts +7 -20
- package/dist/sdk/cre/index.js +2 -18
- package/dist/sdk/errors.d.ts +12 -0
- package/dist/sdk/errors.js +21 -0
- package/dist/sdk/impl/runtime-impl.d.ts +42 -0
- package/dist/sdk/impl/runtime-impl.js +213 -0
- package/dist/sdk/index.d.ts +3 -0
- package/dist/sdk/index.js +2 -0
- package/dist/sdk/runtime.d.ts +27 -0
- package/dist/sdk/utils/capabilities/capability-error.d.ts +0 -3
- package/dist/sdk/utils/capabilities/capability-error.js +0 -2
- package/dist/sdk/utils/chain-selectors/getNetwork.d.ts +2 -2
- package/dist/sdk/utils/chain-selectors/getNetwork.js +56 -15
- package/dist/sdk/utils/chain-selectors/types.d.ts +1 -1
- package/dist/sdk/utils/config/index.d.ts +4 -6
- package/dist/sdk/utils/config/index.js +10 -34
- package/dist/sdk/utils/index.d.ts +1 -3
- package/dist/sdk/utils/index.js +1 -3
- package/dist/sdk/utils/safe-json-stringify.d.ts +6 -0
- package/dist/sdk/utils/safe-json-stringify.js +6 -0
- package/dist/sdk/utils/triggers/trigger-interface.d.ts +1 -1
- package/dist/sdk/utils/values/consensus_aggregators.d.ts +1 -1
- package/dist/sdk/utils/values/serializer_types.d.ts +1 -1
- package/dist/sdk/{runtime → wasm}/host-bindings.d.ts +0 -1
- package/dist/sdk/{runtime → wasm}/host-bindings.js +0 -4
- 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/runtime.d.ts +7 -0
- package/dist/sdk/wasm/runtime.js +58 -0
- package/dist/sdk/workflow.d.ts +13 -15
- package/dist/sdk/workflow.js +1 -21
- package/package.json +4 -3
- package/scripts/run-standard-tests.sh +3 -0
- package/scripts/src/generate-chain-selectors.ts +23 -16
- package/dist/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb.d.ts +0 -135
- package/dist/generated/capabilities/internal/actionandtrigger/v1/action_and_trigger_pb.js +0 -43
- package/dist/generated/capabilities/internal/basicaction/v1/basic_action_pb.d.ts +0 -77
- package/dist/generated/capabilities/internal/basicaction/v1/basic_action_pb.js +0 -33
- package/dist/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb.d.ts +0 -77
- package/dist/generated/capabilities/internal/basictrigger/v1/basic_trigger_pb.js +0 -29
- package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.d.ts +0 -48
- package/dist/generated-sdk/capabilities/internal/actionandtrigger/v1/basic_sdk_gen.js +0 -108
- package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.d.ts +0 -23
- package/dist/generated-sdk/capabilities/internal/basicaction/v1/basicaction_sdk_gen.js +0 -63
- package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.d.ts +0 -45
- package/dist/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen.js +0 -71
- package/dist/sdk/engine/execute.d.ts +0 -4
- package/dist/sdk/engine/execute.js +0 -12
- package/dist/sdk/engine/execute.test.js +0 -129
- package/dist/sdk/engine/handleExecutionPhase.d.ts +0 -4
- package/dist/sdk/engine/handleExecutionPhase.js +0 -34
- package/dist/sdk/engine/handleSubscribePhase.d.ts +0 -3
- package/dist/sdk/engine/handleSubscribePhase.js +0 -23
- package/dist/sdk/logger.d.ts +0 -7
- package/dist/sdk/logger.js +0 -18
- package/dist/sdk/runtime/errors.d.ts +0 -23
- package/dist/sdk/runtime/errors.js +0 -30
- package/dist/sdk/runtime/index.d.ts +0 -3
- package/dist/sdk/runtime/index.js +0 -2
- package/dist/sdk/runtime/run-in-node-mode.d.ts +0 -12
- package/dist/sdk/runtime/run-in-node-mode.js +0 -47
- package/dist/sdk/runtime/run-in-node-mode.test.d.ts +0 -1
- package/dist/sdk/runtime/run-in-node-mode.test.js +0 -116
- package/dist/sdk/runtime/runtime.d.ts +0 -36
- package/dist/sdk/runtime/runtime.js +0 -84
- package/dist/sdk/runtime/runtime.test.d.ts +0 -1
- package/dist/sdk/runtime/runtime.test.js +0 -58
- package/dist/sdk/testhelpers/dangerously-call-capability.d.ts +0 -10
- package/dist/sdk/testhelpers/dangerously-call-capability.js +0 -26
- package/dist/sdk/testhelpers/mock-host-bindings.d.ts +0 -15
- package/dist/sdk/testhelpers/mock-host-bindings.js +0 -25
- package/dist/sdk/testhelpers/mock-runtime.d.ts +0 -2
- package/dist/sdk/testhelpers/mock-runtime.js +0 -16
- package/dist/sdk/utils/await-async-request.d.ts +0 -9
- package/dist/sdk/utils/await-async-request.js +0 -27
- package/dist/sdk/utils/capabilities/call-capability.d.ts +0 -22
- package/dist/sdk/utils/capabilities/call-capability.js +0 -33
- package/dist/sdk/utils/capabilities/callback-id.d.ts +0 -3
- package/dist/sdk/utils/capabilities/callback-id.js +0 -22
- package/dist/sdk/utils/capabilities/http/fetch.d.ts +0 -44
- package/dist/sdk/utils/capabilities/http/fetch.js +0 -63
- package/dist/sdk/utils/do-request-async.d.ts +0 -12
- package/dist/sdk/utils/do-request-async.js +0 -17
- package/dist/sdk/utils/error-boundary.d.ts +0 -2
- package/dist/sdk/utils/error-boundary.js +0 -30
- package/dist/sdk/utils/get-request.d.ts +0 -1
- package/dist/sdk/utils/get-request.js +0 -15
- package/dist/sdk/utils/lazy-promise.d.ts +0 -59
- package/dist/sdk/utils/lazy-promise.js +0 -81
- package/dist/sdk/utils/random/get-rand.d.ts +0 -3
- package/dist/sdk/utils/random/get-rand.js +0 -6
- package/dist/sdk/utils/random/random.d.ts +0 -35
- package/dist/sdk/utils/random/random.js +0 -123
- package/dist/sdk/utils/secrets/await-async-secret.d.ts +0 -1
- package/dist/sdk/utils/secrets/await-async-secret.js +0 -29
- package/dist/sdk/utils/secrets/do-get-secret.d.ts +0 -1
- package/dist/sdk/utils/secrets/do-get-secret.js +0 -14
- package/dist/sdk/utils/secrets/get-secret.d.ts +0 -1
- package/dist/sdk/utils/secrets/get-secret.js +0 -10
- package/dist/sdk/utils/send-error.d.ts +0 -1
- package/dist/sdk/utils/send-error.js +0 -16
- package/dist/sdk/utils/send-response-value.d.ts +0 -2
- package/dist/sdk/utils/send-response-value.js +0 -15
- package/dist/sdk/utils/time/get-time.d.ts +0 -16
- package/dist/sdk/utils/time/get-time.js +0 -21
- package/dist/sdk/utils/values/consensus_aggregators.test.d.ts +0 -1
- package/dist/sdk/utils/values/consensus_aggregators.test.js +0 -172
- package/dist/sdk/utils/values/serializer_types.test.d.ts +0 -1
- package/dist/sdk/utils/values/serializer_types.test.js +0 -104
- package/dist/sdk/utils/values/value.test.d.ts +0 -1
- package/dist/sdk/utils/values/value.test.js +0 -439
- /package/dist/sdk/{engine/execute.test.d.ts → runtime.js} +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type Message } from '@bufbuild/protobuf';
|
|
2
|
+
import { type AwaitCapabilitiesRequest, type AwaitCapabilitiesResponse, type AwaitSecretsRequest, type AwaitSecretsResponse, type CapabilityRequest, type GetSecretsRequest, Mode, type Secret, type SecretRequest, type SecretRequestJson } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
3
|
+
import type { BaseRuntime, CallCapabilityParams, NodeRuntime, Runtime } from '../runtime';
|
|
4
|
+
import { type ConsensusAggregation, type PrimitiveTypes, type UnwrapOptions } from '../utils';
|
|
5
|
+
export declare class BaseRuntimeImpl<C> implements BaseRuntime<C> {
|
|
6
|
+
config: C;
|
|
7
|
+
nextCallId: number;
|
|
8
|
+
protected helpers: RuntimeHelpers;
|
|
9
|
+
protected maxResponseSize: bigint;
|
|
10
|
+
private mode;
|
|
11
|
+
modeError?: Error;
|
|
12
|
+
constructor(config: C, nextCallId: number, helpers: RuntimeHelpers, maxResponseSize: bigint, mode: Mode);
|
|
13
|
+
callCapability<I extends Message, O extends Message>({ capabilityId, method, payload, inputSchema, outputSchema, }: CallCapabilityParams<I, O>): {
|
|
14
|
+
result: () => O;
|
|
15
|
+
};
|
|
16
|
+
getNextCallId(): number;
|
|
17
|
+
now(): Date;
|
|
18
|
+
log(message: string): void;
|
|
19
|
+
}
|
|
20
|
+
export declare class NodeRuntimeImpl<C> extends BaseRuntimeImpl<C> implements NodeRuntime<C> {
|
|
21
|
+
_isNodeRuntime: true;
|
|
22
|
+
constructor(config: C, nextCallId: number, helpers: RuntimeHelpers, maxResponseSize: bigint);
|
|
23
|
+
}
|
|
24
|
+
export declare class RuntimeImpl<C> extends BaseRuntimeImpl<C> implements Runtime<C> {
|
|
25
|
+
private nextNodeCallId;
|
|
26
|
+
constructor(config: C, nextCallId: number, helpers: RuntimeHelpers, maxResponseSize: bigint);
|
|
27
|
+
runInNodeMode<TArgs extends unknown[], TOutput>(fn: (nodeRuntime: NodeRuntime<C>, ...args: TArgs) => TOutput, consesusAggretation: ConsensusAggregation<TOutput, true>, unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions<TOutput>): (...args: TArgs) => {
|
|
28
|
+
result: () => TOutput;
|
|
29
|
+
};
|
|
30
|
+
getSecret(request: SecretRequest | SecretRequestJson): {
|
|
31
|
+
result: () => Secret;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface RuntimeHelpers {
|
|
35
|
+
call(request: CapabilityRequest): boolean;
|
|
36
|
+
await(request: AwaitCapabilitiesRequest, maxResponseSize: bigint): AwaitCapabilitiesResponse;
|
|
37
|
+
getSecrets(request: GetSecretsRequest, maxResponseSize: bigint): boolean;
|
|
38
|
+
awaitSecrets(request: AwaitSecretsRequest, maxResponseSize: bigint): AwaitSecretsResponse;
|
|
39
|
+
switchModes(mode: Mode): void;
|
|
40
|
+
now(): number;
|
|
41
|
+
log(message: string): void;
|
|
42
|
+
}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { create } from '@bufbuild/protobuf';
|
|
2
|
+
import { anyPack, anyUnpack } from '@bufbuild/protobuf/wkt';
|
|
3
|
+
import { AwaitCapabilitiesRequestSchema, AwaitSecretsRequestSchema, CapabilityRequestSchema, GetSecretsRequestSchema, Mode, SecretRequestSchema, SimpleConsensusInputsSchema, } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
4
|
+
import { ConsensusCapability } from '../../generated-sdk/capabilities/internal/consensus/v1alpha/consensus_sdk_gen';
|
|
5
|
+
import { Value, } from '../utils';
|
|
6
|
+
import { CapabilityError } from '../utils/capabilities/capability-error';
|
|
7
|
+
import { DonModeError, NodeModeError, SecretsError } from '../errors';
|
|
8
|
+
export class BaseRuntimeImpl {
|
|
9
|
+
config;
|
|
10
|
+
nextCallId;
|
|
11
|
+
helpers;
|
|
12
|
+
maxResponseSize;
|
|
13
|
+
mode;
|
|
14
|
+
// modeError must only be set from within NodeRuntimeImpl
|
|
15
|
+
modeError;
|
|
16
|
+
constructor(config, nextCallId, helpers, maxResponseSize, mode) {
|
|
17
|
+
this.config = config;
|
|
18
|
+
this.nextCallId = nextCallId;
|
|
19
|
+
this.helpers = helpers;
|
|
20
|
+
this.maxResponseSize = maxResponseSize;
|
|
21
|
+
this.mode = mode;
|
|
22
|
+
}
|
|
23
|
+
callCapability({ capabilityId, method, payload, inputSchema, outputSchema, }) {
|
|
24
|
+
if (this.modeError) {
|
|
25
|
+
return {
|
|
26
|
+
result: () => {
|
|
27
|
+
throw this.modeError;
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
// nextCallId tracks the unique id for a request to the WASM host.
|
|
32
|
+
// to avoid collisions of the ID in different modes, it is
|
|
33
|
+
// incremented in DON mode and decremented in Node mode.
|
|
34
|
+
// eg. - first call don mode: nextCallId = 1
|
|
35
|
+
// - second call: nextCallId = 2
|
|
36
|
+
// - first call node mode: nextCallId = -1
|
|
37
|
+
// - second call node mode: nextCallId = -2
|
|
38
|
+
// - etc...
|
|
39
|
+
const anyPayload = anyPack(inputSchema, payload);
|
|
40
|
+
const callbackId = this.nextCallId;
|
|
41
|
+
if (this.mode === Mode.DON)
|
|
42
|
+
this.nextCallId++;
|
|
43
|
+
else
|
|
44
|
+
this.nextCallId--;
|
|
45
|
+
const req = create(CapabilityRequestSchema, {
|
|
46
|
+
id: capabilityId,
|
|
47
|
+
method,
|
|
48
|
+
payload: anyPayload,
|
|
49
|
+
callbackId,
|
|
50
|
+
});
|
|
51
|
+
if (!this.helpers.call(req)) {
|
|
52
|
+
return {
|
|
53
|
+
result: () => {
|
|
54
|
+
throw new CapabilityError(`Capability not found ${capabilityId}`, {
|
|
55
|
+
callbackId,
|
|
56
|
+
method,
|
|
57
|
+
capabilityId,
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
result: () => {
|
|
64
|
+
const awaitRequest = create(AwaitCapabilitiesRequestSchema, {
|
|
65
|
+
ids: [callbackId],
|
|
66
|
+
});
|
|
67
|
+
const awaitResponse = this.helpers.await(awaitRequest, this.maxResponseSize);
|
|
68
|
+
const capabilityResponse = awaitResponse.responses[callbackId];
|
|
69
|
+
if (!capabilityResponse) {
|
|
70
|
+
throw new CapabilityError(`No response found for callback ID ${callbackId}`, {
|
|
71
|
+
capabilityId,
|
|
72
|
+
method,
|
|
73
|
+
callbackId,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
const response = capabilityResponse.response;
|
|
77
|
+
switch (response.case) {
|
|
78
|
+
case 'payload':
|
|
79
|
+
return anyUnpack(response.value, outputSchema);
|
|
80
|
+
case 'error':
|
|
81
|
+
throw new CapabilityError(`Error ${response.value}`, {
|
|
82
|
+
capabilityId,
|
|
83
|
+
method,
|
|
84
|
+
callbackId,
|
|
85
|
+
});
|
|
86
|
+
default:
|
|
87
|
+
throw new CapabilityError(`Error cannot unwrap ${response.case}`, {
|
|
88
|
+
capabilityId,
|
|
89
|
+
method,
|
|
90
|
+
callbackId,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
getNextCallId() {
|
|
97
|
+
return this.nextCallId;
|
|
98
|
+
}
|
|
99
|
+
now() {
|
|
100
|
+
// ns to ms
|
|
101
|
+
return new Date(this.helpers.now() / 1000000);
|
|
102
|
+
}
|
|
103
|
+
log(message) {
|
|
104
|
+
this.helpers.log(message);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export class NodeRuntimeImpl extends BaseRuntimeImpl {
|
|
108
|
+
_isNodeRuntime = true;
|
|
109
|
+
constructor(config, nextCallId, helpers, maxResponseSize) {
|
|
110
|
+
helpers.switchModes(Mode.NODE);
|
|
111
|
+
super(config, nextCallId, helpers, maxResponseSize, Mode.NODE);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export class RuntimeImpl extends BaseRuntimeImpl {
|
|
115
|
+
nextNodeCallId = -1;
|
|
116
|
+
constructor(config, nextCallId, helpers, maxResponseSize) {
|
|
117
|
+
helpers.switchModes(Mode.DON);
|
|
118
|
+
super(config, nextCallId, helpers, maxResponseSize, Mode.DON);
|
|
119
|
+
}
|
|
120
|
+
runInNodeMode(fn, consesusAggretation, unwrapOptions) {
|
|
121
|
+
return (...args) => {
|
|
122
|
+
this.modeError = new DonModeError();
|
|
123
|
+
const nodeRuntime = new NodeRuntimeImpl(this.config, this.nextNodeCallId, this.helpers, this.maxResponseSize);
|
|
124
|
+
const consensusInput = create(SimpleConsensusInputsSchema, {
|
|
125
|
+
descriptors: consesusAggretation.descriptor,
|
|
126
|
+
});
|
|
127
|
+
if (consesusAggretation.defaultValue) {
|
|
128
|
+
// This cast is safe, since ConsensusAggregation can only have true its second argument if T extends CreSerializable<TOutput>
|
|
129
|
+
consensusInput.default = Value.from(consesusAggretation.defaultValue).proto();
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
const observation = fn(nodeRuntime, ...args);
|
|
133
|
+
// This cast is safe, since ConsensusAggregation can only have true its second argument if T extends CreSerializable<TOutput>
|
|
134
|
+
consensusInput.observation = {
|
|
135
|
+
case: 'value',
|
|
136
|
+
value: Value.from(observation).proto(),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
catch (e) {
|
|
140
|
+
consensusInput.observation = {
|
|
141
|
+
case: 'error',
|
|
142
|
+
value: (e instanceof Error && e.message) || String(e),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
finally {
|
|
146
|
+
// Always restore DON mode before invoking consensus
|
|
147
|
+
this.modeError = undefined;
|
|
148
|
+
this.nextNodeCallId = nodeRuntime.nextCallId;
|
|
149
|
+
nodeRuntime.modeError = new NodeModeError();
|
|
150
|
+
this.helpers.switchModes(Mode.DON);
|
|
151
|
+
}
|
|
152
|
+
const consensus = new ConsensusCapability();
|
|
153
|
+
const call = consensus.simple(this, consensusInput);
|
|
154
|
+
return {
|
|
155
|
+
result: () => {
|
|
156
|
+
const result = call.result();
|
|
157
|
+
const wrappedValue = Value.wrap(result);
|
|
158
|
+
return unwrapOptions
|
|
159
|
+
? wrappedValue.unwrapToType(unwrapOptions)
|
|
160
|
+
: wrappedValue.unwrap();
|
|
161
|
+
},
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
getSecret(request) {
|
|
166
|
+
if (this.modeError) {
|
|
167
|
+
return {
|
|
168
|
+
result: () => {
|
|
169
|
+
throw this.modeError;
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
const secretRequest = request.$typeName
|
|
174
|
+
? create(SecretRequestSchema, request)
|
|
175
|
+
: request;
|
|
176
|
+
const id = this.nextCallId;
|
|
177
|
+
this.nextCallId++;
|
|
178
|
+
const secretsReq = create(GetSecretsRequestSchema, {
|
|
179
|
+
callbackId: id,
|
|
180
|
+
requests: [request],
|
|
181
|
+
});
|
|
182
|
+
if (!this.helpers.getSecrets(secretsReq, this.maxResponseSize)) {
|
|
183
|
+
return {
|
|
184
|
+
result: () => {
|
|
185
|
+
throw new SecretsError(secretRequest, 'host is not making the secrets request');
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
return {
|
|
190
|
+
result: () => {
|
|
191
|
+
const awaitRequest = create(AwaitSecretsRequestSchema, { ids: [id] });
|
|
192
|
+
const awaitResponse = this.helpers.awaitSecrets(awaitRequest, this.maxResponseSize);
|
|
193
|
+
const secretsResponse = awaitResponse.responses[id];
|
|
194
|
+
if (!secretsResponse) {
|
|
195
|
+
throw new SecretsError(secretRequest, 'no response');
|
|
196
|
+
}
|
|
197
|
+
const responses = secretsResponse.responses;
|
|
198
|
+
if (responses.length !== 1) {
|
|
199
|
+
throw new SecretsError(secretRequest, 'invalid value returned from host');
|
|
200
|
+
}
|
|
201
|
+
const response = responses[0].response;
|
|
202
|
+
switch (response.case) {
|
|
203
|
+
case 'secret':
|
|
204
|
+
return response.value;
|
|
205
|
+
case 'error':
|
|
206
|
+
throw new SecretsError(secretRequest, response.value.error);
|
|
207
|
+
default:
|
|
208
|
+
throw new SecretsError(secretRequest, 'cannot unmashal returned value from host');
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
}
|
package/dist/sdk/index.d.ts
CHANGED
package/dist/sdk/index.js
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Message } from '@bufbuild/protobuf';
|
|
2
|
+
import type { GenMessage } from '@bufbuild/protobuf/codegenv2';
|
|
3
|
+
import type { ConsensusAggregation, PrimitiveTypes, UnwrapOptions } from './utils';
|
|
4
|
+
import type { SecretsProvider } from '.';
|
|
5
|
+
export type CallCapabilityParams<I extends Message, O extends Message> = {
|
|
6
|
+
capabilityId: string;
|
|
7
|
+
method: string;
|
|
8
|
+
payload: I;
|
|
9
|
+
inputSchema: GenMessage<I>;
|
|
10
|
+
outputSchema: GenMessage<O>;
|
|
11
|
+
};
|
|
12
|
+
export type BaseRuntime<C> = {
|
|
13
|
+
config: C;
|
|
14
|
+
callCapability<I extends Message, O extends Message>(params: CallCapabilityParams<I, O>): {
|
|
15
|
+
result: () => O;
|
|
16
|
+
};
|
|
17
|
+
now(): Date;
|
|
18
|
+
log(message: string): void;
|
|
19
|
+
};
|
|
20
|
+
export type Runtime<C> = BaseRuntime<C> & SecretsProvider & {
|
|
21
|
+
runInNodeMode<TArgs extends unknown[], TOutput>(fn: (nodeRuntime: NodeRuntime<C>, ...args: TArgs) => TOutput, consensusAggregation: ConsensusAggregation<TOutput, true>, unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions<TOutput>): (...args: TArgs) => {
|
|
22
|
+
result: () => TOutput;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export type NodeRuntime<C> = BaseRuntime<C> & {
|
|
26
|
+
readonly _isNodeRuntime: true;
|
|
27
|
+
};
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import type { Mode } from '../../../generated/sdk/v1alpha/sdk_pb';
|
|
2
1
|
export declare class CapabilityError extends Error {
|
|
3
2
|
name: string;
|
|
4
3
|
capabilityId?: string;
|
|
5
4
|
method?: string;
|
|
6
|
-
mode?: Mode;
|
|
7
5
|
callbackId?: number;
|
|
8
6
|
constructor(message: string, options?: {
|
|
9
7
|
capabilityId?: string;
|
|
10
8
|
method?: string;
|
|
11
|
-
mode?: Mode;
|
|
12
9
|
callbackId?: number;
|
|
13
10
|
});
|
|
14
11
|
}
|
|
@@ -2,7 +2,6 @@ export class CapabilityError extends Error {
|
|
|
2
2
|
name;
|
|
3
3
|
capabilityId;
|
|
4
4
|
method;
|
|
5
|
-
mode;
|
|
6
5
|
callbackId;
|
|
7
6
|
constructor(message, options) {
|
|
8
7
|
super(message);
|
|
@@ -10,7 +9,6 @@ export class CapabilityError extends Error {
|
|
|
10
9
|
if (options) {
|
|
11
10
|
this.capabilityId = options.capabilityId;
|
|
12
11
|
this.method = options.method;
|
|
13
|
-
this.mode = options.mode;
|
|
14
12
|
this.callbackId = options.callbackId;
|
|
15
13
|
}
|
|
16
14
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ChainFamily, NetworkInfo } from './types';
|
|
2
2
|
interface GetNetworkOptions {
|
|
3
|
-
chainSelector?:
|
|
3
|
+
chainSelector?: bigint;
|
|
4
4
|
chainSelectorName?: string;
|
|
5
|
-
isTestnet?: boolean;
|
|
5
|
+
isTestnet?: boolean | undefined;
|
|
6
6
|
chainFamily?: ChainFamily;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
@@ -5,32 +5,73 @@ import { mainnetByName, mainnetByNameByFamily, mainnetBySelector, mainnetBySelec
|
|
|
5
5
|
* @returns NetworkInfo if found, undefined otherwise
|
|
6
6
|
*/
|
|
7
7
|
export const getNetwork = (options) => {
|
|
8
|
-
const { chainSelector, chainSelectorName, isTestnet
|
|
8
|
+
const { chainSelector, chainSelectorName, isTestnet, chainFamily } = options;
|
|
9
|
+
const getBySelector = (map) => {
|
|
10
|
+
if (chainSelector === undefined)
|
|
11
|
+
return undefined;
|
|
12
|
+
return map.get(chainSelector);
|
|
13
|
+
};
|
|
9
14
|
// Validate input - need either chainSelector or chainSelectorName
|
|
10
15
|
if (!chainSelector && !chainSelectorName) {
|
|
11
16
|
return undefined;
|
|
12
17
|
}
|
|
13
18
|
// If both chainFamily and network type are specified, use the most specific maps
|
|
14
|
-
if (chainFamily && chainSelector) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
if (chainFamily && chainSelector !== undefined) {
|
|
20
|
+
if (isTestnet === false) {
|
|
21
|
+
return getBySelector(mainnetBySelectorByFamily[chainFamily]);
|
|
22
|
+
}
|
|
23
|
+
if (isTestnet === true) {
|
|
24
|
+
return getBySelector(testnetBySelectorByFamily[chainFamily]);
|
|
25
|
+
}
|
|
26
|
+
// If user haven't defined if it's testnet or not we can try all networks, starting from testnet
|
|
27
|
+
let network = getBySelector(testnetBySelectorByFamily[chainFamily]);
|
|
28
|
+
if (!network) {
|
|
29
|
+
network = getBySelector(mainnetBySelectorByFamily[chainFamily]);
|
|
30
|
+
}
|
|
31
|
+
return network;
|
|
19
32
|
}
|
|
20
33
|
if (chainFamily && chainSelectorName) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
34
|
+
if (isTestnet === false) {
|
|
35
|
+
return mainnetByNameByFamily[chainFamily].get(chainSelectorName);
|
|
36
|
+
}
|
|
37
|
+
if (isTestnet === true) {
|
|
38
|
+
return testnetByNameByFamily[chainFamily].get(chainSelectorName);
|
|
39
|
+
}
|
|
40
|
+
// If user haven't defined if it's testnet or not we can try all networks, starting from testnet
|
|
41
|
+
let network = testnetByNameByFamily[chainFamily].get(chainSelectorName);
|
|
42
|
+
if (!network) {
|
|
43
|
+
network = mainnetByNameByFamily[chainFamily].get(chainSelectorName);
|
|
44
|
+
}
|
|
45
|
+
return network;
|
|
25
46
|
}
|
|
26
47
|
// If only network type is specified, use the general maps
|
|
27
|
-
if (chainSelector) {
|
|
28
|
-
|
|
29
|
-
|
|
48
|
+
if (chainSelector !== undefined) {
|
|
49
|
+
if (isTestnet === false) {
|
|
50
|
+
return getBySelector(mainnetBySelector);
|
|
51
|
+
}
|
|
52
|
+
if (isTestnet === true) {
|
|
53
|
+
return getBySelector(testnetBySelector);
|
|
54
|
+
}
|
|
55
|
+
// If user haven't defined if it's testnet or not we can try all networks, starting from testnet
|
|
56
|
+
let network = getBySelector(testnetBySelector);
|
|
57
|
+
if (!network) {
|
|
58
|
+
network = getBySelector(mainnetBySelector);
|
|
59
|
+
}
|
|
60
|
+
return network;
|
|
30
61
|
}
|
|
31
62
|
if (chainSelectorName) {
|
|
32
|
-
|
|
33
|
-
|
|
63
|
+
if (isTestnet === false) {
|
|
64
|
+
return mainnetByName.get(chainSelectorName);
|
|
65
|
+
}
|
|
66
|
+
if (isTestnet === true) {
|
|
67
|
+
return testnetByName.get(chainSelectorName);
|
|
68
|
+
}
|
|
69
|
+
// If user haven't defined if it's testnet or not we can try all networks, starting from testnet
|
|
70
|
+
let network = testnetByName.get(chainSelectorName);
|
|
71
|
+
if (!network) {
|
|
72
|
+
network = mainnetByName.get(chainSelectorName);
|
|
73
|
+
}
|
|
74
|
+
return network;
|
|
34
75
|
}
|
|
35
76
|
return undefined;
|
|
36
77
|
};
|
|
@@ -2,7 +2,7 @@ export type ChainFamily = 'evm' | 'solana' | 'aptos' | 'sui' | 'ton' | 'tron';
|
|
|
2
2
|
export type NetworkType = 'mainnet' | 'testnet';
|
|
3
3
|
export interface ChainSelector {
|
|
4
4
|
name: string;
|
|
5
|
-
selector:
|
|
5
|
+
selector: bigint;
|
|
6
6
|
}
|
|
7
7
|
export interface NetworkInfo {
|
|
8
8
|
chainId: string;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import type { ExecuteRequest } from '../../../generated/sdk/v1alpha/sdk_pb';
|
|
2
2
|
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
configParser?: (config: unknown) => unknown;
|
|
7
|
-
configSchema?: StandardSchemaV1;
|
|
3
|
+
export type ConfigHandlerParams<TConfig, TIntermediateConfig = TConfig> = {
|
|
4
|
+
configParser?: (config: Uint8Array) => TIntermediateConfig;
|
|
5
|
+
configSchema?: StandardSchemaV1<TIntermediateConfig, TConfig>;
|
|
8
6
|
};
|
|
9
|
-
export declare const configHandler: <TConfig>({ configParser, configSchema
|
|
7
|
+
export declare const configHandler: <TConfig, TIntermediateConfig = TConfig>(request: ExecuteRequest, { configParser, configSchema }?: ConfigHandlerParams<TConfig, TIntermediateConfig>) => Promise<TConfig>;
|
|
@@ -1,26 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export const getConfigFromExecuteRequest = (executeRequest) => {
|
|
3
|
-
const config = executeRequest.config;
|
|
4
|
-
const configString = Buffer.from(config).toString();
|
|
5
|
-
try {
|
|
6
|
-
return JSON.parse(configString);
|
|
7
|
-
}
|
|
8
|
-
catch (e) {
|
|
9
|
-
if (typeof configString === 'string') {
|
|
10
|
-
return configString;
|
|
11
|
-
}
|
|
12
|
-
if (e instanceof Error) {
|
|
13
|
-
console.error(e.message);
|
|
14
|
-
console.error(e.stack);
|
|
15
|
-
}
|
|
16
|
-
throw e;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
export const getConfig = () => {
|
|
20
|
-
const executeRequest = getRequest();
|
|
21
|
-
return getConfigFromExecuteRequest(executeRequest);
|
|
22
|
-
};
|
|
23
|
-
const standardValidate = async (schema, input) => {
|
|
1
|
+
async function standardValidate(schema, input) {
|
|
24
2
|
let result = schema['~standard'].validate(input);
|
|
25
3
|
if (result instanceof Promise)
|
|
26
4
|
result = await result;
|
|
@@ -32,15 +10,13 @@ const standardValidate = async (schema, input) => {
|
|
|
32
10
|
throw new Error(JSON.stringify(result.issues, null, 2));
|
|
33
11
|
}
|
|
34
12
|
return result.value;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
return parsedConfig;
|
|
13
|
+
}
|
|
14
|
+
const defaultJsonParser = (config) => JSON.parse(Buffer.from(config).toString());
|
|
15
|
+
export const configHandler = async (request, { configParser, configSchema } = {}) => {
|
|
16
|
+
const config = request.config;
|
|
17
|
+
const parser = configParser || defaultJsonParser;
|
|
18
|
+
const intermediateConfig = parser(config);
|
|
19
|
+
return configSchema
|
|
20
|
+
? standardValidate(configSchema, intermediateConfig)
|
|
21
|
+
: intermediateConfig;
|
|
46
22
|
};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export { withErrorBoundary } from './error-boundary';
|
|
1
|
+
export * from './chain-selectors';
|
|
3
2
|
export * from './hex-utils';
|
|
4
|
-
export * from './send-response-value';
|
|
5
3
|
export * from './values/consensus_aggregators';
|
|
6
4
|
export * from './values/serializer_types';
|
|
7
5
|
export * from './values/value';
|
package/dist/sdk/utils/index.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export { withErrorBoundary } from './error-boundary';
|
|
1
|
+
export * from './chain-selectors';
|
|
3
2
|
export * from './hex-utils';
|
|
4
|
-
export * from './send-response-value';
|
|
5
3
|
export * from './values/consensus_aggregators';
|
|
6
4
|
export * from './values/serializer_types';
|
|
7
5
|
export * from './values/value';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supports stringifying an object with bigints, treating bigints as strings.
|
|
3
|
+
* @param obj - The object to stringify
|
|
4
|
+
* @returns The stringified object
|
|
5
|
+
*/
|
|
6
|
+
export const safeJsonStringify = (obj) => JSON.stringify(obj, (_, value) => (typeof value === 'bigint' ? value.toString() : value), 2);
|
|
@@ -17,5 +17,5 @@ export interface Trigger<TRawTriggerOutput extends Message<string>, TTriggerOutp
|
|
|
17
17
|
/** Get the configuration as an Any type for protobuf serialization */
|
|
18
18
|
configAsAny(): Any;
|
|
19
19
|
/** Transform the raw trigger output to the adapted type */
|
|
20
|
-
adapt(rawOutput: TRawTriggerOutput): TTriggerOutput
|
|
20
|
+
adapt(rawOutput: TRawTriggerOutput): TTriggerOutput;
|
|
21
21
|
}
|
|
@@ -22,6 +22,6 @@ export declare class ConsensusFieldAggregation<T, U> {
|
|
|
22
22
|
constructor(fieldDescriptor?: ConsensusDescriptor | undefined, t?: T | undefined, u?: U | undefined);
|
|
23
23
|
}
|
|
24
24
|
export type ConsensusAggregationFields<T extends object> = {
|
|
25
|
-
[K in keyof T]: () => ConsensusFieldAggregation<T[K], true>;
|
|
25
|
+
[K in keyof T as K extends '$typeName' ? never : K]: () => ConsensusFieldAggregation<T[K], true>;
|
|
26
26
|
};
|
|
27
27
|
export declare function ConsensusAggregationByFields<T extends object>(aggregation: ConsensusAggregationFields<T>): ConsensusAggregation<T, true>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Decimal, Int64, UInt64 } from './value';
|
|
2
2
|
export type NumericType = number | bigint | Date | Decimal | Int64 | UInt64;
|
|
3
3
|
export type PrimitiveTypes = NumericType | boolean | string;
|
|
4
|
-
export type NonSerializable = null | Map<
|
|
4
|
+
export type NonSerializable = null | Map<unknown, unknown> | Set<unknown> | RegExp | Int8Array | Promise<unknown>;
|
|
5
5
|
export type CreSerializableNested<T> = T extends PrimitiveTypes ? T : T extends Function ? T : T extends NonSerializable ? never : T extends any[] ? CreSerializableNested<T[number]>[] : T extends object ? {
|
|
6
6
|
[K in keyof T]: CreSerializableNested<T[K]>;
|
|
7
7
|
} : never;
|
|
@@ -3,7 +3,6 @@ export declare const hostBindings: {
|
|
|
3
3
|
switchModes: (args_0: Mode, ...args: unknown[]) => void;
|
|
4
4
|
log: (args_0: string, ...args: unknown[]) => void;
|
|
5
5
|
sendResponse: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, ...args: unknown[]) => number;
|
|
6
|
-
randomSeed: (args_0: Mode.DON | Mode.NODE, ...args: unknown[]) => number;
|
|
7
6
|
versionV2: (...args: unknown[]) => void;
|
|
8
7
|
callCapability: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, ...args: unknown[]) => number;
|
|
9
8
|
awaitCapabilities: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, args_1: number, ...args: unknown[]) => Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>;
|
|
@@ -8,10 +8,6 @@ const globalHostBindingsSchema = z.object({
|
|
|
8
8
|
.function()
|
|
9
9
|
.args(z.union([z.instanceof(Uint8Array), z.custom()]))
|
|
10
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
11
|
versionV2: z.function().args().returns(z.void()),
|
|
16
12
|
callCapability: z
|
|
17
13
|
.function()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Runner } from './runner';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Runner } from './runner';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ExecuteRequest, type ExecutionResult } from '../../generated/sdk/v1alpha/sdk_pb';
|
|
2
|
+
import { type ConfigHandlerParams } from '../utils/config';
|
|
3
|
+
import type { SecretsProvider, Workflow } from '../workflow';
|
|
4
|
+
import { Runtime } from './runtime';
|
|
5
|
+
export declare class Runner<TConfig> {
|
|
6
|
+
private readonly config;
|
|
7
|
+
private readonly request;
|
|
8
|
+
private constructor();
|
|
9
|
+
static newRunner<TConfig, TIntermediateConfig = TConfig>(configHandlerParams?: ConfigHandlerParams<TConfig, TIntermediateConfig>): Promise<Runner<TConfig>>;
|
|
10
|
+
private static getRequest;
|
|
11
|
+
run(initFn: (config: TConfig, secretsProvider: SecretsProvider) => Promise<Workflow<TConfig>> | Workflow<TConfig>): Promise<void>;
|
|
12
|
+
handleExecutionPhase<TConfig>(req: ExecuteRequest, workflow: Workflow<TConfig>, runtime: Runtime<TConfig>): Promise<ExecutionResult>;
|
|
13
|
+
handleSubscribePhase(req: ExecuteRequest, workflow: Workflow<TConfig>): ExecutionResult;
|
|
14
|
+
}
|