crypto-aio 0.0.3 → 0.2.0
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/CHANGELOG.md +167 -0
- package/README.md +163 -13
- package/dist/adapters/avalanche/address.d.ts +15 -0
- package/dist/adapters/avalanche/address.js +74 -0
- package/dist/adapters/avalanche/address.js.map +1 -0
- package/dist/adapters/avalanche/api.d.ts +100 -0
- package/dist/adapters/avalanche/api.js +381 -0
- package/dist/adapters/avalanche/api.js.map +1 -0
- package/dist/adapters/avalanche/builder.d.ts +13 -0
- package/dist/adapters/avalanche/builder.js +336 -0
- package/dist/adapters/avalanche/builder.js.map +1 -0
- package/dist/adapters/avalanche/cb58.d.ts +7 -0
- package/dist/adapters/avalanche/cb58.js +49 -0
- package/dist/adapters/avalanche/cb58.js.map +1 -0
- package/dist/adapters/avalanche/chains.d.ts +21 -0
- package/dist/adapters/avalanche/chains.js +79 -0
- package/dist/adapters/avalanche/chains.js.map +1 -0
- package/dist/adapters/avalanche/codec.d.ts +94 -0
- package/dist/adapters/avalanche/codec.js +371 -0
- package/dist/adapters/avalanche/codec.js.map +1 -0
- package/dist/adapters/avalanche/context.d.ts +59 -0
- package/dist/adapters/avalanche/context.js +114 -0
- package/dist/adapters/avalanche/context.js.map +1 -0
- package/dist/adapters/avalanche/decode.d.ts +16 -0
- package/dist/adapters/avalanche/decode.js +101 -0
- package/dist/adapters/avalanche/decode.js.map +1 -0
- package/dist/adapters/avalanche/driver.d.ts +22 -0
- package/dist/adapters/avalanche/driver.js +81 -0
- package/dist/adapters/avalanche/driver.js.map +1 -0
- package/dist/adapters/avalanche/errors.d.ts +18 -0
- package/dist/adapters/avalanche/errors.js +61 -0
- package/dist/adapters/avalanche/errors.js.map +1 -0
- package/dist/adapters/avalanche/fees.d.ts +23 -0
- package/dist/adapters/avalanche/fees.js +105 -0
- package/dist/adapters/avalanche/fees.js.map +1 -0
- package/dist/adapters/avalanche/index.d.ts +19 -0
- package/dist/adapters/avalanche/index.js +8 -0
- package/dist/adapters/avalanche/index.js.map +1 -0
- package/dist/adapters/avalanche/network.d.ts +37 -0
- package/dist/adapters/avalanche/network.js +135 -0
- package/dist/adapters/avalanche/network.js.map +1 -0
- package/dist/adapters/avalanche/plugin.d.ts +21 -0
- package/dist/adapters/avalanche/plugin.js +46 -0
- package/dist/adapters/avalanche/plugin.js.map +1 -0
- package/dist/adapters/avalanche/presets.d.ts +6 -0
- package/dist/adapters/avalanche/presets.js +86 -0
- package/dist/adapters/avalanche/presets.js.map +1 -0
- package/dist/adapters/avalanche/proofs.d.ts +41 -0
- package/dist/adapters/avalanche/proofs.js +270 -0
- package/dist/adapters/avalanche/proofs.js.map +1 -0
- package/dist/adapters/avalanche/reader.d.ts +40 -0
- package/dist/adapters/avalanche/reader.js +231 -0
- package/dist/adapters/avalanche/reader.js.map +1 -0
- package/dist/adapters/avalanche/sdk.d.ts +182 -0
- package/dist/adapters/avalanche/sdk.js +21 -0
- package/dist/adapters/avalanche/sdk.js.map +1 -0
- package/dist/adapters/avalanche/types.d.ts +86 -0
- package/dist/{type/common.js → adapters/avalanche/types.js} +1 -1
- package/dist/adapters/avalanche/types.js.map +1 -0
- package/dist/adapters/evm/builder.d.ts +11 -0
- package/dist/adapters/evm/builder.js +386 -0
- package/dist/adapters/evm/builder.js.map +1 -0
- package/dist/adapters/evm/chains.d.ts +6 -0
- package/dist/adapters/evm/chains.js +203 -0
- package/dist/adapters/evm/chains.js.map +1 -0
- package/dist/adapters/evm/client.d.ts +84 -0
- package/dist/adapters/evm/client.js +335 -0
- package/dist/adapters/evm/client.js.map +1 -0
- package/dist/adapters/evm/decode.d.ts +35 -0
- package/dist/adapters/evm/decode.js +175 -0
- package/dist/adapters/evm/decode.js.map +1 -0
- package/dist/adapters/evm/driver.d.ts +8 -0
- package/dist/adapters/evm/driver.js +61 -0
- package/dist/adapters/evm/driver.js.map +1 -0
- package/dist/adapters/evm/errors.d.ts +20 -0
- package/dist/adapters/evm/errors.js +110 -0
- package/dist/adapters/evm/errors.js.map +1 -0
- package/dist/adapters/evm/ethers-client.d.ts +43 -0
- package/dist/adapters/evm/ethers-client.js +139 -0
- package/dist/adapters/evm/ethers-client.js.map +1 -0
- package/dist/adapters/evm/fees.d.ts +103 -0
- package/dist/adapters/evm/fees.js +277 -0
- package/dist/adapters/evm/fees.js.map +1 -0
- package/dist/adapters/evm/index.d.ts +20 -0
- package/dist/adapters/evm/index.js +12 -0
- package/dist/adapters/evm/index.js.map +1 -0
- package/dist/adapters/evm/network.d.ts +65 -0
- package/dist/adapters/evm/network.js +150 -0
- package/dist/adapters/evm/network.js.map +1 -0
- package/dist/adapters/evm/plugin.d.ts +35 -0
- package/dist/adapters/evm/plugin.js +150 -0
- package/dist/adapters/evm/plugin.js.map +1 -0
- package/dist/adapters/evm/presets.d.ts +2 -0
- package/dist/adapters/evm/presets.js +105 -0
- package/dist/adapters/evm/presets.js.map +1 -0
- package/dist/adapters/evm/proofs.d.ts +19 -0
- package/dist/adapters/evm/proofs.js +370 -0
- package/dist/adapters/evm/proofs.js.map +1 -0
- package/dist/adapters/evm/rawtx.d.ts +25 -0
- package/dist/adapters/evm/rawtx.js +176 -0
- package/dist/adapters/evm/rawtx.js.map +1 -0
- package/dist/adapters/evm/reader.d.ts +83 -0
- package/dist/adapters/evm/reader.js +326 -0
- package/dist/adapters/evm/reader.js.map +1 -0
- package/dist/adapters/evm/rpc.d.ts +39 -0
- package/dist/adapters/evm/rpc.js +152 -0
- package/dist/adapters/evm/rpc.js.map +1 -0
- package/dist/adapters/evm/tokens.d.ts +10 -0
- package/dist/adapters/evm/tokens.js +23 -0
- package/dist/adapters/evm/tokens.js.map +1 -0
- package/dist/adapters/evm/types.d.ts +265 -0
- package/dist/{type/account.js → adapters/evm/types.js} +1 -1
- package/dist/adapters/evm/types.js.map +1 -0
- package/dist/adapters/evm/web3-client.d.ts +26 -0
- package/dist/adapters/evm/web3-client.js +176 -0
- package/dist/adapters/evm/web3-client.js.map +1 -0
- package/dist/adapters/solana/builder.d.ts +18 -0
- package/dist/adapters/solana/builder.js +556 -0
- package/dist/adapters/solana/builder.js.map +1 -0
- package/dist/adapters/solana/chains.d.ts +13 -0
- package/dist/adapters/solana/chains.js +37 -0
- package/dist/adapters/solana/chains.js.map +1 -0
- package/dist/adapters/solana/decode.d.ts +111 -0
- package/dist/adapters/solana/decode.js +595 -0
- package/dist/adapters/solana/decode.js.map +1 -0
- package/dist/adapters/solana/driver.d.ts +15 -0
- package/dist/adapters/solana/driver.js +72 -0
- package/dist/adapters/solana/driver.js.map +1 -0
- package/dist/adapters/solana/errors.d.ts +36 -0
- package/dist/adapters/solana/errors.js +154 -0
- package/dist/adapters/solana/errors.js.map +1 -0
- package/dist/adapters/solana/fees.d.ts +77 -0
- package/dist/adapters/solana/fees.js +214 -0
- package/dist/adapters/solana/fees.js.map +1 -0
- package/dist/adapters/solana/heights.d.ts +47 -0
- package/dist/adapters/solana/heights.js +185 -0
- package/dist/adapters/solana/heights.js.map +1 -0
- package/dist/adapters/solana/history.d.ts +10 -0
- package/dist/adapters/solana/history.js +71 -0
- package/dist/adapters/solana/history.js.map +1 -0
- package/dist/adapters/solana/index.d.ts +16 -0
- package/dist/adapters/solana/index.js +9 -0
- package/dist/adapters/solana/index.js.map +1 -0
- package/dist/adapters/solana/keys.d.ts +13 -0
- package/dist/adapters/solana/keys.js +69 -0
- package/dist/adapters/solana/keys.js.map +1 -0
- package/dist/adapters/solana/message.d.ts +15 -0
- package/dist/adapters/solana/message.js +120 -0
- package/dist/adapters/solana/message.js.map +1 -0
- package/dist/adapters/solana/network.d.ts +24 -0
- package/dist/adapters/solana/network.js +95 -0
- package/dist/adapters/solana/network.js.map +1 -0
- package/dist/adapters/solana/plugin.d.ts +18 -0
- package/dist/adapters/solana/plugin.js +44 -0
- package/dist/adapters/solana/plugin.js.map +1 -0
- package/dist/adapters/solana/presets.d.ts +2 -0
- package/dist/adapters/solana/presets.js +77 -0
- package/dist/adapters/solana/presets.js.map +1 -0
- package/dist/adapters/solana/programs.d.ts +44 -0
- package/dist/adapters/solana/programs.js +159 -0
- package/dist/adapters/solana/programs.js.map +1 -0
- package/dist/adapters/solana/proofs.d.ts +56 -0
- package/dist/adapters/solana/proofs.js +540 -0
- package/dist/adapters/solana/proofs.js.map +1 -0
- package/dist/adapters/solana/reader.d.ts +82 -0
- package/dist/adapters/solana/reader.js +326 -0
- package/dist/adapters/solana/reader.js.map +1 -0
- package/dist/adapters/solana/rpc.d.ts +102 -0
- package/dist/adapters/solana/rpc.js +301 -0
- package/dist/adapters/solana/rpc.js.map +1 -0
- package/dist/adapters/solana/tokens.d.ts +7 -0
- package/dist/adapters/solana/tokens.js +19 -0
- package/dist/adapters/solana/tokens.js.map +1 -0
- package/dist/adapters/solana/types.d.ts +124 -0
- package/dist/{type/contract.js → adapters/solana/types.js} +1 -1
- package/dist/adapters/solana/types.js.map +1 -0
- package/dist/adapters/solana/web3.d.ts +5 -0
- package/dist/adapters/solana/web3.js +61 -0
- package/dist/adapters/solana/web3.js.map +1 -0
- package/dist/adapters/solana/wire.d.ts +62 -0
- package/dist/adapters/solana/wire.js +168 -0
- package/dist/adapters/solana/wire.js.map +1 -0
- package/dist/adapters/ton/address.d.ts +43 -0
- package/dist/adapters/ton/address.js +168 -0
- package/dist/adapters/ton/address.js.map +1 -0
- package/dist/adapters/ton/api.d.ts +344 -0
- package/dist/adapters/ton/api.js +942 -0
- package/dist/adapters/ton/api.js.map +1 -0
- package/dist/adapters/ton/builder.d.ts +18 -0
- package/dist/adapters/ton/builder.js +701 -0
- package/dist/adapters/ton/builder.js.map +1 -0
- package/dist/adapters/ton/chains.d.ts +16 -0
- package/dist/adapters/ton/chains.js +39 -0
- package/dist/adapters/ton/chains.js.map +1 -0
- package/dist/adapters/ton/decode.d.ts +43 -0
- package/dist/adapters/ton/decode.js +219 -0
- package/dist/adapters/ton/decode.js.map +1 -0
- package/dist/adapters/ton/driver.d.ts +10 -0
- package/dist/adapters/ton/driver.js +117 -0
- package/dist/adapters/ton/driver.js.map +1 -0
- package/dist/adapters/ton/errors.d.ts +36 -0
- package/dist/adapters/ton/errors.js +89 -0
- package/dist/adapters/ton/errors.js.map +1 -0
- package/dist/adapters/ton/fees.d.ts +28 -0
- package/dist/adapters/ton/fees.js +121 -0
- package/dist/adapters/ton/fees.js.map +1 -0
- package/dist/adapters/ton/index.d.ts +16 -0
- package/dist/adapters/ton/index.js +9 -0
- package/dist/adapters/ton/index.js.map +1 -0
- package/dist/adapters/ton/messages.d.ts +157 -0
- package/dist/adapters/ton/messages.js +397 -0
- package/dist/adapters/ton/messages.js.map +1 -0
- package/dist/adapters/ton/native-client.d.ts +10 -0
- package/dist/adapters/ton/native-client.js +47 -0
- package/dist/adapters/ton/native-client.js.map +1 -0
- package/dist/adapters/ton/network.d.ts +58 -0
- package/dist/adapters/ton/network.js +207 -0
- package/dist/adapters/ton/network.js.map +1 -0
- package/dist/adapters/ton/plugin.d.ts +24 -0
- package/dist/adapters/ton/plugin.js +57 -0
- package/dist/adapters/ton/plugin.js.map +1 -0
- package/dist/adapters/ton/presets.d.ts +6 -0
- package/dist/adapters/ton/presets.js +94 -0
- package/dist/adapters/ton/presets.js.map +1 -0
- package/dist/adapters/ton/proofs.d.ts +66 -0
- package/dist/adapters/ton/proofs.js +755 -0
- package/dist/adapters/ton/proofs.js.map +1 -0
- package/dist/adapters/ton/reader.d.ts +235 -0
- package/dist/adapters/ton/reader.js +976 -0
- package/dist/adapters/ton/reader.js.map +1 -0
- package/dist/adapters/ton/tokens.d.ts +10 -0
- package/dist/adapters/ton/tokens.js +27 -0
- package/dist/adapters/ton/tokens.js.map +1 -0
- package/dist/adapters/ton/trace.d.ts +74 -0
- package/dist/adapters/ton/trace.js +303 -0
- package/dist/adapters/ton/trace.js.map +1 -0
- package/dist/adapters/ton/types.d.ts +105 -0
- package/dist/{type/transact.js → adapters/ton/types.js} +1 -1
- package/dist/adapters/ton/types.js.map +1 -0
- package/dist/adapters/ton/wallets.d.ts +86 -0
- package/dist/adapters/ton/wallets.js +373 -0
- package/dist/adapters/ton/wallets.js.map +1 -0
- package/dist/adapters/tron/abi.d.ts +41 -0
- package/dist/adapters/tron/abi.js +112 -0
- package/dist/adapters/tron/abi.js.map +1 -0
- package/dist/adapters/tron/address.d.ts +20 -0
- package/dist/adapters/tron/address.js +110 -0
- package/dist/adapters/tron/address.js.map +1 -0
- package/dist/adapters/tron/builder.d.ts +12 -0
- package/dist/adapters/tron/builder.js +569 -0
- package/dist/adapters/tron/builder.js.map +1 -0
- package/dist/adapters/tron/chains.d.ts +12 -0
- package/dist/adapters/tron/chains.js +35 -0
- package/dist/adapters/tron/chains.js.map +1 -0
- package/dist/adapters/tron/codec.d.ts +10 -0
- package/dist/adapters/tron/codec.js +322 -0
- package/dist/adapters/tron/codec.js.map +1 -0
- package/dist/adapters/tron/decode.d.ts +52 -0
- package/dist/adapters/tron/decode.js +280 -0
- package/dist/adapters/tron/decode.js.map +1 -0
- package/dist/adapters/tron/driver.d.ts +12 -0
- package/dist/adapters/tron/driver.js +106 -0
- package/dist/adapters/tron/driver.js.map +1 -0
- package/dist/adapters/tron/errors.d.ts +74 -0
- package/dist/adapters/tron/errors.js +261 -0
- package/dist/adapters/tron/errors.js.map +1 -0
- package/dist/adapters/tron/fees.d.ts +49 -0
- package/dist/adapters/tron/fees.js +166 -0
- package/dist/adapters/tron/fees.js.map +1 -0
- package/dist/adapters/tron/http.d.ts +173 -0
- package/dist/adapters/tron/http.js +729 -0
- package/dist/adapters/tron/http.js.map +1 -0
- package/dist/adapters/tron/index.d.ts +16 -0
- package/dist/adapters/tron/index.js +15 -0
- package/dist/adapters/tron/index.js.map +1 -0
- package/dist/adapters/tron/network.d.ts +44 -0
- package/dist/adapters/tron/network.js +163 -0
- package/dist/adapters/tron/network.js.map +1 -0
- package/dist/adapters/tron/plugin.d.ts +17 -0
- package/dist/adapters/tron/plugin.js +39 -0
- package/dist/adapters/tron/plugin.js.map +1 -0
- package/dist/adapters/tron/presets.d.ts +5 -0
- package/dist/adapters/tron/presets.js +68 -0
- package/dist/adapters/tron/presets.js.map +1 -0
- package/dist/adapters/tron/proofs.d.ts +80 -0
- package/dist/adapters/tron/proofs.js +371 -0
- package/dist/adapters/tron/proofs.js.map +1 -0
- package/dist/adapters/tron/protobuf.d.ts +36 -0
- package/dist/adapters/tron/protobuf.js +90 -0
- package/dist/adapters/tron/protobuf.js.map +1 -0
- package/dist/adapters/tron/reader.d.ts +57 -0
- package/dist/adapters/tron/reader.js +220 -0
- package/dist/adapters/tron/reader.js.map +1 -0
- package/dist/adapters/tron/tokens.d.ts +9 -0
- package/dist/adapters/tron/tokens.js +14 -0
- package/dist/adapters/tron/tokens.js.map +1 -0
- package/dist/adapters/tron/types.d.ts +166 -0
- package/dist/adapters/tron/types.js +3 -0
- package/dist/adapters/tron/types.js.map +1 -0
- package/dist/adapters/utxo/address.d.ts +51 -0
- package/dist/adapters/utxo/address.js +341 -0
- package/dist/adapters/utxo/address.js.map +1 -0
- package/dist/adapters/utxo/builder.d.ts +35 -0
- package/dist/adapters/utxo/builder.js +380 -0
- package/dist/adapters/utxo/builder.js.map +1 -0
- package/dist/adapters/utxo/chains.d.ts +17 -0
- package/dist/adapters/utxo/chains.js +100 -0
- package/dist/adapters/utxo/chains.js.map +1 -0
- package/dist/adapters/utxo/codec.d.ts +120 -0
- package/dist/adapters/utxo/codec.js +408 -0
- package/dist/adapters/utxo/codec.js.map +1 -0
- package/dist/adapters/utxo/coinselect.d.ts +48 -0
- package/dist/adapters/utxo/coinselect.js +131 -0
- package/dist/adapters/utxo/coinselect.js.map +1 -0
- package/dist/adapters/utxo/context.d.ts +63 -0
- package/dist/adapters/utxo/context.js +125 -0
- package/dist/adapters/utxo/context.js.map +1 -0
- package/dist/adapters/utxo/decode.d.ts +22 -0
- package/dist/adapters/utxo/decode.js +121 -0
- package/dist/adapters/utxo/decode.js.map +1 -0
- package/dist/adapters/utxo/driver.d.ts +16 -0
- package/dist/adapters/utxo/driver.js +79 -0
- package/dist/adapters/utxo/driver.js.map +1 -0
- package/dist/adapters/utxo/ecc.d.ts +9 -0
- package/dist/adapters/utxo/ecc.js +26 -0
- package/dist/adapters/utxo/ecc.js.map +1 -0
- package/dist/adapters/utxo/errors.d.ts +52 -0
- package/dist/adapters/utxo/errors.js +191 -0
- package/dist/adapters/utxo/errors.js.map +1 -0
- package/dist/adapters/utxo/esplora.d.ts +100 -0
- package/dist/adapters/utxo/esplora.js +498 -0
- package/dist/adapters/utxo/esplora.js.map +1 -0
- package/dist/adapters/utxo/fees.d.ts +41 -0
- package/dist/adapters/utxo/fees.js +125 -0
- package/dist/adapters/utxo/fees.js.map +1 -0
- package/dist/adapters/utxo/index.d.ts +17 -0
- package/dist/adapters/utxo/index.js +8 -0
- package/dist/adapters/utxo/index.js.map +1 -0
- package/dist/adapters/utxo/network.d.ts +50 -0
- package/dist/adapters/utxo/network.js +165 -0
- package/dist/adapters/utxo/network.js.map +1 -0
- package/dist/adapters/utxo/plugin.d.ts +17 -0
- package/dist/adapters/utxo/plugin.js +41 -0
- package/dist/adapters/utxo/plugin.js.map +1 -0
- package/dist/adapters/utxo/presets.d.ts +12 -0
- package/dist/adapters/utxo/presets.js +47 -0
- package/dist/adapters/utxo/presets.js.map +1 -0
- package/dist/adapters/utxo/preview.d.ts +3 -0
- package/dist/adapters/utxo/preview.js +65 -0
- package/dist/adapters/utxo/preview.js.map +1 -0
- package/dist/adapters/utxo/proofs.d.ts +66 -0
- package/dist/adapters/utxo/proofs.js +469 -0
- package/dist/adapters/utxo/proofs.js.map +1 -0
- package/dist/adapters/utxo/rawblock.d.ts +46 -0
- package/dist/adapters/utxo/rawblock.js +159 -0
- package/dist/adapters/utxo/rawblock.js.map +1 -0
- package/dist/adapters/utxo/rawtx.d.ts +73 -0
- package/dist/adapters/utxo/rawtx.js +264 -0
- package/dist/adapters/utxo/rawtx.js.map +1 -0
- package/dist/adapters/utxo/reader.d.ts +36 -0
- package/dist/adapters/utxo/reader.js +265 -0
- package/dist/adapters/utxo/reader.js.map +1 -0
- package/dist/adapters/utxo/sdk.d.ts +18 -0
- package/dist/adapters/utxo/sdk.js +17 -0
- package/dist/adapters/utxo/sdk.js.map +1 -0
- package/dist/adapters/utxo/signed-psbt.d.ts +36 -0
- package/dist/adapters/utxo/signed-psbt.js +428 -0
- package/dist/adapters/utxo/signed-psbt.js.map +1 -0
- package/dist/adapters/utxo/spend.d.ts +59 -0
- package/dist/adapters/utxo/spend.js +230 -0
- package/dist/adapters/utxo/spend.js.map +1 -0
- package/dist/adapters/utxo/types.d.ts +167 -0
- package/dist/adapters/utxo/types.js +3 -0
- package/dist/adapters/utxo/types.js.map +1 -0
- package/dist/core/assets/service.d.ts +18 -0
- package/dist/core/assets/service.js +69 -0
- package/dist/core/assets/service.js.map +1 -0
- package/dist/core/blockchain/default-ref.d.ts +4 -0
- package/dist/core/blockchain/default-ref.js +16 -0
- package/dist/core/blockchain/default-ref.js.map +1 -0
- package/dist/core/blockchain/handle.d.ts +179 -0
- package/dist/core/blockchain/handle.js +579 -0
- package/dist/core/blockchain/handle.js.map +1 -0
- package/dist/core/blockchain/internal.d.ts +19 -0
- package/dist/core/blockchain/internal.js +16 -0
- package/dist/core/blockchain/internal.js.map +1 -0
- package/dist/core/blockchain/mapping.d.ts +22 -0
- package/dist/core/blockchain/mapping.js +136 -0
- package/dist/core/blockchain/mapping.js.map +1 -0
- package/dist/core/config/env.d.ts +8 -0
- package/dist/core/config/env.js +60 -0
- package/dist/core/config/env.js.map +1 -0
- package/dist/core/config/merge.d.ts +26 -0
- package/dist/core/config/merge.js +144 -0
- package/dist/core/config/merge.js.map +1 -0
- package/dist/core/config/resolve.d.ts +12 -0
- package/dist/core/config/resolve.js +251 -0
- package/dist/core/config/resolve.js.map +1 -0
- package/dist/core/config/types.d.ts +180 -0
- package/dist/core/config/types.js +3 -0
- package/dist/core/config/types.js.map +1 -0
- package/dist/core/container/builtins.d.ts +4 -0
- package/dist/core/container/builtins.js +13 -0
- package/dist/core/container/builtins.js.map +1 -0
- package/dist/core/container/container.d.ts +62 -0
- package/dist/core/container/container.js +500 -0
- package/dist/core/container/container.js.map +1 -0
- package/dist/core/container/default.d.ts +15 -0
- package/dist/core/container/default.js +70 -0
- package/dist/core/container/default.js.map +1 -0
- package/dist/core/container/internals.d.ts +54 -0
- package/dist/core/container/internals.js +21 -0
- package/dist/core/container/internals.js.map +1 -0
- package/dist/core/container/pool.d.ts +27 -0
- package/dist/core/container/pool.js +77 -0
- package/dist/core/container/pool.js.map +1 -0
- package/dist/core/driver/types.d.ts +379 -0
- package/dist/core/driver/types.js +3 -0
- package/dist/core/driver/types.js.map +1 -0
- package/dist/core/errors/codes.d.ts +163 -0
- package/dist/core/errors/codes.js +53 -0
- package/dist/core/errors/codes.js.map +1 -0
- package/dist/core/errors/error.d.ts +66 -0
- package/dist/core/errors/error.js +129 -0
- package/dist/core/errors/error.js.map +1 -0
- package/dist/core/events/bus.d.ts +12 -0
- package/dist/core/events/bus.js +46 -0
- package/dist/core/events/bus.js.map +1 -0
- package/dist/core/events/logger.d.ts +13 -0
- package/dist/core/events/logger.js +42 -0
- package/dist/core/events/logger.js.map +1 -0
- package/dist/core/events/types.d.ts +131 -0
- package/dist/core/events/types.js +3 -0
- package/dist/core/events/types.js.map +1 -0
- package/dist/core/lifecycle/engine-rules.d.ts +106 -0
- package/dist/core/lifecycle/engine-rules.js +267 -0
- package/dist/core/lifecycle/engine-rules.js.map +1 -0
- package/dist/core/lifecycle/engine.d.ts +502 -0
- package/dist/core/lifecycle/engine.js +1750 -0
- package/dist/core/lifecycle/engine.js.map +1 -0
- package/dist/core/lifecycle/evaluate.d.ts +19 -0
- package/dist/core/lifecycle/evaluate.js +77 -0
- package/dist/core/lifecycle/evaluate.js.map +1 -0
- package/dist/core/lifecycle/intent.d.ts +11 -0
- package/dist/core/lifecycle/intent.js +88 -0
- package/dist/core/lifecycle/intent.js.map +1 -0
- package/dist/core/lifecycle/monitor.d.ts +138 -0
- package/dist/core/lifecycle/monitor.js +616 -0
- package/dist/core/lifecycle/monitor.js.map +1 -0
- package/dist/core/lifecycle/observations.d.ts +17 -0
- package/dist/core/lifecycle/observations.js +59 -0
- package/dist/core/lifecycle/observations.js.map +1 -0
- package/dist/core/lifecycle/reconcile.d.ts +58 -0
- package/dist/core/lifecycle/reconcile.js +112 -0
- package/dist/core/lifecycle/reconcile.js.map +1 -0
- package/dist/core/lifecycle/views.d.ts +49 -0
- package/dist/core/lifecycle/views.js +57 -0
- package/dist/core/lifecycle/views.js.map +1 -0
- package/dist/core/lifecycle/workers.d.ts +88 -0
- package/dist/core/lifecycle/workers.js +347 -0
- package/dist/core/lifecycle/workers.js.map +1 -0
- package/dist/core/model/address.d.ts +32 -0
- package/dist/core/model/address.js +43 -0
- package/dist/core/model/address.js.map +1 -0
- package/dist/core/model/amount.d.ts +25 -0
- package/dist/core/model/amount.js +102 -0
- package/dist/core/model/amount.js.map +1 -0
- package/dist/core/model/asset.d.ts +28 -0
- package/dist/core/model/asset.js +47 -0
- package/dist/core/model/asset.js.map +1 -0
- package/dist/core/model/capability.d.ts +3 -0
- package/dist/core/model/capability.js +18 -0
- package/dist/core/model/capability.js.map +1 -0
- package/dist/core/model/chain.d.ts +63 -0
- package/dist/core/model/chain.js +8 -0
- package/dist/core/model/chain.js.map +1 -0
- package/dist/core/model/fee.d.ts +36 -0
- package/dist/core/model/fee.js +17 -0
- package/dist/core/model/fee.js.map +1 -0
- package/dist/core/model/ids.d.ts +38 -0
- package/dist/core/model/ids.js +14 -0
- package/dist/core/model/ids.js.map +1 -0
- package/dist/core/model/intent.d.ts +63 -0
- package/dist/core/model/intent.js +81 -0
- package/dist/core/model/intent.js.map +1 -0
- package/dist/core/model/ordering.d.ts +28 -0
- package/dist/core/model/ordering.js +29 -0
- package/dist/core/model/ordering.js.map +1 -0
- package/dist/core/model/transaction.d.ts +123 -0
- package/dist/{type/lib-types.js → core/model/transaction.js} +1 -1
- package/dist/core/model/transaction.js.map +1 -0
- package/dist/core/observe/scanner.d.ts +135 -0
- package/dist/core/observe/scanner.js +358 -0
- package/dist/core/observe/scanner.js.map +1 -0
- package/dist/core/ordering/reservations.d.ts +16 -0
- package/dist/core/ordering/reservations.js +53 -0
- package/dist/core/ordering/reservations.js.map +1 -0
- package/dist/core/ordering/sequence.d.ts +61 -0
- package/dist/core/ordering/sequence.js +155 -0
- package/dist/core/ordering/sequence.js.map +1 -0
- package/dist/core/registry/adapters.d.ts +10 -0
- package/dist/core/registry/adapters.js +56 -0
- package/dist/core/registry/adapters.js.map +1 -0
- package/dist/core/registry/assets.d.ts +18 -0
- package/dist/core/registry/assets.js +90 -0
- package/dist/core/registry/assets.js.map +1 -0
- package/dist/core/registry/chains.d.ts +10 -0
- package/dist/core/registry/chains.js +80 -0
- package/dist/core/registry/chains.js.map +1 -0
- package/dist/core/registry/plugin.d.ts +41 -0
- package/dist/core/registry/plugin.js +109 -0
- package/dist/core/registry/plugin.js.map +1 -0
- package/dist/core/registry/providers.d.ts +31 -0
- package/dist/core/registry/providers.js +43 -0
- package/dist/core/registry/providers.js.map +1 -0
- package/dist/core/registry/schemes.d.ts +30 -0
- package/dist/core/registry/schemes.js +84 -0
- package/dist/core/registry/schemes.js.map +1 -0
- package/dist/core/secret/fragments.d.ts +33 -0
- package/dist/core/secret/fragments.js +110 -0
- package/dist/core/secret/fragments.js.map +1 -0
- package/dist/core/secret/redact.d.ts +10 -0
- package/dist/core/secret/redact.js +110 -0
- package/dist/core/secret/redact.js.map +1 -0
- package/dist/core/secret/secret.d.ts +14 -0
- package/dist/core/secret/secret.js +42 -0
- package/dist/core/secret/secret.js.map +1 -0
- package/dist/core/signing/callback.d.ts +10 -0
- package/dist/core/signing/callback.js +22 -0
- package/dist/core/signing/callback.js.map +1 -0
- package/dist/core/signing/guard.d.ts +18 -0
- package/dist/core/signing/guard.js +72 -0
- package/dist/core/signing/guard.js.map +1 -0
- package/dist/core/signing/hd.d.ts +36 -0
- package/dist/core/signing/hd.js +167 -0
- package/dist/core/signing/hd.js.map +1 -0
- package/dist/core/signing/local.d.ts +48 -0
- package/dist/core/signing/local.js +190 -0
- package/dist/core/signing/local.js.map +1 -0
- package/dist/core/signing/orchestrator.d.ts +40 -0
- package/dist/core/signing/orchestrator.js +300 -0
- package/dist/core/signing/orchestrator.js.map +1 -0
- package/dist/core/signing/types.d.ts +64 -0
- package/dist/core/signing/types.js +3 -0
- package/dist/core/signing/types.js.map +1 -0
- package/dist/core/signing/wallet.d.ts +48 -0
- package/dist/core/signing/wallet.js +161 -0
- package/dist/core/signing/wallet.js.map +1 -0
- package/dist/core/store/clone.d.ts +25 -0
- package/dist/core/store/clone.js +71 -0
- package/dist/core/store/clone.js.map +1 -0
- package/dist/core/store/format.d.ts +20 -0
- package/dist/core/store/format.js +86 -0
- package/dist/core/store/format.js.map +1 -0
- package/dist/core/store/memory.d.ts +38 -0
- package/dist/core/store/memory.js +325 -0
- package/dist/core/store/memory.js.map +1 -0
- package/dist/core/store/types.d.ts +258 -0
- package/dist/core/store/types.js +119 -0
- package/dist/core/store/types.js.map +1 -0
- package/dist/core/transport/backoff.d.ts +8 -0
- package/dist/core/transport/backoff.js +27 -0
- package/dist/core/transport/backoff.js.map +1 -0
- package/dist/core/transport/circuit.d.ts +25 -0
- package/dist/core/transport/circuit.js +61 -0
- package/dist/core/transport/circuit.js.map +1 -0
- package/dist/core/transport/http-transport.d.ts +30 -0
- package/dist/core/transport/http-transport.js +1703 -0
- package/dist/core/transport/http-transport.js.map +1 -0
- package/dist/core/transport/rate-limit.d.ts +27 -0
- package/dist/core/transport/rate-limit.js +78 -0
- package/dist/core/transport/rate-limit.js.map +1 -0
- package/dist/core/transport/stale-view.d.ts +11 -0
- package/dist/core/transport/stale-view.js +17 -0
- package/dist/core/transport/stale-view.js.map +1 -0
- package/dist/core/transport/types.d.ts +159 -0
- package/dist/core/transport/types.js +6 -0
- package/dist/core/transport/types.js.map +1 -0
- package/dist/core/util/bytes.d.ts +9 -0
- package/dist/core/util/bytes.js +40 -0
- package/dist/core/util/bytes.js.map +1 -0
- package/dist/core/util/clock.d.ts +6 -0
- package/dist/core/util/clock.js +26 -0
- package/dist/core/util/clock.js.map +1 -0
- package/dist/core/util/freeze.d.ts +8 -0
- package/dist/core/util/freeze.js +31 -0
- package/dist/core/util/freeze.js.map +1 -0
- package/dist/core/util/json.d.ts +35 -0
- package/dist/core/util/json.js +174 -0
- package/dist/core/util/json.js.map +1 -0
- package/dist/core/util/names.d.ts +27 -0
- package/dist/core/util/names.js +56 -0
- package/dist/core/util/names.js.map +1 -0
- package/dist/index.d.ts +65 -14
- package/dist/index.js +107 -49
- package/dist/index.js.map +1 -1
- package/dist/native.d.ts +21 -0
- package/dist/native.js +44 -0
- package/dist/native.js.map +1 -0
- package/dist/testing/contracts/api.d.ts +12 -0
- package/dist/testing/contracts/api.js +58 -0
- package/dist/testing/contracts/api.js.map +1 -0
- package/dist/testing/contracts/cursors.d.ts +6 -0
- package/dist/testing/contracts/cursors.js +43 -0
- package/dist/testing/contracts/cursors.js.map +1 -0
- package/dist/testing/contracts/locks.d.ts +10 -0
- package/dist/testing/contracts/locks.js +63 -0
- package/dist/testing/contracts/locks.js.map +1 -0
- package/dist/testing/contracts/operations.d.ts +21 -0
- package/dist/testing/contracts/operations.js +737 -0
- package/dist/testing/contracts/operations.js.map +1 -0
- package/dist/testing/contracts/sequences.d.ts +6 -0
- package/dist/testing/contracts/sequences.js +68 -0
- package/dist/testing/contracts/sequences.js.map +1 -0
- package/dist/testing/env.d.ts +68 -0
- package/dist/testing/env.js +105 -0
- package/dist/testing/env.js.map +1 -0
- package/dist/testing/fake-chain.d.ts +118 -0
- package/dist/testing/fake-chain.js +536 -0
- package/dist/testing/fake-chain.js.map +1 -0
- package/dist/testing/fake-clock.d.ts +15 -0
- package/dist/testing/fake-clock.js +86 -0
- package/dist/testing/fake-clock.js.map +1 -0
- package/dist/testing/fake-driver.d.ts +15 -0
- package/dist/testing/fake-driver.js +458 -0
- package/dist/testing/fake-driver.js.map +1 -0
- package/dist/testing/fake-fetch.d.ts +32 -0
- package/dist/testing/fake-fetch.js +81 -0
- package/dist/testing/fake-fetch.js.map +1 -0
- package/dist/testing/fake-plugin.d.ts +30 -0
- package/dist/testing/fake-plugin.js +66 -0
- package/dist/testing/fake-plugin.js.map +1 -0
- package/dist/testing/faulty-store.d.ts +38 -0
- package/dist/testing/faulty-store.js +71 -0
- package/dist/testing/faulty-store.js.map +1 -0
- package/dist/testing/generation.d.ts +60 -0
- package/dist/testing/generation.js +252 -0
- package/dist/testing/generation.js.map +1 -0
- package/dist/testing/index.d.ts +28 -0
- package/dist/testing/index.js +51 -0
- package/dist/testing/index.js.map +1 -0
- package/package.json +198 -45
- package/dist/libs/eth/account.d.ts +0 -9
- package/dist/libs/eth/account.js +0 -58
- package/dist/libs/eth/account.js.map +0 -1
- package/dist/libs/eth/contract.d.ts +0 -7
- package/dist/libs/eth/contract.js +0 -42
- package/dist/libs/eth/contract.js.map +0 -1
- package/dist/libs/eth/index.d.ts +0 -24
- package/dist/libs/eth/index.js +0 -72
- package/dist/libs/eth/index.js.map +0 -1
- package/dist/libs/eth/transact.d.ts +0 -7
- package/dist/libs/eth/transact.js +0 -26
- package/dist/libs/eth/transact.js.map +0 -1
- package/dist/libs/index.d.ts +0 -2
- package/dist/libs/index.js +0 -19
- package/dist/libs/index.js.map +0 -1
- package/dist/libs/trx/account.d.ts +0 -9
- package/dist/libs/trx/account.js +0 -55
- package/dist/libs/trx/account.js.map +0 -1
- package/dist/libs/trx/contract.d.ts +0 -7
- package/dist/libs/trx/contract.js +0 -27
- package/dist/libs/trx/contract.js.map +0 -1
- package/dist/libs/trx/index.d.ts +0 -22
- package/dist/libs/trx/index.js +0 -64
- package/dist/libs/trx/index.js.map +0 -1
- package/dist/libs/trx/transact.d.ts +0 -7
- package/dist/libs/trx/transact.js +0 -26
- package/dist/libs/trx/transact.js.map +0 -1
- package/dist/tool/common.d.ts +0 -28
- package/dist/tool/common.js +0 -33
- package/dist/tool/common.js.map +0 -1
- package/dist/tool/eth-tools.d.ts +0 -3
- package/dist/tool/eth-tools.js +0 -33
- package/dist/tool/eth-tools.js.map +0 -1
- package/dist/tool/index.d.ts +0 -5
- package/dist/tool/index.js +0 -22
- package/dist/tool/index.js.map +0 -1
- package/dist/tool/logging.d.ts +0 -3
- package/dist/tool/logging.js +0 -11
- package/dist/tool/logging.js.map +0 -1
- package/dist/tool/options.d.ts +0 -6
- package/dist/tool/options.js +0 -41
- package/dist/tool/options.js.map +0 -1
- package/dist/tool/trx-tools.d.ts +0 -3
- package/dist/tool/trx-tools.js +0 -20
- package/dist/tool/trx-tools.js.map +0 -1
- package/dist/type/account.d.ts +0 -9
- package/dist/type/account.js.map +0 -1
- package/dist/type/common.d.ts +0 -18
- package/dist/type/common.js.map +0 -1
- package/dist/type/contract.d.ts +0 -10
- package/dist/type/contract.js.map +0 -1
- package/dist/type/index.d.ts +0 -5
- package/dist/type/index.js +0 -22
- package/dist/type/index.js.map +0 -1
- package/dist/type/lib-types.d.ts +0 -9
- package/dist/type/lib-types.js.map +0 -1
- package/dist/type/transact.d.ts +0 -7
- package/dist/type/transact.js.map +0 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* How an error names something the caller typed (a chain, network,
|
|
4
|
+
* library, provider, wallet, signer, scheme, asset alias, option key or capability). What a
|
|
5
|
+
* caller typed may be a pasted secret, so an error never repeats it, at any length: it lists
|
|
6
|
+
* the names that would have been accepted instead, which the library or the caller's own
|
|
7
|
+
* configuration defined.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.MAX_LISTED_NAMES = void 0;
|
|
11
|
+
exports.listNames = listNames;
|
|
12
|
+
exports.unknownName = unknownName;
|
|
13
|
+
exports.knownName = knownName;
|
|
14
|
+
exports.storableText = storableText;
|
|
15
|
+
/** At most this many accepted names are listed; the rest are counted. */
|
|
16
|
+
exports.MAX_LISTED_NAMES = 12;
|
|
17
|
+
/** `'a'`, `'a' and 'b'`, `'a', 'b' and 'c'`, or `'a', …, 'l' and 3 more`: sorted, unique. */
|
|
18
|
+
function listNames(names) {
|
|
19
|
+
const sorted = [...new Set(names)].sort();
|
|
20
|
+
const shown = sorted.slice(0, exports.MAX_LISTED_NAMES).map((name) => `'${name}'`);
|
|
21
|
+
const rest = sorted.length - shown.length;
|
|
22
|
+
if (rest > 0)
|
|
23
|
+
return `${shown.join(', ')} and ${rest} more`;
|
|
24
|
+
if (shown.length <= 1)
|
|
25
|
+
return shown.join('');
|
|
26
|
+
return `${shown.slice(0, -1).join(', ')} and ${shown.at(-1)}`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The text of a refusal of an unknown `what`, listing the accepted names and never the
|
|
30
|
+
* caller's: `unknown network; the accepted names are 'mainnet' and 'sepolia'`.
|
|
31
|
+
*/
|
|
32
|
+
function unknownName(what, accepted) {
|
|
33
|
+
const names = [...new Set(accepted)];
|
|
34
|
+
if (names.length === 0)
|
|
35
|
+
return `unknown ${what}; none is configured`;
|
|
36
|
+
if (names.length === 1)
|
|
37
|
+
return `unknown ${what}; the only accepted name is ${listNames(names)}`;
|
|
38
|
+
return `unknown ${what}; the accepted names are ${listNames(names)}`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A value as an error may show it: quoted when it is one of `known` (a fixed word of this
|
|
42
|
+
* library, such as a capability name), else `unshown`.
|
|
43
|
+
*/
|
|
44
|
+
function knownName(value, known, unshown) {
|
|
45
|
+
return typeof value === 'string' && known.includes(value) ? `'${value}'` : unshown;
|
|
46
|
+
}
|
|
47
|
+
const LONE_SURROGATE = /[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/;
|
|
48
|
+
/**
|
|
49
|
+
* Whether a caller's text can serve as a store key as it is: well-formed Unicode without
|
|
50
|
+
* U+0000. A database may refuse U+0000 (PostgreSQL does), and a driver may replace a lone
|
|
51
|
+
* surrogate with U+FFFD, so two different keys would become one.
|
|
52
|
+
*/
|
|
53
|
+
function storableText(text) {
|
|
54
|
+
return !text.includes('\u0000') && !LONE_SURROGATE.test(text);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"names.js","sourceRoot":"","sources":["../../../src/core/util/names.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAMH,8BAOC;AAMD,kCAMC;AAMD,8BAMC;AAUD,oCAEC;AA/CD,yEAAyE;AAC5D,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEnC,6FAA6F;AAC7F,SAAgB,SAAS,CAAC,KAAuB;IAC/C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1C,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC5D,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAW,EAAE,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,IAAY,EAAE,QAA0B;IAClE,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,IAAI,sBAAsB,CAAC;IACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,OAAO,WAAW,IAAI,+BAA+B,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1E,OAAO,WAAW,IAAI,4BAA4B,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,SAAgB,SAAS,CACvB,KAAc,EACd,KAAwB,EACxB,OAAe;IAEf,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACrF,CAAC;AAED,MAAM,cAAc,GAClB,wEAAwE,CAAC;AAE3E;;;;GAIG;AACH,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC","sourcesContent":["/**\n * How an error names something the caller typed (a chain, network,\n * library, provider, wallet, signer, scheme, asset alias, option key or capability). What a\n * caller typed may be a pasted secret, so an error never repeats it, at any length: it lists\n * the names that would have been accepted instead, which the library or the caller's own\n * configuration defined.\n */\n\n/** At most this many accepted names are listed; the rest are counted. */\nexport const MAX_LISTED_NAMES = 12;\n\n/** `'a'`, `'a' and 'b'`, `'a', 'b' and 'c'`, or `'a', …, 'l' and 3 more`: sorted, unique. */\nexport function listNames(names: Iterable<string>): string {\n const sorted = [...new Set(names)].sort();\n const shown = sorted.slice(0, MAX_LISTED_NAMES).map((name) => `'${name}'`);\n const rest = sorted.length - shown.length;\n if (rest > 0) return `${shown.join(', ')} and ${rest} more`;\n if (shown.length <= 1) return shown.join('');\n return `${shown.slice(0, -1).join(', ')} and ${shown.at(-1) as string}`;\n}\n\n/**\n * The text of a refusal of an unknown `what`, listing the accepted names and never the\n * caller's: `unknown network; the accepted names are 'mainnet' and 'sepolia'`.\n */\nexport function unknownName(what: string, accepted: Iterable<string>): string {\n const names = [...new Set(accepted)];\n if (names.length === 0) return `unknown ${what}; none is configured`;\n if (names.length === 1)\n return `unknown ${what}; the only accepted name is ${listNames(names)}`;\n return `unknown ${what}; the accepted names are ${listNames(names)}`;\n}\n\n/**\n * A value as an error may show it: quoted when it is one of `known` (a fixed word of this\n * library, such as a capability name), else `unshown`.\n */\nexport function knownName(\n value: unknown,\n known: readonly string[],\n unshown: string,\n): string {\n return typeof value === 'string' && known.includes(value) ? `'${value}'` : unshown;\n}\n\nconst LONE_SURROGATE =\n /[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]/;\n\n/**\n * Whether a caller's text can serve as a store key as it is: well-formed Unicode without\n * U+0000. A database may refuse U+0000 (PostgreSQL does), and a driver may replace a lone\n * surrogate with U+FFFD, so two different keys would become one.\n */\nexport function storableText(text: string): boolean {\n return !text.includes('\\u0000') && !LONE_SURROGATE.test(text);\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,65 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
1
|
+
export { Blockchain } from './core/blockchain/handle';
|
|
2
|
+
export type { Balance, NetworkStatus } from './core/blockchain/handle';
|
|
3
|
+
export { CryptoAio } from './core/container/container';
|
|
4
|
+
export type { MonitorApi, OperationsApi, OperationsFilter, } from './core/container/container';
|
|
5
|
+
export { configure, defaultContainer } from './core/container/default';
|
|
6
|
+
export { ERROR_CODES } from './core/errors/codes';
|
|
7
|
+
export type { CodesOf, ErrorCategory, ErrorCode } from './core/errors/codes';
|
|
8
|
+
export { ChainError, ConfigError, CryptoAioError, ProviderError, SigningError, StateError, TimeoutError, UnsupportedCapabilityError, ValidationError, createError, isCryptoAioError, } from './core/errors/error';
|
|
9
|
+
export type { CryptoAioErrorOptions, ErrorContext, ErrorContextValue, SerializedError, } from './core/errors/error';
|
|
10
|
+
export { REDACTED, Secret, isSecret, reveal, secret } from './core/secret/secret';
|
|
11
|
+
export { redactDeep, redactUrl } from './core/secret/redact';
|
|
12
|
+
export { localSigner } from './core/signing/local';
|
|
13
|
+
export type { Curve, GenerateOptions, GeneratedSigner, LocalSignerOptions, MnemonicSignerOptions, } from './core/signing/local';
|
|
14
|
+
export { callbackSigner } from './core/signing/callback';
|
|
15
|
+
export type { CallbackSignerOptions } from './core/signing/callback';
|
|
16
|
+
export { deriveXpubChild } from './core/signing/hd';
|
|
17
|
+
export type { ExtendedKeyVersions } from './core/signing/hd';
|
|
18
|
+
export type { WalletHdOptions } from './core/signing/wallet';
|
|
19
|
+
export type { KeyRef, SignatureBundle, Signer, SignerTicket, SigningContext, SigningParams, SigningPurpose, SigningRequest, SigningResult, } from './core/signing/types';
|
|
20
|
+
export { Address } from './core/model/address';
|
|
21
|
+
export type { AddressFormatter, NormalizedAddress } from './core/model/address';
|
|
22
|
+
export { Amount } from './core/model/amount';
|
|
23
|
+
export type { AmountInput } from './core/model/amount';
|
|
24
|
+
export { assetId, parseAssetId } from './core/model/asset';
|
|
25
|
+
export type { AssetId, AssetInfo, AssetMetadata, AssetRef, TokenRef, } from './core/model/asset';
|
|
26
|
+
export { KNOWN_CAPABILITIES } from './core/model/capability';
|
|
27
|
+
export type { Capability, KnownCapability } from './core/model/capability';
|
|
28
|
+
export { explorerUrl } from './core/model/chain';
|
|
29
|
+
export type { ChainInfo, FinalityPolicy, NativeAssetInfo, NetworkInfo, } from './core/model/chain';
|
|
30
|
+
export { feeTotal } from './core/model/fee';
|
|
31
|
+
export type { FeeBound, FeeCharge, FeeChargeDraft, FeeEstimate, FeeEstimateDraft, FeeOverride, FeeSpeed, } from './core/model/fee';
|
|
32
|
+
export { Library } from './core/model/ids';
|
|
33
|
+
export type { ChainId, ChainRegistry, ExtOf, FamilyOf, FamilyRegistry, KnownLibrary, LibraryOf, NativeClientMap, NetworkOf, } from './core/model/ids';
|
|
34
|
+
export type { DriverIntent, DriverOutput, IntentSummary, StoredIntent, TransferIntent, TransferOutputInput, } from './core/model/intent';
|
|
35
|
+
export { mutuallyExclusive } from './core/model/ordering';
|
|
36
|
+
export type { OrderingData, OrderingKind } from './core/model/ordering';
|
|
37
|
+
export type { AttemptIdKind, AttemptRef, Block, BlockRef, Decoding, Evidence, Finality, RawTx, ResolvedTransfer, SignedTx, Transaction, Transfer, TransferSource, TxFailure, TxState, TxStatus, UnresolvedTransfer, UnsignedTx, } from './core/model/transaction';
|
|
38
|
+
export type { AioOptions, ChainDefaults, HandleConfig, HandleOptions, Hooks, LifecycleOptions, ProviderConfig, ProviderRef, ScopeOptions, WalletConfig, } from './core/config/types';
|
|
39
|
+
export type { TransferOptions } from './core/lifecycle/engine';
|
|
40
|
+
export type { ConfirmationResult, RecoveryReport, TxStatusEvent, WaitOptions, WorkerOptions, } from './core/lifecycle/monitor';
|
|
41
|
+
export type { AttemptView, OperationView, PreparedOperation, Submission, } from './core/lifecycle/views';
|
|
42
|
+
export type { Checkpoint, ScanEvent, ScanEventBody, Scanner, ScannerOptions, } from './core/observe/scanner';
|
|
43
|
+
export type { AdapterManifest, AddressCodec, AddressHistorySource, BlockSource, BroadcastResult, Broadcaster, BuildContext, ChainDriver, ChainReader, DisposableNativeClient, DriverBlock, DriverContext, DriverFactory, DriverLimits, DriverTransaction, DriverTransfer, DriverTxObservation, FinalityLevel, FundsCheck, PeerDependency, ProofSource, ReplacementPolicy, ScanFilter, SequenceSource, TxBuilder, WalletKey, WalletOptions, } from './core/driver/types';
|
|
44
|
+
export type { Plugin } from './core/registry/plugin';
|
|
45
|
+
export type { PresetInput, ProviderPreset } from './core/registry/providers';
|
|
46
|
+
export type { AssetRegistration } from './core/registry/assets';
|
|
47
|
+
export { BUILTIN_SCHEMES } from './core/registry/schemes';
|
|
48
|
+
export type { SignatureScheme, VerifyInput } from './core/registry/schemes';
|
|
49
|
+
export { MemoryCursorStore, MemoryLockManager, MemoryOperationStore, MemorySequenceStore, createMemoryStores, } from './core/store/memory';
|
|
50
|
+
export { OPERATION_FORMAT } from './core/store/format';
|
|
51
|
+
export { CLEARABLE_FIELDS, DATA_CLASSIFICATION, NON_TERMINAL_STATES, OPERATION_PATCH_KEYS, TERMINAL_STATES, isTerminal, } from './core/store/types';
|
|
52
|
+
export type { AttemptObservation, AttemptPurpose, AttemptRecord, ClearableField, CreateResult, CursorStore, DataClass, ExecutionContext, Fence, Lease, LockManager, NewOperation, OperationClaim, OperationFilter, OperationPatch, OperationRecord, OperationState, OperationStore, ScanCursor, SequenceState, SequenceStore, StoredCursor, Stores, } from './core/store/types';
|
|
53
|
+
export { parseTagged, stringifyTagged } from './core/util/json';
|
|
54
|
+
export { PLACEHOLDER_ORIGIN } from './core/transport/types';
|
|
55
|
+
export type { CallOptions, EndpointCall, EndpointConfig, EndpointState, EndpointStatus, HealthProbes, HttpRequest, RequestPurpose, RetryClass, Transport, TransportOptions, } from './core/transport/types';
|
|
56
|
+
export type { AioEvent, AioEventName, AioEvents } from './core/events/types';
|
|
57
|
+
export { createLogger, noopLogger } from './core/events/logger';
|
|
58
|
+
export type { LogFields, LogLevel, LogWriter, Logger } from './core/events/logger';
|
|
59
|
+
export type { Clock } from './core/util/clock';
|
|
60
|
+
export type { EvmExt, EvmFeeDetails, EvmFeeOverride } from './adapters/evm/types';
|
|
61
|
+
export type { TronExpiryOrdering, TronExt, TronFeeDetails, TronFeeOverride, TronResources, } from './adapters/tron/types';
|
|
62
|
+
export type { UtxoAddressType, UtxoExt, UtxoFeeDetails, UtxoFeeOverride, UtxoOutputType, UtxoSelectionPreview, UtxoSelectionRequest, UtxoUnspent, UtxoWalletOptions, } from './adapters/utxo/types';
|
|
63
|
+
export type { SolanaExpiryOrdering, SolanaExt, SolanaFeeDetails, SolanaFeeOverride, SolanaTokenAccount, } from './adapters/solana/types';
|
|
64
|
+
export type { TonExt, TonFeeDetails, TonFeeOverride, TonSeqnoOrdering, TonWalletIdentity, TonWalletVersion, } from './adapters/ton/types';
|
|
65
|
+
export type { AvalancheExt, AvalancheFeeDetails, AvalancheFeeOverride, AvalancheUnspent, AvalancheVm, } from './adapters/avalanche/types';
|
package/dist/index.js
CHANGED
|
@@ -1,52 +1,110 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
17
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
18
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
|
-
};
|
|
21
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
22
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
23
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
24
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
25
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
26
|
-
};
|
|
27
|
-
var _CryptoAio_eth;
|
|
28
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.CryptoAio = exports.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
3
|
+
exports.stringifyTagged = exports.parseTagged = exports.isTerminal = exports.TERMINAL_STATES = exports.OPERATION_PATCH_KEYS = exports.NON_TERMINAL_STATES = exports.DATA_CLASSIFICATION = exports.CLEARABLE_FIELDS = exports.OPERATION_FORMAT = exports.createMemoryStores = exports.MemorySequenceStore = exports.MemoryOperationStore = exports.MemoryLockManager = exports.MemoryCursorStore = exports.BUILTIN_SCHEMES = exports.mutuallyExclusive = exports.Library = exports.feeTotal = exports.explorerUrl = exports.KNOWN_CAPABILITIES = exports.parseAssetId = exports.assetId = exports.Amount = exports.Address = exports.deriveXpubChild = exports.callbackSigner = exports.localSigner = exports.redactUrl = exports.redactDeep = exports.secret = exports.reveal = exports.isSecret = exports.Secret = exports.REDACTED = exports.isCryptoAioError = exports.createError = exports.ValidationError = exports.UnsupportedCapabilityError = exports.TimeoutError = exports.StateError = exports.SigningError = exports.ProviderError = exports.CryptoAioError = exports.ConfigError = exports.ChainError = exports.ERROR_CODES = exports.defaultContainer = exports.configure = exports.CryptoAio = exports.Blockchain = void 0;
|
|
4
|
+
exports.noopLogger = exports.createLogger = exports.PLACEHOLDER_ORIGIN = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* `crypto-aio`: the container (`CryptoAio`), the handle (`Blockchain`), the domain model,
|
|
7
|
+
* errors, signers, stores and the extension points for chain family plugins.
|
|
8
|
+
*
|
|
9
|
+
* @module crypto-aio
|
|
10
|
+
*/
|
|
11
|
+
const plugin_1 = require("./adapters/avalanche/plugin");
|
|
12
|
+
const plugin_2 = require("./adapters/evm/plugin");
|
|
13
|
+
const plugin_3 = require("./adapters/solana/plugin");
|
|
14
|
+
const plugin_4 = require("./adapters/ton/plugin");
|
|
15
|
+
const plugin_5 = require("./adapters/tron/plugin");
|
|
16
|
+
const plugin_6 = require("./adapters/utxo/plugin");
|
|
17
|
+
const builtins_1 = require("./core/container/builtins");
|
|
18
|
+
/** Built-in chain family plugins. Each family plugin module is SDK-free; drivers load lazily. */
|
|
19
|
+
const BUILTIN_PLUGINS = [
|
|
20
|
+
(0, plugin_2.evmPlugin)(),
|
|
21
|
+
(0, plugin_6.utxoPlugin)(),
|
|
22
|
+
(0, plugin_5.tronPlugin)(),
|
|
23
|
+
(0, plugin_3.solanaPlugin)(),
|
|
24
|
+
(0, plugin_4.tonPlugin)(),
|
|
25
|
+
(0, plugin_1.avalanchePlugin)(),
|
|
26
|
+
];
|
|
27
|
+
(0, builtins_1.setBuiltinPlugins)(BUILTIN_PLUGINS);
|
|
28
|
+
// Entry points
|
|
29
|
+
var handle_1 = require("./core/blockchain/handle");
|
|
30
|
+
Object.defineProperty(exports, "Blockchain", { enumerable: true, get: function () { return handle_1.Blockchain; } });
|
|
31
|
+
var container_1 = require("./core/container/container");
|
|
32
|
+
Object.defineProperty(exports, "CryptoAio", { enumerable: true, get: function () { return container_1.CryptoAio; } });
|
|
33
|
+
var default_1 = require("./core/container/default");
|
|
34
|
+
Object.defineProperty(exports, "configure", { enumerable: true, get: function () { return default_1.configure; } });
|
|
35
|
+
Object.defineProperty(exports, "defaultContainer", { enumerable: true, get: function () { return default_1.defaultContainer; } });
|
|
36
|
+
// Errors
|
|
37
|
+
var codes_1 = require("./core/errors/codes");
|
|
38
|
+
Object.defineProperty(exports, "ERROR_CODES", { enumerable: true, get: function () { return codes_1.ERROR_CODES; } });
|
|
39
|
+
var error_1 = require("./core/errors/error");
|
|
40
|
+
Object.defineProperty(exports, "ChainError", { enumerable: true, get: function () { return error_1.ChainError; } });
|
|
41
|
+
Object.defineProperty(exports, "ConfigError", { enumerable: true, get: function () { return error_1.ConfigError; } });
|
|
42
|
+
Object.defineProperty(exports, "CryptoAioError", { enumerable: true, get: function () { return error_1.CryptoAioError; } });
|
|
43
|
+
Object.defineProperty(exports, "ProviderError", { enumerable: true, get: function () { return error_1.ProviderError; } });
|
|
44
|
+
Object.defineProperty(exports, "SigningError", { enumerable: true, get: function () { return error_1.SigningError; } });
|
|
45
|
+
Object.defineProperty(exports, "StateError", { enumerable: true, get: function () { return error_1.StateError; } });
|
|
46
|
+
Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return error_1.TimeoutError; } });
|
|
47
|
+
Object.defineProperty(exports, "UnsupportedCapabilityError", { enumerable: true, get: function () { return error_1.UnsupportedCapabilityError; } });
|
|
48
|
+
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return error_1.ValidationError; } });
|
|
49
|
+
Object.defineProperty(exports, "createError", { enumerable: true, get: function () { return error_1.createError; } });
|
|
50
|
+
Object.defineProperty(exports, "isCryptoAioError", { enumerable: true, get: function () { return error_1.isCryptoAioError; } });
|
|
51
|
+
// Secrets and signing
|
|
52
|
+
var secret_1 = require("./core/secret/secret");
|
|
53
|
+
Object.defineProperty(exports, "REDACTED", { enumerable: true, get: function () { return secret_1.REDACTED; } });
|
|
54
|
+
Object.defineProperty(exports, "Secret", { enumerable: true, get: function () { return secret_1.Secret; } });
|
|
55
|
+
Object.defineProperty(exports, "isSecret", { enumerable: true, get: function () { return secret_1.isSecret; } });
|
|
56
|
+
Object.defineProperty(exports, "reveal", { enumerable: true, get: function () { return secret_1.reveal; } });
|
|
57
|
+
Object.defineProperty(exports, "secret", { enumerable: true, get: function () { return secret_1.secret; } });
|
|
58
|
+
var redact_1 = require("./core/secret/redact");
|
|
59
|
+
Object.defineProperty(exports, "redactDeep", { enumerable: true, get: function () { return redact_1.redactDeep; } });
|
|
60
|
+
Object.defineProperty(exports, "redactUrl", { enumerable: true, get: function () { return redact_1.redactUrl; } });
|
|
61
|
+
var local_1 = require("./core/signing/local");
|
|
62
|
+
Object.defineProperty(exports, "localSigner", { enumerable: true, get: function () { return local_1.localSigner; } });
|
|
63
|
+
var callback_1 = require("./core/signing/callback");
|
|
64
|
+
Object.defineProperty(exports, "callbackSigner", { enumerable: true, get: function () { return callback_1.callbackSigner; } });
|
|
65
|
+
var hd_1 = require("./core/signing/hd");
|
|
66
|
+
Object.defineProperty(exports, "deriveXpubChild", { enumerable: true, get: function () { return hd_1.deriveXpubChild; } });
|
|
67
|
+
// Domain model
|
|
68
|
+
var address_1 = require("./core/model/address");
|
|
69
|
+
Object.defineProperty(exports, "Address", { enumerable: true, get: function () { return address_1.Address; } });
|
|
70
|
+
var amount_1 = require("./core/model/amount");
|
|
71
|
+
Object.defineProperty(exports, "Amount", { enumerable: true, get: function () { return amount_1.Amount; } });
|
|
72
|
+
var asset_1 = require("./core/model/asset");
|
|
73
|
+
Object.defineProperty(exports, "assetId", { enumerable: true, get: function () { return asset_1.assetId; } });
|
|
74
|
+
Object.defineProperty(exports, "parseAssetId", { enumerable: true, get: function () { return asset_1.parseAssetId; } });
|
|
75
|
+
var capability_1 = require("./core/model/capability");
|
|
76
|
+
Object.defineProperty(exports, "KNOWN_CAPABILITIES", { enumerable: true, get: function () { return capability_1.KNOWN_CAPABILITIES; } });
|
|
77
|
+
var chain_1 = require("./core/model/chain");
|
|
78
|
+
Object.defineProperty(exports, "explorerUrl", { enumerable: true, get: function () { return chain_1.explorerUrl; } });
|
|
79
|
+
var fee_1 = require("./core/model/fee");
|
|
80
|
+
Object.defineProperty(exports, "feeTotal", { enumerable: true, get: function () { return fee_1.feeTotal; } });
|
|
81
|
+
var ids_1 = require("./core/model/ids");
|
|
82
|
+
Object.defineProperty(exports, "Library", { enumerable: true, get: function () { return ids_1.Library; } });
|
|
83
|
+
var ordering_1 = require("./core/model/ordering");
|
|
84
|
+
Object.defineProperty(exports, "mutuallyExclusive", { enumerable: true, get: function () { return ordering_1.mutuallyExclusive; } });
|
|
85
|
+
var schemes_1 = require("./core/registry/schemes");
|
|
86
|
+
Object.defineProperty(exports, "BUILTIN_SCHEMES", { enumerable: true, get: function () { return schemes_1.BUILTIN_SCHEMES; } });
|
|
87
|
+
var memory_1 = require("./core/store/memory");
|
|
88
|
+
Object.defineProperty(exports, "MemoryCursorStore", { enumerable: true, get: function () { return memory_1.MemoryCursorStore; } });
|
|
89
|
+
Object.defineProperty(exports, "MemoryLockManager", { enumerable: true, get: function () { return memory_1.MemoryLockManager; } });
|
|
90
|
+
Object.defineProperty(exports, "MemoryOperationStore", { enumerable: true, get: function () { return memory_1.MemoryOperationStore; } });
|
|
91
|
+
Object.defineProperty(exports, "MemorySequenceStore", { enumerable: true, get: function () { return memory_1.MemorySequenceStore; } });
|
|
92
|
+
Object.defineProperty(exports, "createMemoryStores", { enumerable: true, get: function () { return memory_1.createMemoryStores; } });
|
|
93
|
+
var format_1 = require("./core/store/format");
|
|
94
|
+
Object.defineProperty(exports, "OPERATION_FORMAT", { enumerable: true, get: function () { return format_1.OPERATION_FORMAT; } });
|
|
95
|
+
var types_1 = require("./core/store/types");
|
|
96
|
+
Object.defineProperty(exports, "CLEARABLE_FIELDS", { enumerable: true, get: function () { return types_1.CLEARABLE_FIELDS; } });
|
|
97
|
+
Object.defineProperty(exports, "DATA_CLASSIFICATION", { enumerable: true, get: function () { return types_1.DATA_CLASSIFICATION; } });
|
|
98
|
+
Object.defineProperty(exports, "NON_TERMINAL_STATES", { enumerable: true, get: function () { return types_1.NON_TERMINAL_STATES; } });
|
|
99
|
+
Object.defineProperty(exports, "OPERATION_PATCH_KEYS", { enumerable: true, get: function () { return types_1.OPERATION_PATCH_KEYS; } });
|
|
100
|
+
Object.defineProperty(exports, "TERMINAL_STATES", { enumerable: true, get: function () { return types_1.TERMINAL_STATES; } });
|
|
101
|
+
Object.defineProperty(exports, "isTerminal", { enumerable: true, get: function () { return types_1.isTerminal; } });
|
|
102
|
+
var json_1 = require("./core/util/json");
|
|
103
|
+
Object.defineProperty(exports, "parseTagged", { enumerable: true, get: function () { return json_1.parseTagged; } });
|
|
104
|
+
Object.defineProperty(exports, "stringifyTagged", { enumerable: true, get: function () { return json_1.stringifyTagged; } });
|
|
105
|
+
var types_2 = require("./core/transport/types");
|
|
106
|
+
Object.defineProperty(exports, "PLACEHOLDER_ORIGIN", { enumerable: true, get: function () { return types_2.PLACEHOLDER_ORIGIN; } });
|
|
107
|
+
var logger_1 = require("./core/events/logger");
|
|
108
|
+
Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return logger_1.createLogger; } });
|
|
109
|
+
Object.defineProperty(exports, "noopLogger", { enumerable: true, get: function () { return logger_1.noopLogger; } });
|
|
52
110
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAmD;AACnD,iCAAyC;AAEzC,yCAAuB;AACvB,yCAAuB;AACvB,yCAAuB;AAMhB,MAAM,gBAAgB,GAAG,CAAC,GAAY,EAAoB,EAAE;IACjE,OAAO;QACL,GAAG,EAAE,IAAA,sBAAe,EAAC,GAAG,CAAC;KAC1B,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEF,MAAa,SAAS;IAGpB,YAAqB,UAA4B,IAAA,wBAAgB,GAAE;QAA9C,YAAO,GAAP,OAAO,CAAuC;QAFnE,iCAAgB;IAEsD,CAAC;IAEvE,IAAI,GAAG;QACL,OAAO,CAAC,uBAAA,IAAI,kBAAQ,uBAAA,IAAI,sBAAK,IAAI,IAAI,eAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAA,CAAC,CAAC;IACtE,CAAC;CACF;AARD,8BAQC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA;;;;;GAKG;AACH,wDAA8D;AAC9D,kDAAkD;AAClD,qDAAwD;AACxD,kDAAkD;AAClD,mDAAoD;AACpD,mDAAoD;AACpD,wDAA8D;AAG9D,iGAAiG;AACjG,MAAM,eAAe,GAAsB;IACzC,IAAA,kBAAS,GAAE;IACX,IAAA,mBAAU,GAAE;IACZ,IAAA,mBAAU,GAAE;IACZ,IAAA,qBAAY,GAAE;IACd,IAAA,kBAAS,GAAE;IACX,IAAA,wBAAe,GAAE;CAClB,CAAC;AACF,IAAA,4BAAiB,EAAC,eAAe,CAAC,CAAC;AAEnC,eAAe;AACf,mDAAsD;AAA7C,oGAAA,UAAU,OAAA;AAEnB,wDAAuD;AAA9C,sGAAA,SAAS,OAAA;AAMlB,oDAAuE;AAA9D,oGAAA,SAAS,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAEpC,SAAS;AACT,6CAAkD;AAAzC,oGAAA,WAAW,OAAA;AAEpB,6CAY6B;AAX3B,mGAAA,UAAU,OAAA;AACV,oGAAA,WAAW,OAAA;AACX,uGAAA,cAAc,OAAA;AACd,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,mGAAA,UAAU,OAAA;AACV,qGAAA,YAAY,OAAA;AACZ,mHAAA,0BAA0B,OAAA;AAC1B,wGAAA,eAAe,OAAA;AACf,oGAAA,WAAW,OAAA;AACX,yGAAA,gBAAgB,OAAA;AASlB,sBAAsB;AACtB,+CAAkF;AAAzE,kGAAA,QAAQ,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,gGAAA,MAAM,OAAA;AACnD,+CAA6D;AAApD,oGAAA,UAAU,OAAA;AAAE,mGAAA,SAAS,OAAA;AAC9B,8CAAmD;AAA1C,oGAAA,WAAW,OAAA;AAQpB,oDAAyD;AAAhD,0GAAA,cAAc,OAAA;AAEvB,wCAAoD;AAA3C,qGAAA,eAAe,OAAA;AAexB,eAAe;AACf,gDAA+C;AAAtC,kGAAA,OAAO,OAAA;AAEhB,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AAEf,4CAA2D;AAAlD,gGAAA,OAAO,OAAA;AAAE,qGAAA,YAAY,OAAA;AAQ9B,sDAA6D;AAApD,gHAAA,kBAAkB,OAAA;AAE3B,4CAAiD;AAAxC,oGAAA,WAAW,OAAA;AAOpB,wCAA4C;AAAnC,+FAAA,QAAQ,OAAA;AAUjB,wCAA2C;AAAlC,8FAAA,OAAO,OAAA;AAoBhB,kDAA0D;AAAjD,6GAAA,iBAAiB,OAAA;AA8F1B,mDAA0D;AAAjD,0GAAA,eAAe,OAAA;AAExB,8CAM6B;AAL3B,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,8GAAA,oBAAoB,OAAA;AACpB,6GAAA,mBAAmB,OAAA;AACnB,4GAAA,kBAAkB,OAAA;AAEpB,8CAAuD;AAA9C,0GAAA,gBAAgB,OAAA;AACzB,4CAO4B;AAN1B,yGAAA,gBAAgB,OAAA;AAChB,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AACnB,6GAAA,oBAAoB,OAAA;AACpB,wGAAA,eAAe,OAAA;AACf,mGAAA,UAAU,OAAA;AA2BZ,yCAAgE;AAAvD,mGAAA,WAAW,OAAA;AAAE,uGAAA,eAAe,OAAA;AACrC,gDAA4D;AAAnD,2GAAA,kBAAkB,OAAA;AAe3B,+CAAgE;AAAvD,sGAAA,YAAY,OAAA;AAAE,oGAAA,UAAU,OAAA","sourcesContent":["/**\n * `crypto-aio`: the container (`CryptoAio`), the handle (`Blockchain`), the domain model,\n * errors, signers, stores and the extension points for chain family plugins.\n *\n * @module crypto-aio\n */\nimport { avalanchePlugin } from './adapters/avalanche/plugin';\nimport { evmPlugin } from './adapters/evm/plugin';\nimport { solanaPlugin } from './adapters/solana/plugin';\nimport { tonPlugin } from './adapters/ton/plugin';\nimport { tronPlugin } from './adapters/tron/plugin';\nimport { utxoPlugin } from './adapters/utxo/plugin';\nimport { setBuiltinPlugins } from './core/container/builtins';\nimport type { Plugin } from './core/registry/plugin';\n\n/** Built-in chain family plugins. Each family plugin module is SDK-free; drivers load lazily. */\nconst BUILTIN_PLUGINS: readonly Plugin[] = [\n evmPlugin(),\n utxoPlugin(),\n tronPlugin(),\n solanaPlugin(),\n tonPlugin(),\n avalanchePlugin(),\n];\nsetBuiltinPlugins(BUILTIN_PLUGINS);\n\n// Entry points\nexport { Blockchain } from './core/blockchain/handle';\nexport type { Balance, NetworkStatus } from './core/blockchain/handle';\nexport { CryptoAio } from './core/container/container';\nexport type {\n MonitorApi,\n OperationsApi,\n OperationsFilter,\n} from './core/container/container';\nexport { configure, defaultContainer } from './core/container/default';\n\n// Errors\nexport { ERROR_CODES } from './core/errors/codes';\nexport type { CodesOf, ErrorCategory, ErrorCode } from './core/errors/codes';\nexport {\n ChainError,\n ConfigError,\n CryptoAioError,\n ProviderError,\n SigningError,\n StateError,\n TimeoutError,\n UnsupportedCapabilityError,\n ValidationError,\n createError,\n isCryptoAioError,\n} from './core/errors/error';\nexport type {\n CryptoAioErrorOptions,\n ErrorContext,\n ErrorContextValue,\n SerializedError,\n} from './core/errors/error';\n\n// Secrets and signing\nexport { REDACTED, Secret, isSecret, reveal, secret } from './core/secret/secret';\nexport { redactDeep, redactUrl } from './core/secret/redact';\nexport { localSigner } from './core/signing/local';\nexport type {\n Curve,\n GenerateOptions,\n GeneratedSigner,\n LocalSignerOptions,\n MnemonicSignerOptions,\n} from './core/signing/local';\nexport { callbackSigner } from './core/signing/callback';\nexport type { CallbackSignerOptions } from './core/signing/callback';\nexport { deriveXpubChild } from './core/signing/hd';\nexport type { ExtendedKeyVersions } from './core/signing/hd';\nexport type { WalletHdOptions } from './core/signing/wallet';\nexport type {\n KeyRef,\n SignatureBundle,\n Signer,\n SignerTicket,\n SigningContext,\n SigningParams,\n SigningPurpose,\n SigningRequest,\n SigningResult,\n} from './core/signing/types';\n\n// Domain model\nexport { Address } from './core/model/address';\nexport type { AddressFormatter, NormalizedAddress } from './core/model/address';\nexport { Amount } from './core/model/amount';\nexport type { AmountInput } from './core/model/amount';\nexport { assetId, parseAssetId } from './core/model/asset';\nexport type {\n AssetId,\n AssetInfo,\n AssetMetadata,\n AssetRef,\n TokenRef,\n} from './core/model/asset';\nexport { KNOWN_CAPABILITIES } from './core/model/capability';\nexport type { Capability, KnownCapability } from './core/model/capability';\nexport { explorerUrl } from './core/model/chain';\nexport type {\n ChainInfo,\n FinalityPolicy,\n NativeAssetInfo,\n NetworkInfo,\n} from './core/model/chain';\nexport { feeTotal } from './core/model/fee';\nexport type {\n FeeBound,\n FeeCharge,\n FeeChargeDraft,\n FeeEstimate,\n FeeEstimateDraft,\n FeeOverride,\n FeeSpeed,\n} from './core/model/fee';\nexport { Library } from './core/model/ids';\nexport type {\n ChainId,\n ChainRegistry,\n ExtOf,\n FamilyOf,\n FamilyRegistry,\n KnownLibrary,\n LibraryOf,\n NativeClientMap,\n NetworkOf,\n} from './core/model/ids';\nexport type {\n DriverIntent,\n DriverOutput,\n IntentSummary,\n StoredIntent,\n TransferIntent,\n TransferOutputInput,\n} from './core/model/intent';\nexport { mutuallyExclusive } from './core/model/ordering';\nexport type { OrderingData, OrderingKind } from './core/model/ordering';\nexport type {\n AttemptIdKind,\n AttemptRef,\n Block,\n BlockRef,\n Decoding,\n Evidence,\n Finality,\n RawTx,\n ResolvedTransfer,\n SignedTx,\n Transaction,\n Transfer,\n TransferSource,\n TxFailure,\n TxState,\n TxStatus,\n UnresolvedTransfer,\n UnsignedTx,\n} from './core/model/transaction';\n\n// Configuration\nexport type {\n AioOptions,\n ChainDefaults,\n HandleConfig,\n HandleOptions,\n Hooks,\n LifecycleOptions,\n ProviderConfig,\n ProviderRef,\n ScopeOptions,\n WalletConfig,\n} from './core/config/types';\n\n// Lifecycle and observation\nexport type { TransferOptions } from './core/lifecycle/engine';\nexport type {\n ConfirmationResult,\n RecoveryReport,\n TxStatusEvent,\n WaitOptions,\n WorkerOptions,\n} from './core/lifecycle/monitor';\nexport type {\n AttemptView,\n OperationView,\n PreparedOperation,\n Submission,\n} from './core/lifecycle/views';\n// Type only; scanners come from `bc.scanner()`.\nexport type {\n Checkpoint,\n ScanEvent,\n ScanEventBody,\n Scanner,\n ScannerOptions,\n} from './core/observe/scanner';\n\n// Extension points: drivers, plugins, presets, schemes, stores, transport, events\nexport type {\n AdapterManifest,\n AddressCodec,\n AddressHistorySource,\n BlockSource,\n BroadcastResult,\n Broadcaster,\n BuildContext,\n ChainDriver,\n ChainReader,\n DisposableNativeClient,\n DriverBlock,\n DriverContext,\n DriverFactory,\n DriverLimits,\n DriverTransaction,\n DriverTransfer,\n DriverTxObservation,\n FinalityLevel,\n FundsCheck,\n PeerDependency,\n ProofSource,\n ReplacementPolicy,\n ScanFilter,\n SequenceSource,\n TxBuilder,\n WalletKey,\n WalletOptions,\n} from './core/driver/types';\nexport type { Plugin } from './core/registry/plugin';\nexport type { PresetInput, ProviderPreset } from './core/registry/providers';\nexport type { AssetRegistration } from './core/registry/assets';\nexport { BUILTIN_SCHEMES } from './core/registry/schemes';\nexport type { SignatureScheme, VerifyInput } from './core/registry/schemes';\nexport {\n MemoryCursorStore,\n MemoryLockManager,\n MemoryOperationStore,\n MemorySequenceStore,\n createMemoryStores,\n} from './core/store/memory';\nexport { OPERATION_FORMAT } from './core/store/format';\nexport {\n CLEARABLE_FIELDS,\n DATA_CLASSIFICATION,\n NON_TERMINAL_STATES,\n OPERATION_PATCH_KEYS,\n TERMINAL_STATES,\n isTerminal,\n} from './core/store/types';\nexport type {\n AttemptObservation,\n AttemptPurpose,\n AttemptRecord,\n ClearableField,\n CreateResult,\n CursorStore,\n DataClass,\n ExecutionContext,\n Fence,\n Lease,\n LockManager,\n NewOperation,\n OperationClaim,\n OperationFilter,\n OperationPatch,\n OperationRecord,\n OperationState,\n OperationStore,\n ScanCursor,\n SequenceState,\n SequenceStore,\n StoredCursor,\n Stores,\n} from './core/store/types';\nexport { parseTagged, stringifyTagged } from './core/util/json';\nexport { PLACEHOLDER_ORIGIN } from './core/transport/types';\nexport type {\n CallOptions,\n EndpointCall,\n EndpointConfig,\n EndpointState,\n EndpointStatus,\n HealthProbes,\n HttpRequest,\n RequestPurpose,\n RetryClass,\n Transport,\n TransportOptions,\n} from './core/transport/types';\nexport type { AioEvent, AioEventName, AioEvents } from './core/events/types';\nexport { createLogger, noopLogger } from './core/events/logger';\nexport type { LogFields, LogLevel, LogWriter, Logger } from './core/events/logger';\nexport type { Clock } from './core/util/clock';\n\n// Chain families: SDK-free types. SDK client types are in `crypto-aio/avalanche`,\n// `crypto-aio/evm`, `crypto-aio/solana`, `crypto-aio/ton`, `crypto-aio/tron` and\n// `crypto-aio/utxo`.\nexport type { EvmExt, EvmFeeDetails, EvmFeeOverride } from './adapters/evm/types';\nexport type {\n TronExpiryOrdering,\n TronExt,\n TronFeeDetails,\n TronFeeOverride,\n TronResources,\n} from './adapters/tron/types';\nexport type {\n UtxoAddressType,\n UtxoExt,\n UtxoFeeDetails,\n UtxoFeeOverride,\n UtxoOutputType,\n UtxoSelectionPreview,\n UtxoSelectionRequest,\n UtxoUnspent,\n UtxoWalletOptions,\n} from './adapters/utxo/types';\nexport type {\n SolanaExpiryOrdering,\n SolanaExt,\n SolanaFeeDetails,\n SolanaFeeOverride,\n SolanaTokenAccount,\n} from './adapters/solana/types';\nexport type {\n TonExt,\n TonFeeDetails,\n TonFeeOverride,\n TonSeqnoOrdering,\n TonWalletIdentity,\n TonWalletVersion,\n} from './adapters/ton/types';\nexport type {\n AvalancheExt,\n AvalancheFeeDetails,\n AvalancheFeeOverride,\n AvalancheUnspent,\n AvalancheVm,\n} from './adapters/avalanche/types';\n"]}
|
package/dist/native.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `crypto-aio/native`: the escape hatch to a handle's own SDK client, outside the semver
|
|
3
|
+
* guarantees of crypto-aio.
|
|
4
|
+
*
|
|
5
|
+
* @module crypto-aio/native
|
|
6
|
+
*/
|
|
7
|
+
import type { Blockchain } from './core/blockchain/handle';
|
|
8
|
+
import type { ChainId, NativeClientMap } from './core/model/ids';
|
|
9
|
+
/**
|
|
10
|
+
* Escape hatch to the underlying SDK client. OUTSIDE the semver guarantees of crypto-aio.
|
|
11
|
+
*
|
|
12
|
+
* The client belongs to this handle only: the driver builds it for the handle on the first
|
|
13
|
+
* call, and later calls on the same handle return that same client. It is never the pooled
|
|
14
|
+
* instance the drivers use, so mutating it cannot affect other handles or tenants, and it is
|
|
15
|
+
* reachable only through this function (not through the handle, `JSON` or `inspect`). The
|
|
16
|
+
* library name must match the handle's (`INCOMPATIBLE_SELECTION` otherwise).
|
|
17
|
+
*
|
|
18
|
+
* The root container's `close()` releases every client handed out here; after it,
|
|
19
|
+
* `native()` fails with `INVALID_TRANSITION`, as the handle's own methods do.
|
|
20
|
+
*/
|
|
21
|
+
export declare function native<L extends Extract<keyof NativeClientMap, string>, C extends ChainId = ChainId>(handle: Blockchain<C>, library: L): Promise<NativeClientMap[L]>;
|
package/dist/native.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.native = native;
|
|
4
|
+
const internal_1 = require("./core/blockchain/internal");
|
|
5
|
+
const error_1 = require("./core/errors/error");
|
|
6
|
+
/**
|
|
7
|
+
* Escape hatch to the underlying SDK client. OUTSIDE the semver guarantees of crypto-aio.
|
|
8
|
+
*
|
|
9
|
+
* The client belongs to this handle only: the driver builds it for the handle on the first
|
|
10
|
+
* call, and later calls on the same handle return that same client. It is never the pooled
|
|
11
|
+
* instance the drivers use, so mutating it cannot affect other handles or tenants, and it is
|
|
12
|
+
* reachable only through this function (not through the handle, `JSON` or `inspect`). The
|
|
13
|
+
* library name must match the handle's (`INCOMPATIBLE_SELECTION` otherwise).
|
|
14
|
+
*
|
|
15
|
+
* The root container's `close()` releases every client handed out here; after it,
|
|
16
|
+
* `native()` fails with `INVALID_TRANSITION`, as the handle's own methods do.
|
|
17
|
+
*/
|
|
18
|
+
async function native(handle, library) {
|
|
19
|
+
const internals = (0, internal_1.internalsOf)(handle);
|
|
20
|
+
internals.assertOpen();
|
|
21
|
+
if (internals.selection.library !== library) {
|
|
22
|
+
throw new error_1.ConfigError('INCOMPATIBLE_SELECTION',
|
|
23
|
+
// The caller's text (perhaps a pasted secret) is never repeated; the handle's own
|
|
24
|
+
// library is named.
|
|
25
|
+
`this handle's library is '${internals.selection.library}'; ask native() for that one`);
|
|
26
|
+
}
|
|
27
|
+
const cached = internals.nativeClients.get(library);
|
|
28
|
+
if (cached !== undefined)
|
|
29
|
+
return cached;
|
|
30
|
+
const { driver } = await internals.pooled();
|
|
31
|
+
internals.assertOpen(); // the root may have closed while this call awaited the driver
|
|
32
|
+
// A concurrent call may have built the client while this one awaited the driver.
|
|
33
|
+
const built = internals.nativeClients.get(library);
|
|
34
|
+
if (built !== undefined)
|
|
35
|
+
return built;
|
|
36
|
+
if (!driver.createNativeClient) {
|
|
37
|
+
throw new error_1.UnsupportedCapabilityError('UNSUPPORTED_CAPABILITY', `library '${library}' exposes no native client`);
|
|
38
|
+
}
|
|
39
|
+
const created = driver.createNativeClient();
|
|
40
|
+
internals.registerNative(created);
|
|
41
|
+
internals.nativeClients.set(library, created.client);
|
|
42
|
+
return created.client;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":";;AAuBA,wBA+BC;AA/CD,yDAAyD;AACzD,+CAA8E;AAG9E;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,MAAM,CAG1B,MAAqB,EAAE,OAAU;IACjC,MAAM,SAAS,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,CAAC;IACtC,SAAS,CAAC,UAAU,EAAE,CAAC;IACvB,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC5C,MAAM,IAAI,mBAAW,CACnB,wBAAwB;QACxB,kFAAkF;QAClF,oBAAoB;QACpB,6BAA6B,SAAS,CAAC,SAAS,CAAC,OAAO,8BAA8B,CACvF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAA4B,CAAC;IAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5C,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,8DAA8D;IACtF,iFAAiF;IACjF,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAA2B,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/B,MAAM,IAAI,kCAA0B,CAClC,wBAAwB,EACxB,YAAY,OAAO,4BAA4B,CAChD,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAC5C,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC,MAA4B,CAAC;AAC9C,CAAC","sourcesContent":["/**\n * `crypto-aio/native`: the escape hatch to a handle's own SDK client, outside the semver\n * guarantees of crypto-aio.\n *\n * @module crypto-aio/native\n */\nimport type { Blockchain } from './core/blockchain/handle';\nimport { internalsOf } from './core/blockchain/internal';\nimport { ConfigError, UnsupportedCapabilityError } from './core/errors/error';\nimport type { ChainId, NativeClientMap } from './core/model/ids';\n\n/**\n * Escape hatch to the underlying SDK client. OUTSIDE the semver guarantees of crypto-aio.\n *\n * The client belongs to this handle only: the driver builds it for the handle on the first\n * call, and later calls on the same handle return that same client. It is never the pooled\n * instance the drivers use, so mutating it cannot affect other handles or tenants, and it is\n * reachable only through this function (not through the handle, `JSON` or `inspect`). The\n * library name must match the handle's (`INCOMPATIBLE_SELECTION` otherwise).\n *\n * The root container's `close()` releases every client handed out here; after it,\n * `native()` fails with `INVALID_TRANSITION`, as the handle's own methods do.\n */\nexport async function native<\n L extends Extract<keyof NativeClientMap, string>,\n C extends ChainId = ChainId,\n>(handle: Blockchain<C>, library: L): Promise<NativeClientMap[L]> {\n const internals = internalsOf(handle);\n internals.assertOpen();\n if (internals.selection.library !== library) {\n throw new ConfigError(\n 'INCOMPATIBLE_SELECTION',\n // The caller's text (perhaps a pasted secret) is never repeated; the handle's own\n // library is named.\n `this handle's library is '${internals.selection.library}'; ask native() for that one`,\n );\n }\n const cached = internals.nativeClients.get(library);\n if (cached !== undefined) return cached as NativeClientMap[L];\n const { driver } = await internals.pooled();\n internals.assertOpen(); // the root may have closed while this call awaited the driver\n // A concurrent call may have built the client while this one awaited the driver.\n const built = internals.nativeClients.get(library);\n if (built !== undefined) return built as NativeClientMap[L];\n if (!driver.createNativeClient) {\n throw new UnsupportedCapabilityError(\n 'UNSUPPORTED_CAPABILITY',\n `library '${library}' exposes no native client`,\n );\n }\n const created = driver.createNativeClient();\n internals.registerNative(created);\n internals.nativeClients.set(library, created.client);\n return created.client as NativeClientMap[L];\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Minimal test-framework surface; pass wrappers around your framework's describe/it. */
|
|
2
|
+
export interface ContractTestApi {
|
|
3
|
+
describe(name: string, fn: () => void): void;
|
|
4
|
+
it(name: string, fn: () => Promise<void>): void;
|
|
5
|
+
}
|
|
6
|
+
export declare function rejectsWithCode(promise: Promise<unknown>, code: string): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* Everything an error carries as text (its message, its JSON form and its causes')
|
|
9
|
+
* leaves out each of `secrets`. Store keys embed wallet addresses, and error messages
|
|
10
|
+
* reach logs.
|
|
11
|
+
*/
|
|
12
|
+
export declare function rejectsWithCodeKeepingOut(promise: Promise<unknown>, code: string, secrets: readonly string[]): Promise<void>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.rejectsWithCode = rejectsWithCode;
|
|
7
|
+
exports.rejectsWithCodeKeepingOut = rejectsWithCodeKeepingOut;
|
|
8
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
9
|
+
async function rejectsWithCode(promise, code) {
|
|
10
|
+
try {
|
|
11
|
+
await promise;
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
strict_1.default.equal(error.code, code);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
strict_1.default.fail(`expected a rejection with code ${code}`);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Everything an error carries as text (its message, its JSON form and its causes')
|
|
21
|
+
* leaves out each of `secrets`. Store keys embed wallet addresses, and error messages
|
|
22
|
+
* reach logs.
|
|
23
|
+
*/
|
|
24
|
+
async function rejectsWithCodeKeepingOut(promise, code, secrets) {
|
|
25
|
+
let caught;
|
|
26
|
+
let rejected = false;
|
|
27
|
+
try {
|
|
28
|
+
await promise;
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
caught = error;
|
|
32
|
+
rejected = true;
|
|
33
|
+
}
|
|
34
|
+
if (!rejected)
|
|
35
|
+
strict_1.default.fail(`expected a rejection with code ${code}`);
|
|
36
|
+
strict_1.default.equal(caught.code, code);
|
|
37
|
+
const text = textOf(caught);
|
|
38
|
+
for (const secret of secrets) {
|
|
39
|
+
strict_1.default.ok(!text.includes(secret), `a ${code} error names a store key`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function textOf(error) {
|
|
43
|
+
const parts = [];
|
|
44
|
+
let current = error;
|
|
45
|
+
for (let depth = 0; depth < 8 && current !== undefined && current !== null; depth += 1) {
|
|
46
|
+
if (current instanceof Error)
|
|
47
|
+
parts.push(current.name, current.message);
|
|
48
|
+
try {
|
|
49
|
+
parts.push(JSON.stringify(current, (_key, value) => typeof value === 'bigint' ? value.toString() : value) ?? '');
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
parts.push(String(current));
|
|
53
|
+
}
|
|
54
|
+
current = current.cause;
|
|
55
|
+
}
|
|
56
|
+
return parts.join('\n');
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/testing/contracts/api.ts"],"names":[],"mappings":";;;;;AAQA,0CAWC;AAOD,8DAmBC;AA7CD,gEAAwC;AAQjC,KAAK,UAAU,eAAe,CACnC,OAAyB,EACzB,IAAY;IAEZ,IAAI,CAAC;QACH,MAAM,OAAO,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAM,CAAC,KAAK,CAAE,KAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IACD,gBAAM,CAAC,IAAI,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,yBAAyB,CAC7C,OAAyB,EACzB,IAAY,EACZ,OAA0B;IAE1B,IAAI,MAAe,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,KAAK,CAAC;QACf,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,gBAAM,CAAC,IAAI,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;IACrE,gBAAM,CAAC,KAAK,CAAE,MAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,gBAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,0BAA0B,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KACE,IAAI,KAAK,GAAG,CAAC,EACb,KAAK,GAAG,CAAC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EACtD,KAAK,IAAI,CAAC,EACV,CAAC;QACD,IAAI,OAAO,YAAY,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAc,EAAE,EAAE,CAC/C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CACrD,IAAI,EAAE,CACR,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,GAAI,OAA+B,CAAC,KAAK,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC","sourcesContent":["import assert from 'node:assert/strict';\n\n/** Minimal test-framework surface; pass wrappers around your framework's describe/it. */\nexport interface ContractTestApi {\n describe(name: string, fn: () => void): void;\n it(name: string, fn: () => Promise<void>): void;\n}\n\nexport async function rejectsWithCode(\n promise: Promise<unknown>,\n code: string,\n): Promise<void> {\n try {\n await promise;\n } catch (error) {\n assert.equal((error as { code?: unknown }).code, code);\n return;\n }\n assert.fail(`expected a rejection with code ${code}`);\n}\n\n/**\n * Everything an error carries as text (its message, its JSON form and its causes')\n * leaves out each of `secrets`. Store keys embed wallet addresses, and error messages\n * reach logs.\n */\nexport async function rejectsWithCodeKeepingOut(\n promise: Promise<unknown>,\n code: string,\n secrets: readonly string[],\n): Promise<void> {\n let caught: unknown;\n let rejected = false;\n try {\n await promise;\n } catch (error) {\n caught = error;\n rejected = true;\n }\n if (!rejected) assert.fail(`expected a rejection with code ${code}`);\n assert.equal((caught as { code?: unknown }).code, code);\n const text = textOf(caught);\n for (const secret of secrets) {\n assert.ok(!text.includes(secret), `a ${code} error names a store key`);\n }\n}\n\nfunction textOf(error: unknown): string {\n const parts: string[] = [];\n let current = error;\n for (\n let depth = 0;\n depth < 8 && current !== undefined && current !== null;\n depth += 1\n ) {\n if (current instanceof Error) parts.push(current.name, current.message);\n try {\n parts.push(\n JSON.stringify(current, (_key, value: unknown) =>\n typeof value === 'bigint' ? value.toString() : value,\n ) ?? '',\n );\n } catch {\n parts.push(String(current));\n }\n current = (current as { cause?: unknown }).cause;\n }\n return parts.join('\\n');\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CursorStore } from '../../core/store/types';
|
|
2
|
+
import { type ContractTestApi } from './api';
|
|
3
|
+
export interface CursorHarness {
|
|
4
|
+
readonly cursors: CursorStore;
|
|
5
|
+
}
|
|
6
|
+
export declare function describeCursorStoreContract(api: ContractTestApi, create: () => CursorHarness | Promise<CursorHarness>): void;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.describeCursorStoreContract = describeCursorStoreContract;
|
|
7
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
8
|
+
const api_1 = require("./api");
|
|
9
|
+
function describeCursorStoreContract(api, create) {
|
|
10
|
+
api.describe('CursorStore contract', () => {
|
|
11
|
+
api.it('stores cursors with compare-and-set versions', async () => {
|
|
12
|
+
const { cursors } = await create();
|
|
13
|
+
strict_1.default.equal(await cursors.get('c'), null);
|
|
14
|
+
const cursor = {
|
|
15
|
+
height: 2n ** 40n,
|
|
16
|
+
hash: 'h1',
|
|
17
|
+
recent: [{ height: 2n ** 40n, hash: 'h1' }],
|
|
18
|
+
};
|
|
19
|
+
strict_1.default.equal(await cursors.put('c', cursor, null), 1);
|
|
20
|
+
strict_1.default.deepEqual(await cursors.get('c'), { cursor, version: 1 });
|
|
21
|
+
const updated = { ...cursor, hash: 'h2' };
|
|
22
|
+
strict_1.default.equal(await cursors.put('c', updated, 1), 2);
|
|
23
|
+
const stored = { cursor: updated, version: 2 };
|
|
24
|
+
strict_1.default.deepEqual(await cursors.get('c'), stored);
|
|
25
|
+
await (0, api_1.rejectsWithCode)(cursors.put('c', cursor, 1), 'VERSION_CONFLICT');
|
|
26
|
+
strict_1.default.deepEqual(await cursors.get('c'), stored);
|
|
27
|
+
await (0, api_1.rejectsWithCode)(cursors.put('c', cursor, null), 'VERSION_CONFLICT');
|
|
28
|
+
strict_1.default.deepEqual(await cursors.get('c'), stored);
|
|
29
|
+
});
|
|
30
|
+
api.it('keeps the key out of its errors', async () => {
|
|
31
|
+
// A cursor key can name a watched wallet, and error messages reach logs.
|
|
32
|
+
const { cursors } = await create();
|
|
33
|
+
const key = 'deposits:bitcoin:mainnet:bc1qcursorkeyc0ffee0000000000000000000000';
|
|
34
|
+
const cursor = { height: 1n, hash: 'h1', recent: [{ height: 1n, hash: 'h1' }] };
|
|
35
|
+
await cursors.put(key, cursor, null);
|
|
36
|
+
await (0, api_1.rejectsWithCodeKeepingOut)(cursors.put(key, cursor, null), 'VERSION_CONFLICT', [key]);
|
|
37
|
+
await (0, api_1.rejectsWithCodeKeepingOut)(cursors.put(key, cursor, 9), 'VERSION_CONFLICT', [
|
|
38
|
+
key,
|
|
39
|
+
]);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=cursors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursors.js","sourceRoot":"","sources":["../../../src/testing/contracts/cursors.ts"],"names":[],"mappings":";;;;;AAQA,kEAyCC;AAjDD,gEAAwC;AAExC,+BAAyF;AAMzF,SAAgB,2BAA2B,CACzC,GAAoB,EACpB,MAAoD;IAEpD,GAAG,CAAC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACxC,GAAG,CAAC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YACnC,gBAAM,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,EAAE,IAAI,GAAG;gBACjB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aAC5C,CAAC;YACF,gBAAM,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,gBAAM,CAAC,SAAS,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1C,gBAAM,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAC/C,gBAAM,CAAC,SAAS,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,IAAA,qBAAe,EAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACvE,gBAAM,CAAC,SAAS,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,IAAA,qBAAe,EAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAC1E,gBAAM,CAAC,SAAS,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YACnD,yEAAyE;YACzE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,oEAAoE,CAAC;YACjF,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAChF,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACrC,MAAM,IAAA,+BAAyB,EAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAC9B,kBAAkB,EAClB,CAAC,GAAG,CAAC,CACN,CAAC;YACF,MAAM,IAAA,+BAAyB,EAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE;gBAC/E,GAAG;aACJ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import assert from 'node:assert/strict';\nimport type { CursorStore } from '../../core/store/types';\nimport { rejectsWithCode, rejectsWithCodeKeepingOut, type ContractTestApi } from './api';\n\nexport interface CursorHarness {\n readonly cursors: CursorStore;\n}\n\nexport function describeCursorStoreContract(\n api: ContractTestApi,\n create: () => CursorHarness | Promise<CursorHarness>,\n): void {\n api.describe('CursorStore contract', () => {\n api.it('stores cursors with compare-and-set versions', async () => {\n const { cursors } = await create();\n assert.equal(await cursors.get('c'), null);\n const cursor = {\n height: 2n ** 40n,\n hash: 'h1',\n recent: [{ height: 2n ** 40n, hash: 'h1' }],\n };\n assert.equal(await cursors.put('c', cursor, null), 1);\n assert.deepEqual(await cursors.get('c'), { cursor, version: 1 });\n const updated = { ...cursor, hash: 'h2' };\n assert.equal(await cursors.put('c', updated, 1), 2);\n const stored = { cursor: updated, version: 2 };\n assert.deepEqual(await cursors.get('c'), stored);\n await rejectsWithCode(cursors.put('c', cursor, 1), 'VERSION_CONFLICT');\n assert.deepEqual(await cursors.get('c'), stored);\n await rejectsWithCode(cursors.put('c', cursor, null), 'VERSION_CONFLICT');\n assert.deepEqual(await cursors.get('c'), stored);\n });\n\n api.it('keeps the key out of its errors', async () => {\n // A cursor key can name a watched wallet, and error messages reach logs.\n const { cursors } = await create();\n const key = 'deposits:bitcoin:mainnet:bc1qcursorkeyc0ffee0000000000000000000000';\n const cursor = { height: 1n, hash: 'h1', recent: [{ height: 1n, hash: 'h1' }] };\n await cursors.put(key, cursor, null);\n await rejectsWithCodeKeepingOut(\n cursors.put(key, cursor, null),\n 'VERSION_CONFLICT',\n [key],\n );\n await rejectsWithCodeKeepingOut(cursors.put(key, cursor, 9), 'VERSION_CONFLICT', [\n key,\n ]);\n });\n });\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LockManager } from '../../core/store/types';
|
|
2
|
+
import type { ContractTestApi } from './api';
|
|
3
|
+
export interface LockHarness {
|
|
4
|
+
readonly locks: LockManager;
|
|
5
|
+
/** Moves the store's notion of time forward (a fake clock, or a real sleep). */
|
|
6
|
+
advance(ms: number): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare function describeLockManagerContract(api: ContractTestApi, create: () => LockHarness | Promise<LockHarness>, options?: {
|
|
9
|
+
readonly ttlMs?: number;
|
|
10
|
+
}): void;
|