@getomnichain/omnichain 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/LICENSE +21 -0
- package/README.md +66 -0
- package/dist/abstract_gas_pricing.d.ts +31 -0
- package/dist/abstract_gas_pricing.d.ts.map +1 -0
- package/dist/abstract_gas_pricing.js +22 -0
- package/dist/abstract_gas_pricing.js.map +1 -0
- package/dist/address.d.ts +10 -0
- package/dist/address.d.ts.map +1 -0
- package/dist/address.factory.d.ts +26 -0
- package/dist/address.factory.d.ts.map +1 -0
- package/dist/address.factory.js +75 -0
- package/dist/address.factory.js.map +1 -0
- package/dist/address.js +13 -0
- package/dist/address.js.map +1 -0
- package/dist/address_field.decorator.d.ts +17 -0
- package/dist/address_field.decorator.d.ts.map +1 -0
- package/dist/address_field.decorator.js +34 -0
- package/dist/address_field.decorator.js.map +1 -0
- package/dist/chain.base.d.ts +79 -0
- package/dist/chain.base.d.ts.map +1 -0
- package/dist/chain.base.js +113 -0
- package/dist/chain.base.js.map +1 -0
- package/dist/chain_ids.d.ts +122 -0
- package/dist/chain_ids.d.ts.map +1 -0
- package/dist/chain_ids.js +193 -0
- package/dist/chain_ids.js.map +1 -0
- package/dist/errors.d.ts +42 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +62 -0
- package/dist/errors.js.map +1 -0
- package/dist/evm/evm_address.d.ts +11 -0
- package/dist/evm/evm_address.d.ts.map +1 -0
- package/dist/evm/evm_address.js +56 -0
- package/dist/evm/evm_address.js.map +1 -0
- package/dist/evm/evm_chain.d.ts +123 -0
- package/dist/evm/evm_chain.d.ts.map +1 -0
- package/dist/evm/evm_chain.js +685 -0
- package/dist/evm/evm_chain.js.map +1 -0
- package/dist/evm/evm_chains.d.ts +83 -0
- package/dist/evm/evm_chains.d.ts.map +1 -0
- package/dist/evm/evm_chains.js +493 -0
- package/dist/evm/evm_chains.js.map +1 -0
- package/dist/evm/evm_gas_estimate.d.ts +45 -0
- package/dist/evm/evm_gas_estimate.d.ts.map +1 -0
- package/dist/evm/evm_gas_estimate.js +70 -0
- package/dist/evm/evm_gas_estimate.js.map +1 -0
- package/dist/evm/evm_gas_pricing.d.ts +40 -0
- package/dist/evm/evm_gas_pricing.d.ts.map +1 -0
- package/dist/evm/evm_gas_pricing.js +56 -0
- package/dist/evm/evm_gas_pricing.js.map +1 -0
- package/dist/evm/evm_token.d.ts +7 -0
- package/dist/evm/evm_token.d.ts.map +1 -0
- package/dist/evm/evm_token.js +22 -0
- package/dist/evm/evm_token.js.map +1 -0
- package/dist/evm/evm_tokens.d.ts +81 -0
- package/dist/evm/evm_tokens.d.ts.map +1 -0
- package/dist/evm/evm_tokens.js +104 -0
- package/dist/evm/evm_tokens.js.map +1 -0
- package/dist/evm/evm_transaction_status.d.ts +108 -0
- package/dist/evm/evm_transaction_status.d.ts.map +1 -0
- package/dist/evm/evm_transaction_status.js +177 -0
- package/dist/evm/evm_transaction_status.js.map +1 -0
- package/dist/evm/index.d.ts +10 -0
- package/dist/evm/index.d.ts.map +1 -0
- package/dist/evm/index.js +10 -0
- package/dist/evm/index.js.map +1 -0
- package/dist/evm/unsigned_evm_transaction.d.ts +19 -0
- package/dist/evm/unsigned_evm_transaction.d.ts.map +1 -0
- package/dist/evm/unsigned_evm_transaction.js +18 -0
- package/dist/evm/unsigned_evm_transaction.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/is_address.decorator.d.ts +3 -0
- package/dist/is_address.decorator.d.ts.map +1 -0
- package/dist/is_address.decorator.js +51 -0
- package/dist/is_address.decorator.js.map +1 -0
- package/dist/network_type.d.ts +73 -0
- package/dist/network_type.d.ts.map +1 -0
- package/dist/network_type.js +144 -0
- package/dist/network_type.js.map +1 -0
- package/dist/priority.d.ts +23 -0
- package/dist/priority.d.ts.map +1 -0
- package/dist/priority.js +23 -0
- package/dist/priority.js.map +1 -0
- package/dist/solana/index.d.ts +9 -0
- package/dist/solana/index.d.ts.map +1 -0
- package/dist/solana/index.js +9 -0
- package/dist/solana/index.js.map +1 -0
- package/dist/solana/solana_address.d.ts +20 -0
- package/dist/solana/solana_address.d.ts.map +1 -0
- package/dist/solana/solana_address.js +45 -0
- package/dist/solana/solana_address.js.map +1 -0
- package/dist/solana/solana_chain.d.ts +213 -0
- package/dist/solana/solana_chain.d.ts.map +1 -0
- package/dist/solana/solana_chain.js +704 -0
- package/dist/solana/solana_chain.js.map +1 -0
- package/dist/solana/solana_chains.d.ts +24 -0
- package/dist/solana/solana_chains.d.ts.map +1 -0
- package/dist/solana/solana_chains.js +84 -0
- package/dist/solana/solana_chains.js.map +1 -0
- package/dist/solana/solana_gas_pricing.d.ts +30 -0
- package/dist/solana/solana_gas_pricing.d.ts.map +1 -0
- package/dist/solana/solana_gas_pricing.js +26 -0
- package/dist/solana/solana_gas_pricing.js.map +1 -0
- package/dist/solana/solana_token.d.ts +19 -0
- package/dist/solana/solana_token.d.ts.map +1 -0
- package/dist/solana/solana_token.js +34 -0
- package/dist/solana/solana_token.js.map +1 -0
- package/dist/solana/solana_tokens.d.ts +22 -0
- package/dist/solana/solana_tokens.d.ts.map +1 -0
- package/dist/solana/solana_tokens.js +26 -0
- package/dist/solana/solana_tokens.js.map +1 -0
- package/dist/solana/solana_transaction_status.d.ts +59 -0
- package/dist/solana/solana_transaction_status.d.ts.map +1 -0
- package/dist/solana/solana_transaction_status.js +144 -0
- package/dist/solana/solana_transaction_status.js.map +1 -0
- package/dist/solana/unsigned_solana_transaction.d.ts +31 -0
- package/dist/solana/unsigned_solana_transaction.d.ts.map +1 -0
- package/dist/solana/unsigned_solana_transaction.js +26 -0
- package/dist/solana/unsigned_solana_transaction.js.map +1 -0
- package/dist/token.d.ts +35 -0
- package/dist/token.d.ts.map +1 -0
- package/dist/token.js +62 -0
- package/dist/token.js.map +1 -0
- package/dist/ton/index.d.ts +2 -0
- package/dist/ton/index.d.ts.map +1 -0
- package/dist/ton/index.js +2 -0
- package/dist/ton/index.js.map +1 -0
- package/dist/ton/ton_address.d.ts +10 -0
- package/dist/ton/ton_address.d.ts.map +1 -0
- package/dist/ton/ton_address.js +53 -0
- package/dist/ton/ton_address.js.map +1 -0
- package/dist/transaction_status.d.ts +140 -0
- package/dist/transaction_status.d.ts.map +1 -0
- package/dist/transaction_status.js +271 -0
- package/dist/transaction_status.js.map +1 -0
- package/dist/unsigned_transaction.d.ts +7 -0
- package/dist/unsigned_transaction.d.ts.map +1 -0
- package/dist/unsigned_transaction.js +9 -0
- package/dist/unsigned_transaction.js.map +1 -0
- package/dist/utxo/btc/btc_address.d.ts +15 -0
- package/dist/utxo/btc/btc_address.d.ts.map +1 -0
- package/dist/utxo/btc/btc_address.js +39 -0
- package/dist/utxo/btc/btc_address.js.map +1 -0
- package/dist/utxo/btc/btc_chain.d.ts +34 -0
- package/dist/utxo/btc/btc_chain.d.ts.map +1 -0
- package/dist/utxo/btc/btc_chain.js +62 -0
- package/dist/utxo/btc/btc_chain.js.map +1 -0
- package/dist/utxo/btc/btc_chains.d.ts +25 -0
- package/dist/utxo/btc/btc_chains.d.ts.map +1 -0
- package/dist/utxo/btc/btc_chains.js +43 -0
- package/dist/utxo/btc/btc_chains.js.map +1 -0
- package/dist/utxo/btc/btc_token.d.ts +6 -0
- package/dist/utxo/btc/btc_token.d.ts.map +1 -0
- package/dist/utxo/btc/btc_token.js +11 -0
- package/dist/utxo/btc/btc_token.js.map +1 -0
- package/dist/utxo/btc/index.d.ts +14 -0
- package/dist/utxo/btc/index.d.ts.map +1 -0
- package/dist/utxo/btc/index.js +14 -0
- package/dist/utxo/btc/index.js.map +1 -0
- package/dist/utxo/btc/network_params.d.ts +50 -0
- package/dist/utxo/btc/network_params.d.ts.map +1 -0
- package/dist/utxo/btc/network_params.js +188 -0
- package/dist/utxo/btc/network_params.js.map +1 -0
- package/dist/utxo/btc/tools/asset_outpoint.d.ts +7 -0
- package/dist/utxo/btc/tools/asset_outpoint.d.ts.map +1 -0
- package/dist/utxo/btc/tools/asset_outpoint.js +12 -0
- package/dist/utxo/btc/tools/asset_outpoint.js.map +1 -0
- package/dist/utxo/btc/tools/bitcoin_core.tool.d.ts +41 -0
- package/dist/utxo/btc/tools/bitcoin_core.tool.d.ts.map +1 -0
- package/dist/utxo/btc/tools/bitcoin_core.tool.js +172 -0
- package/dist/utxo/btc/tools/bitcoin_core.tool.js.map +1 -0
- package/dist/utxo/btc/tools/esplora.tool.d.ts +27 -0
- package/dist/utxo/btc/tools/esplora.tool.d.ts.map +1 -0
- package/dist/utxo/btc/tools/esplora.tool.js +113 -0
- package/dist/utxo/btc/tools/esplora.tool.js.map +1 -0
- package/dist/utxo/btc/tools/inscription_index.d.ts +6 -0
- package/dist/utxo/btc/tools/inscription_index.d.ts.map +1 -0
- package/dist/utxo/btc/tools/inscription_index.js +2 -0
- package/dist/utxo/btc/tools/inscription_index.js.map +1 -0
- package/dist/utxo/btc/tools/ordiscan.tool.d.ts +19 -0
- package/dist/utxo/btc/tools/ordiscan.tool.d.ts.map +1 -0
- package/dist/utxo/btc/tools/ordiscan.tool.js +53 -0
- package/dist/utxo/btc/tools/ordiscan.tool.js.map +1 -0
- package/dist/utxo/btc/tools/rare_sat_index.d.ts +6 -0
- package/dist/utxo/btc/tools/rare_sat_index.d.ts.map +1 -0
- package/dist/utxo/btc/tools/rare_sat_index.js +2 -0
- package/dist/utxo/btc/tools/rare_sat_index.js.map +1 -0
- package/dist/utxo/btc/tools/rune_index.d.ts +6 -0
- package/dist/utxo/btc/tools/rune_index.d.ts.map +1 -0
- package/dist/utxo/btc/tools/rune_index.js +2 -0
- package/dist/utxo/btc/tools/rune_index.js.map +1 -0
- package/dist/utxo/btc/tools/unisat.tool.d.ts +18 -0
- package/dist/utxo/btc/tools/unisat.tool.d.ts.map +1 -0
- package/dist/utxo/btc/tools/unisat.tool.js +49 -0
- package/dist/utxo/btc/tools/unisat.tool.js.map +1 -0
- package/dist/utxo/coin_selection.d.ts +29 -0
- package/dist/utxo/coin_selection.d.ts.map +1 -0
- package/dist/utxo/coin_selection.js +156 -0
- package/dist/utxo/coin_selection.js.map +1 -0
- package/dist/utxo/doge/doge_chains.d.ts +17 -0
- package/dist/utxo/doge/doge_chains.d.ts.map +1 -0
- package/dist/utxo/doge/doge_chains.js +28 -0
- package/dist/utxo/doge/doge_chains.js.map +1 -0
- package/dist/utxo/doge/index.d.ts +3 -0
- package/dist/utxo/doge/index.d.ts.map +1 -0
- package/dist/utxo/doge/index.js +3 -0
- package/dist/utxo/doge/index.js.map +1 -0
- package/dist/utxo/doge/network_params.d.ts +4 -0
- package/dist/utxo/doge/network_params.d.ts.map +1 -0
- package/dist/utxo/doge/network_params.js +24 -0
- package/dist/utxo/doge/network_params.js.map +1 -0
- package/dist/utxo/ecc.d.ts +2 -0
- package/dist/utxo/ecc.d.ts.map +1 -0
- package/dist/utxo/ecc.js +11 -0
- package/dist/utxo/ecc.js.map +1 -0
- package/dist/utxo/fee.d.ts +12 -0
- package/dist/utxo/fee.d.ts.map +1 -0
- package/dist/utxo/fee.js +51 -0
- package/dist/utxo/fee.js.map +1 -0
- package/dist/utxo/index.d.ts +20 -0
- package/dist/utxo/index.d.ts.map +1 -0
- package/dist/utxo/index.js +20 -0
- package/dist/utxo/index.js.map +1 -0
- package/dist/utxo/ltc/index.d.ts +3 -0
- package/dist/utxo/ltc/index.d.ts.map +1 -0
- package/dist/utxo/ltc/index.js +3 -0
- package/dist/utxo/ltc/index.js.map +1 -0
- package/dist/utxo/ltc/ltc_chains.d.ts +17 -0
- package/dist/utxo/ltc/ltc_chains.d.ts.map +1 -0
- package/dist/utxo/ltc/ltc_chains.js +28 -0
- package/dist/utxo/ltc/ltc_chains.js.map +1 -0
- package/dist/utxo/ltc/network_params.d.ts +4 -0
- package/dist/utxo/ltc/network_params.d.ts.map +1 -0
- package/dist/utxo/ltc/network_params.js +27 -0
- package/dist/utxo/ltc/network_params.js.map +1 -0
- package/dist/utxo/script.d.ts +16 -0
- package/dist/utxo/script.d.ts.map +1 -0
- package/dist/utxo/script.js +52 -0
- package/dist/utxo/script.js.map +1 -0
- package/dist/utxo/tools/broadcaster.d.ts +6 -0
- package/dist/utxo/tools/broadcaster.d.ts.map +1 -0
- package/dist/utxo/tools/broadcaster.js +2 -0
- package/dist/utxo/tools/broadcaster.js.map +1 -0
- package/dist/utxo/tools/chain_tip_provider.d.ts +5 -0
- package/dist/utxo/tools/chain_tip_provider.d.ts.map +1 -0
- package/dist/utxo/tools/chain_tip_provider.js +2 -0
- package/dist/utxo/tools/chain_tip_provider.js.map +1 -0
- package/dist/utxo/tools/fee_estimator.d.ts +6 -0
- package/dist/utxo/tools/fee_estimator.d.ts.map +1 -0
- package/dist/utxo/tools/fee_estimator.js +2 -0
- package/dist/utxo/tools/fee_estimator.js.map +1 -0
- package/dist/utxo/tools/raw_transaction_provider.d.ts +8 -0
- package/dist/utxo/tools/raw_transaction_provider.d.ts.map +1 -0
- package/dist/utxo/tools/raw_transaction_provider.js +2 -0
- package/dist/utxo/tools/raw_transaction_provider.js.map +1 -0
- package/dist/utxo/tools/utxo_provider.d.ts +7 -0
- package/dist/utxo/tools/utxo_provider.d.ts.map +1 -0
- package/dist/utxo/tools/utxo_provider.js +2 -0
- package/dist/utxo/tools/utxo_provider.js.map +1 -0
- package/dist/utxo/unsigned_utxo_transaction.d.ts +32 -0
- package/dist/utxo/unsigned_utxo_transaction.d.ts.map +1 -0
- package/dist/utxo/unsigned_utxo_transaction.js +32 -0
- package/dist/utxo/unsigned_utxo_transaction.js.map +1 -0
- package/dist/utxo/utxo.d.ts +43 -0
- package/dist/utxo/utxo.d.ts.map +1 -0
- package/dist/utxo/utxo.js +2 -0
- package/dist/utxo/utxo.js.map +1 -0
- package/dist/utxo/utxo_chain.d.ts +102 -0
- package/dist/utxo/utxo_chain.d.ts.map +1 -0
- package/dist/utxo/utxo_chain.js +524 -0
- package/dist/utxo/utxo_chain.js.map +1 -0
- package/dist/utxo/utxo_chains.d.ts +29 -0
- package/dist/utxo/utxo_chains.d.ts.map +1 -0
- package/dist/utxo/utxo_chains.js +63 -0
- package/dist/utxo/utxo_chains.js.map +1 -0
- package/dist/utxo/utxo_gas_pricing.d.ts +22 -0
- package/dist/utxo/utxo_gas_pricing.d.ts.map +1 -0
- package/dist/utxo/utxo_gas_pricing.js +20 -0
- package/dist/utxo/utxo_gas_pricing.js.map +1 -0
- package/dist/utxo/utxo_network_params.d.ts +25 -0
- package/dist/utxo/utxo_network_params.d.ts.map +1 -0
- package/dist/utxo/utxo_network_params.js +15 -0
- package/dist/utxo/utxo_network_params.js.map +1 -0
- package/dist/utxo/utxo_transaction_status.d.ts +73 -0
- package/dist/utxo/utxo_transaction_status.d.ts.map +1 -0
- package/dist/utxo/utxo_transaction_status.js +89 -0
- package/dist/utxo/utxo_transaction_status.js.map +1 -0
- package/docs/PUBLISHING.md +119 -0
- package/docs/README.md +273 -0
- package/docs/evm.md +205 -0
- package/docs/solana.md +220 -0
- package/docs/utxo.md +364 -0
- package/package.json +94 -0
package/dist/priority.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Speed-vs-cost knob for landing a transaction on chain. Lives in the chain SDK so that
|
|
3
|
+
* every chain's `suggest*` helpers and `createTransferUnsignedTransaction` can speak the
|
|
4
|
+
* same vocabulary. Consumers (depositron, pluton) re-export or re-use this enum directly —
|
|
5
|
+
* they should never invent their own three-tier mirror.
|
|
6
|
+
*
|
|
7
|
+
* The semantics per chain are documented on each chain's `suggest*` method.
|
|
8
|
+
*/
|
|
9
|
+
export var Priority;
|
|
10
|
+
(function (Priority) {
|
|
11
|
+
Priority["SLOW"] = "SLOW";
|
|
12
|
+
Priority["NORMAL"] = "NORMAL";
|
|
13
|
+
Priority["FAST"] = "FAST";
|
|
14
|
+
})(Priority || (Priority = {}));
|
|
15
|
+
export const DEFAULT_PRIORITY = Priority.NORMAL;
|
|
16
|
+
/**
|
|
17
|
+
* Python-name alias for `Priority`. omnichain-py names the same enum
|
|
18
|
+
* `FeePriority` (base/base.py:123); consumers writing Python-parity code
|
|
19
|
+
* can import either identifier. `Priority` remains the canonical TS name
|
|
20
|
+
* for back-compat.
|
|
21
|
+
*/
|
|
22
|
+
export const FeePriority = Priority;
|
|
23
|
+
//# sourceMappingURL=priority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priority.js","sourceRoot":"","sources":["../priority.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,6BAAiB,CAAA;IACjB,yBAAa,CAAA;AACf,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAa,QAAQ,CAAC,MAAM,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './solana_address.ts';
|
|
2
|
+
export * from './solana_chain.ts';
|
|
3
|
+
export * from './solana_chains.ts';
|
|
4
|
+
export * from './solana_gas_pricing.ts';
|
|
5
|
+
export * from './solana_token.ts';
|
|
6
|
+
export * from './solana_tokens.ts';
|
|
7
|
+
export * from './solana_transaction_status.ts';
|
|
8
|
+
export * from './unsigned_solana_transaction.ts';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../solana/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./solana_address.js";
|
|
2
|
+
export * from "./solana_chain.js";
|
|
3
|
+
export * from "./solana_chains.js";
|
|
4
|
+
export * from "./solana_gas_pricing.js";
|
|
5
|
+
export * from "./solana_token.js";
|
|
6
|
+
export * from "./solana_tokens.js";
|
|
7
|
+
export * from "./solana_transaction_status.js";
|
|
8
|
+
export * from "./unsigned_solana_transaction.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../solana/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
import { Address } from '../address.ts';
|
|
3
|
+
import { NetworkType } from '../network_type.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Solana addresses are 32-byte ed25519 public keys, encoded in base58 (no fixed length but
|
|
6
|
+
* always 32–44 chars after encoding). Validation defers to `PublicKey` which checks the
|
|
7
|
+
* base58 alphabet, decodes, and asserts the 32-byte length.
|
|
8
|
+
*
|
|
9
|
+
* Unlike EVM there is no case-folding / EIP-55 checksum — every valid address has exactly
|
|
10
|
+
* one canonical string form, so `canonical()` just returns the trimmed input verbatim once
|
|
11
|
+
* we've confirmed it parses.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SolanaAddress extends Address {
|
|
14
|
+
readonly pubkey: PublicKey;
|
|
15
|
+
constructor(raw: string);
|
|
16
|
+
canonical(): string;
|
|
17
|
+
get networkType(): NetworkType;
|
|
18
|
+
private static assertValid;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=solana_address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana_address.d.ts","sourceRoot":"","sources":["../../solana/solana_address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,OAAO;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;gBAEf,GAAG,EAAE,MAAM;IAKvB,SAAS,IAAI,MAAM;IAInB,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,OAAO,CAAC,MAAM,CAAC,WAAW;CAkB3B"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
import { Address } from "../address.js";
|
|
3
|
+
import { NetworkType } from "../network_type.js";
|
|
4
|
+
/**
|
|
5
|
+
* Solana addresses are 32-byte ed25519 public keys, encoded in base58 (no fixed length but
|
|
6
|
+
* always 32–44 chars after encoding). Validation defers to `PublicKey` which checks the
|
|
7
|
+
* base58 alphabet, decodes, and asserts the 32-byte length.
|
|
8
|
+
*
|
|
9
|
+
* Unlike EVM there is no case-folding / EIP-55 checksum — every valid address has exactly
|
|
10
|
+
* one canonical string form, so `canonical()` just returns the trimmed input verbatim once
|
|
11
|
+
* we've confirmed it parses.
|
|
12
|
+
*/
|
|
13
|
+
export class SolanaAddress extends Address {
|
|
14
|
+
pubkey;
|
|
15
|
+
constructor(raw) {
|
|
16
|
+
super(SolanaAddress.assertValid(raw));
|
|
17
|
+
this.pubkey = new PublicKey(this.raw);
|
|
18
|
+
}
|
|
19
|
+
canonical() {
|
|
20
|
+
return this.raw;
|
|
21
|
+
}
|
|
22
|
+
get networkType() {
|
|
23
|
+
return NetworkType.SOLANA;
|
|
24
|
+
}
|
|
25
|
+
static assertValid(raw) {
|
|
26
|
+
if (typeof raw !== 'string') {
|
|
27
|
+
throw new Error('Invalid Solana address: not a string');
|
|
28
|
+
}
|
|
29
|
+
const trimmed = raw.trim();
|
|
30
|
+
if (trimmed.length === 0) {
|
|
31
|
+
throw new Error('Invalid Solana address: empty');
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
const pk = new PublicKey(trimmed);
|
|
35
|
+
if (pk.toBytes().length !== 32) {
|
|
36
|
+
throw new Error('Solana address must be 32 bytes');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
throw new Error(`Invalid Solana address: "${raw}": ${err.message}`);
|
|
41
|
+
}
|
|
42
|
+
return trimmed;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=solana_address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana_address.js","sourceRoot":"","sources":["../../solana/solana_address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO;IAC/B,MAAM,CAAY;IAE3B,YAAY,GAAW;QACrB,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,GAAW;QACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { Connection, PublicKey, TransactionInstruction } from '@solana/web3.js';
|
|
2
|
+
import { Chain, CreateTransferRequest } from '../chain.base.ts';
|
|
3
|
+
import { Priority } from '../priority.ts';
|
|
4
|
+
import { NestedBalanceChanges } from '../transaction_status.ts';
|
|
5
|
+
import { SolanaTransactionStatus } from './solana_transaction_status.ts';
|
|
6
|
+
import { SolanaToken } from './solana_token.ts';
|
|
7
|
+
import { UnsignedSolanaTransaction } from './unsigned_solana_transaction.ts';
|
|
8
|
+
export interface SolanaChainInit {
|
|
9
|
+
chainId: number;
|
|
10
|
+
name: string;
|
|
11
|
+
/** ~0.4s mainnet, used to size confirmation polling intervals. */
|
|
12
|
+
blockTimeSeconds: number;
|
|
13
|
+
explorerBaseUrl: string;
|
|
14
|
+
/** e.g. `?cluster=devnet` for non-mainnet networks; mainnet keeps this empty. */
|
|
15
|
+
explorerClusterSuffix?: string;
|
|
16
|
+
nativeSymbol: string;
|
|
17
|
+
nativeDecimals?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Public cluster URL used as the final fallback when no override is set.
|
|
20
|
+
* Required — Solana never throws "not configured" like EVM; it falls back
|
|
21
|
+
* to this so a call without env config still reaches a real cluster.
|
|
22
|
+
*/
|
|
23
|
+
defaultRpcUrl: string;
|
|
24
|
+
/**
|
|
25
|
+
* Optional override. When set, used verbatim. See `readRpcUrl` below for
|
|
26
|
+
* the full precedence chain (constructor → derived `<NAME>_RPC_URL` →
|
|
27
|
+
* signed `SOLANA_<chainId>_RPC_URL` → `legacyRpcEnvNames` → `defaultRpcUrl`).
|
|
28
|
+
*/
|
|
29
|
+
rpcUrl?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Additional env var names to consult during RPC URL resolution, tried
|
|
32
|
+
* *after* the derived name and the `SOLANA_<chainId>_RPC_URL` fallback
|
|
33
|
+
* but *before* `defaultRpcUrl`. Used to keep pre-rename env vars working —
|
|
34
|
+
* e.g. `SolanaMainnet` used to derive `SOLANA_RPC_URL`; after the rename
|
|
35
|
+
* to `"Solana Mainnet"` the derived name is `SOLANA_MAINNET_RPC_URL`, and
|
|
36
|
+
* this field lets the old key stay honored.
|
|
37
|
+
*/
|
|
38
|
+
legacyRpcEnvNames?: readonly string[];
|
|
39
|
+
/** CAIP-2 genesis hash (first 32 chars). Surfaced for the depositron `chainAgnosticName` column. */
|
|
40
|
+
chainAgnosticGenesisHash: string;
|
|
41
|
+
}
|
|
42
|
+
export interface SolanaTransferOptions extends CreateTransferRequest {
|
|
43
|
+
/**
|
|
44
|
+
* Optional priority fee in microlamports per compute unit. Solana's priority queue is
|
|
45
|
+
* purely fee-based — there's no concept of replacement-by-fee. Map depositron's
|
|
46
|
+
* Priority enum here at the caller layer.
|
|
47
|
+
*/
|
|
48
|
+
priorityFeeMicroLamportsPerCu?: number;
|
|
49
|
+
/** Override CU limit. Default 200,000 covers SOL transfer + ATA creation comfortably. */
|
|
50
|
+
computeUnitLimit?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Optional sponsor / fee-payer pubkey. When set, the compiled tx names this account as
|
|
53
|
+
* `payerKey` and as the funding `payer` for any prepended `createAssociatedTokenAccount`
|
|
54
|
+
* instruction. The caller (sender) stays the SPL ATA owner / native-SOL source.
|
|
55
|
+
* Caller is then responsible for signing the tx with BOTH the sponsor's and the sender's
|
|
56
|
+
* keypairs. When omitted, `from` is both fee payer and source (backward-compatible).
|
|
57
|
+
*/
|
|
58
|
+
feePayer?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Solana is account-based but very different from EVM (see docs/solana.md). Key choices made
|
|
62
|
+
* for depositron:
|
|
63
|
+
* - Transfers always build a `VersionedTransaction` (MessageV0) — legacy transactions are
|
|
64
|
+
* deprecated and can't address account-lookup tables for fee reduction.
|
|
65
|
+
* - The fee payer is always the sender (no relayer pattern here).
|
|
66
|
+
* - SPL transfers use `transferChecked` (which asserts the recipient mint matches the
|
|
67
|
+
* declared mint, defeating the entire class of "wrong-token-decimals" attacks).
|
|
68
|
+
* - When the recipient doesn't have an ATA for the mint, we *prepend* a create-ATA
|
|
69
|
+
* instruction paid by the sender. This costs ~2039 lamports of rent-exempt deposit.
|
|
70
|
+
* - We do NOT consult a curated registry to determine SPL vs Token-2022 —
|
|
71
|
+
* instead we read the mint account owner at build time. That's one RPC per transfer but
|
|
72
|
+
* it's authoritative.
|
|
73
|
+
*/
|
|
74
|
+
export declare class SolanaChain extends Chain {
|
|
75
|
+
readonly defaultRpcUrl: string;
|
|
76
|
+
readonly rpcUrl: string | undefined;
|
|
77
|
+
readonly legacyRpcEnvNames: readonly string[];
|
|
78
|
+
readonly explorerClusterSuffix: string;
|
|
79
|
+
readonly chainAgnosticGenesisHash: string;
|
|
80
|
+
private readonly _nativeToken;
|
|
81
|
+
private _connection;
|
|
82
|
+
constructor(init: SolanaChainInit);
|
|
83
|
+
get nativeToken(): SolanaToken;
|
|
84
|
+
getConnection(): Connection;
|
|
85
|
+
/**
|
|
86
|
+
* Network-aware priority fee suggestion in microlamports per compute unit.
|
|
87
|
+
* Samples `getRecentPrioritizationFees({ lockedWritableAccounts: [] })` (cluster-wide, ~150 most recent slots) and
|
|
88
|
+
* picks a percentile per priority:
|
|
89
|
+
* - SLOW = p25
|
|
90
|
+
* - NORMAL = p50
|
|
91
|
+
* - FAST = p90
|
|
92
|
+
* Returns 0 if the cluster has been so quiet that the chosen percentile is 0 (legitimate
|
|
93
|
+
* outcome on devnet / off-peak mainnet). Caller plugs this into
|
|
94
|
+
* `ComputeBudgetProgram.setComputeUnitPrice({ microLamports })`.
|
|
95
|
+
*/
|
|
96
|
+
suggestPriorityFeeMicroLamports(priority: Priority): Promise<number>;
|
|
97
|
+
/**
|
|
98
|
+
* Env var name for a Solana chain by chain id — mirrors Python's
|
|
99
|
+
* `SolanaChain.rpc_url_env_for_chain_id` (impl/solana/base.py:421-423)
|
|
100
|
+
* exactly, including the signed chainId. Shell operators must set via
|
|
101
|
+
* dotenv / docker / k8s since `SOLANA_-2000_RPC_URL` is not a settable
|
|
102
|
+
* name in sh/bash/zsh.
|
|
103
|
+
*/
|
|
104
|
+
static rpcUrlEnvForChainId(chainId: number): string;
|
|
105
|
+
/**
|
|
106
|
+
* Resolution precedence, mirrors omnichain-py/impl/solana/base.py:424-434
|
|
107
|
+
* plus a TS-side legacy fallback for consumers with pre-v0 env-var names:
|
|
108
|
+
* 1. constructor `rpcUrl`
|
|
109
|
+
* 2. env `<NAME_UPPERCASE_UNDERSCORED>_RPC_URL`
|
|
110
|
+
* 3. env `SOLANA_<chainId>_RPC_URL` (Python parity — signed)
|
|
111
|
+
* 4. env from `legacyRpcEnvNames` (if configured — e.g. mainnet checks
|
|
112
|
+
* the pre-rename `SOLANA_RPC_URL` here)
|
|
113
|
+
* 5. `defaultRpcUrl` (never throws — public cluster)
|
|
114
|
+
*/
|
|
115
|
+
private readRpcUrl;
|
|
116
|
+
getWalletExplorerUrl(address: string): string;
|
|
117
|
+
getTokenExplorerUrl(tokenIdentifier?: string): string;
|
|
118
|
+
getTransactionExplorerUrl(txHash: string): string;
|
|
119
|
+
validateAddress(raw: string): boolean;
|
|
120
|
+
validateTokenIdentifier(raw: string | undefined): boolean;
|
|
121
|
+
getBalance(owner: string, tokenIdentifier?: string): Promise<bigint>;
|
|
122
|
+
createTransferUnsignedTransaction(req: SolanaTransferOptions): Promise<UnsignedSolanaTransaction>;
|
|
123
|
+
/**
|
|
124
|
+
* Wraps a caller-supplied list of program instructions into a fully-formed
|
|
125
|
+
* UnsignedSolanaTransaction. Used by depositron's SOL_INSTRUCTIONS action type to support
|
|
126
|
+
* arbitrary program calls (staking, swaps, custom programs) without the SDK having to
|
|
127
|
+
* understand the instruction semantics. The SDK still owns the envelope: CU limit + price,
|
|
128
|
+
* MessageV0 compilation, fresh blockhash, VersionedTransaction wrapping.
|
|
129
|
+
*
|
|
130
|
+
* Caller is responsible for: instruction correctness, signer-account constraints (only the
|
|
131
|
+
* single key the caller will sign with — typically the vault key — can be flagged as signer),
|
|
132
|
+
* ATA creation (if any instruction touches an ATA that doesn't exist yet), and decimals
|
|
133
|
+
* validation (no automatic `transferChecked` fallback here).
|
|
134
|
+
*/
|
|
135
|
+
createInstructionsUnsignedTransaction(req: {
|
|
136
|
+
from: string;
|
|
137
|
+
instructions: TransactionInstruction[];
|
|
138
|
+
priorityFeeMicroLamportsPerCu?: number;
|
|
139
|
+
computeUnitLimit?: number;
|
|
140
|
+
/**
|
|
141
|
+
* Optional sponsor / fee-payer pubkey. When set, the compiled tx names this account as
|
|
142
|
+
* `payerKey`. The caller (sender / `from`) stays as the authority for any signing role
|
|
143
|
+
* inside the supplied instructions. Caller signs with BOTH sponsor and sender keypairs.
|
|
144
|
+
* When omitted, `from` is also the fee payer (backward-compatible).
|
|
145
|
+
*/
|
|
146
|
+
feePayer?: string;
|
|
147
|
+
}): Promise<UnsignedSolanaTransaction>;
|
|
148
|
+
/**
|
|
149
|
+
* Returns a fresh UnsignedSolanaTransaction with the same instructions but a newly-fetched
|
|
150
|
+
* blockhash. Use when a previously-built tx couldn't broadcast inside its blockhash window
|
|
151
|
+
* (~60s on mainnet) — Solana drops txs whose blockhash has expired. Caller must re-sign:
|
|
152
|
+
* the new signed message has a different recent_blockhash byte sequence, so any existing
|
|
153
|
+
* signature is invalid.
|
|
154
|
+
*/
|
|
155
|
+
refreshBlockhash(unsigned: UnsignedSolanaTransaction): Promise<UnsignedSolanaTransaction>;
|
|
156
|
+
/**
|
|
157
|
+
* Simulates the tx and right-sizes its setComputeUnitLimit instruction (10% headroom).
|
|
158
|
+
* Lowers priority-fee cost because the fee = CU price × CU limit; oversized limits pay for
|
|
159
|
+
* unused compute. Returns the unsigned untouched if it has no CU-limit ix or simulation didn't
|
|
160
|
+
* report unitsConsumed. Throws ChainError(SimulationFailed) when the sim returns `err`.
|
|
161
|
+
*/
|
|
162
|
+
estimateAndApplyCu(unsigned: UnsignedSolanaTransaction): Promise<UnsignedSolanaTransaction>;
|
|
163
|
+
/** Whether the given error came from a preflight simulation rejection (vs network/transport). */
|
|
164
|
+
static isSimulationError(err: unknown): boolean;
|
|
165
|
+
/** Whether the given error indicates the tx's blockhash has expired and a refresh is needed. */
|
|
166
|
+
static isBlockhashExpiredError(err: unknown): boolean;
|
|
167
|
+
getTransactionStatus(txHash: string): Promise<SolanaTransactionStatus>;
|
|
168
|
+
getChainTipHeight(): Promise<number>;
|
|
169
|
+
/**
|
|
170
|
+
* Resolves the token program owner for a given mint. Token-2022 mints are owned by
|
|
171
|
+
* TOKEN_2022_PROGRAM_ID; classic SPL by TOKEN_PROGRAM_ID. Required for `transferChecked`
|
|
172
|
+
* and ATA derivation.
|
|
173
|
+
*/
|
|
174
|
+
resolveTokenProgramId(mint: PublicKey): Promise<PublicKey>;
|
|
175
|
+
resolveMintDecimals(mint: PublicKey): Promise<number>;
|
|
176
|
+
/**
|
|
177
|
+
* Raw-instruction helper for callers that will compile the transaction downstream
|
|
178
|
+
* (e.g. depositron's SOL_INSTRUCTIONS action type) instead of using
|
|
179
|
+
* createTransferUnsignedTransaction's compiled-tx surface.
|
|
180
|
+
*
|
|
181
|
+
* Synchronous — no RPC.
|
|
182
|
+
*/
|
|
183
|
+
buildNativeTransferInstruction(from: PublicKey, to: PublicKey, lamports: bigint): TransactionInstruction;
|
|
184
|
+
/**
|
|
185
|
+
* Raw-instruction helper for SPL / Token-2022 transfers where the caller will compile
|
|
186
|
+
* the transaction downstream. Returns [createATA-idempotent?, transferChecked].
|
|
187
|
+
*
|
|
188
|
+
* Idempotent ATA (vs the probe-then-create pattern in createTransferUnsignedTransaction)
|
|
189
|
+
* is deliberate: when a downstream compiler runs the emitted instructions blindly,
|
|
190
|
+
* a probe done here can race with execution — the idempotent form is a no-op when the
|
|
191
|
+
* ATA exists and a create when it doesn't, without needing a probe RPC.
|
|
192
|
+
*
|
|
193
|
+
* `allowOwnerOffCurve: true` applies to BOTH source and destination ATA derivation —
|
|
194
|
+
* needed for PDA-owned vaults / program-owned recipients. Defaults to false to match
|
|
195
|
+
* createTransferUnsignedTransaction.
|
|
196
|
+
*/
|
|
197
|
+
buildSplTransferInstructions(req: {
|
|
198
|
+
from: PublicKey;
|
|
199
|
+
to: PublicKey;
|
|
200
|
+
mint: PublicKey;
|
|
201
|
+
amount: bigint;
|
|
202
|
+
includeCreateAta?: boolean;
|
|
203
|
+
allowOwnerOffCurve?: boolean;
|
|
204
|
+
}): Promise<TransactionInstruction[]>;
|
|
205
|
+
/**
|
|
206
|
+
* Decodes per-account lamport deltas + SPL pre/post token-balance diffs into
|
|
207
|
+
* a `NestedBalanceChanges` map. Marked internal via naming rather than TS
|
|
208
|
+
* `private` so chain-agnostic unit tests can exercise it directly without
|
|
209
|
+
* spinning up a Connection.
|
|
210
|
+
*/
|
|
211
|
+
_decodeBalanceChanges(tx: NonNullable<Awaited<ReturnType<Connection['getTransaction']>>>): NestedBalanceChanges;
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=solana_chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana_chain.d.ts","sourceRoot":"","sources":["../../solana/solana_chain.ts"],"names":[],"mappings":"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"}
|