@wopr-network/crypto-plugins 1.0.1 → 1.1.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/.github/workflows/ci.yml +0 -2
- package/dist/bitcoin/encoder.d.ts +1 -1
- package/dist/bitcoin/encoder.d.ts.map +1 -1
- package/dist/bitcoin/index.d.ts +1 -1
- package/dist/bitcoin/index.d.ts.map +1 -1
- package/dist/dogecoin/encoder.d.ts +1 -1
- package/dist/dogecoin/encoder.d.ts.map +1 -1
- package/dist/dogecoin/index.d.ts +1 -1
- package/dist/dogecoin/index.d.ts.map +1 -1
- package/dist/evm/encoder.d.ts +1 -1
- package/dist/evm/encoder.d.ts.map +1 -1
- package/dist/evm/eth-watcher.d.ts +1 -1
- package/dist/evm/eth-watcher.d.ts.map +1 -1
- package/dist/evm/index.d.ts +1 -1
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/watcher.d.ts +1 -1
- package/dist/evm/watcher.d.ts.map +1 -1
- package/dist/litecoin/encoder.d.ts +1 -1
- package/dist/litecoin/encoder.d.ts.map +1 -1
- package/dist/litecoin/index.d.ts +1 -1
- package/dist/litecoin/index.d.ts.map +1 -1
- package/dist/shared/test-helpers/index.d.ts +1 -1
- package/dist/shared/test-helpers/index.d.ts.map +1 -1
- package/dist/shared/utxo/watcher.d.ts +1 -1
- package/dist/shared/utxo/watcher.d.ts.map +1 -1
- package/dist/solana/encoder.d.ts +1 -1
- package/dist/solana/encoder.d.ts.map +1 -1
- package/dist/solana/index.d.ts +1 -1
- package/dist/solana/index.d.ts.map +1 -1
- package/dist/solana/sweeper.d.ts +5 -6
- package/dist/solana/sweeper.d.ts.map +1 -1
- package/dist/solana/sweeper.js +230 -10
- package/dist/solana/sweeper.js.map +1 -1
- package/dist/solana/watcher.d.ts +1 -1
- package/dist/solana/watcher.d.ts.map +1 -1
- package/dist/sweep/evm-sweeper.d.ts +1 -1
- package/dist/sweep/evm-sweeper.d.ts.map +1 -1
- package/dist/sweep/index.js +90 -4
- package/dist/sweep/index.js.map +1 -1
- package/dist/sweep/tron-sweeper.d.ts +1 -1
- package/dist/sweep/tron-sweeper.d.ts.map +1 -1
- package/dist/sweep/utxo-sweeper.d.ts +1 -1
- package/dist/sweep/utxo-sweeper.d.ts.map +1 -1
- package/dist/tron/encoder.d.ts +1 -1
- package/dist/tron/encoder.d.ts.map +1 -1
- package/dist/tron/index.d.ts +1 -1
- package/dist/tron/index.d.ts.map +1 -1
- package/dist/tron/watcher.d.ts +1 -1
- package/dist/tron/watcher.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/registry.test.ts +1 -1
- package/src/bitcoin/encoder.ts +1 -1
- package/src/bitcoin/index.ts +1 -1
- package/src/dogecoin/encoder.ts +1 -1
- package/src/dogecoin/index.ts +1 -1
- package/src/evm/encoder.ts +1 -1
- package/src/evm/eth-watcher.ts +1 -1
- package/src/evm/index.ts +1 -1
- package/src/evm/watcher.ts +1 -1
- package/src/litecoin/encoder.ts +1 -1
- package/src/litecoin/index.ts +1 -1
- package/src/shared/test-helpers/index.ts +1 -1
- package/src/shared/utxo/watcher.ts +1 -1
- package/src/solana/encoder.ts +1 -1
- package/src/solana/index.ts +1 -1
- package/src/solana/sweeper.ts +270 -15
- package/src/solana/watcher.ts +1 -1
- package/src/sweep/evm-sweeper.ts +1 -1
- package/src/sweep/index.ts +103 -5
- package/src/sweep/tron-sweeper.ts +1 -1
- package/src/sweep/utxo-sweeper.ts +1 -1
- package/src/tron/encoder.ts +1 -1
- package/src/tron/index.ts +1 -1
- package/src/tron/watcher.ts +1 -1
package/.github/workflows/ci.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IAddressEncoder } from "@wopr-network/platform-
|
|
1
|
+
import type { IAddressEncoder } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
/** HASH160 = RIPEMD-160(SHA-256(data)). Standard Bitcoin address hash. */
|
|
3
3
|
export declare function hash160(data: Uint8Array): Uint8Array;
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/bitcoin/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/bitcoin/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAkSnG,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAEpD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,eAQ3B,CAAC"}
|
package/dist/bitcoin/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IChainPlugin } from "@wopr-network/platform-
|
|
1
|
+
import type { IChainPlugin } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
export { bech32Encoder, encodeBech32Address, hash160 } from "./encoder.js";
|
|
3
3
|
export declare const bitcoinPlugin: IChainPlugin;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bitcoin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bitcoin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,6CAA6C,CAAC;AAM7F,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE3E,eAAO,MAAM,aAAa,EAAE,YAc3B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IAddressEncoder } from "@wopr-network/platform-
|
|
1
|
+
import type { IAddressEncoder } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
/**
|
|
3
3
|
* Encode a compressed public key as a P2PKH (Base58Check) address.
|
|
4
4
|
* Used for DOGE (version 0x1e), etc.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/dogecoin/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/dogecoin/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,6CAA6C,CAAC;AA6HnG;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAUrF;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,eAQ1B,CAAC"}
|
package/dist/dogecoin/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IChainPlugin } from "@wopr-network/platform-
|
|
1
|
+
import type { IChainPlugin } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
export { encodeP2pkhAddress, p2pkhEncoder } from "./encoder.js";
|
|
3
3
|
export declare const dogecoinPlugin: IChainPlugin;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dogecoin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dogecoin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,6CAA6C,CAAC;AAM7F,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhE,eAAO,MAAM,cAAc,EAAE,YAc5B,CAAC"}
|
package/dist/evm/encoder.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EncodingParams, IAddressEncoder } from "@wopr-network/platform-
|
|
1
|
+
import type { EncodingParams, IAddressEncoder } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
/** EVM address encoder implementing IAddressEncoder. */
|
|
3
3
|
export declare class EvmAddressEncoder implements IAddressEncoder {
|
|
4
4
|
encode(publicKey: Uint8Array, _params: EncodingParams): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/evm/encoder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/evm/encoder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAqCnG,wDAAwD;AACxD,qBAAa,iBAAkB,YAAW,eAAe;IACxD,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM;IAI9D,YAAY,IAAI,MAAM;CAGtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth-watcher.d.ts","sourceRoot":"","sources":["../../src/evm/eth-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAGb,YAAY,EACZ,WAAW,EACX,MAAM,
|
|
1
|
+
{"version":3,"file":"eth-watcher.d.ts","sourceRoot":"","sources":["../../src/evm/eth-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAGb,YAAY,EACZ,WAAW,EACX,MAAM,6CAA6C,CAAC;AAsBrD;;;;;;;;;;GAUG;AACH,qBAAa,UAAW,YAAW,aAAa;IAC/C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,iBAAiB,CAAc;gBAE3B,IAAI,EAAE,WAAW;IAYvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAI9C,SAAS,IAAI,MAAM;IAInB,IAAI,IAAI,IAAI;IAIZ;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAgFrC"}
|
package/dist/evm/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IChainPlugin } from "@wopr-network/platform-
|
|
1
|
+
import type { IChainPlugin } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
export { EvmAddressEncoder } from "./encoder.js";
|
|
3
3
|
export { EthWatcher } from "./eth-watcher.js";
|
|
4
4
|
export type { ChainConfig, EvmChain, RpcCall, RpcLog, RpcTransaction, StablecoinToken, TokenConfig, } from "./types.js";
|
package/dist/evm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,6CAA6C,CAAC;AAK1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EACX,WAAW,EACX,QAAQ,EACR,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,WAAW,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI3D;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,EAAE,YAgBvB,CAAC"}
|
package/dist/evm/watcher.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IChainWatcher, PaymentEvent, WatcherOpts } from "@wopr-network/platform-
|
|
1
|
+
import type { IChainWatcher, PaymentEvent, WatcherOpts } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
import type { RpcCall } from "./types.js";
|
|
3
3
|
/** Create an RPC caller for a given URL (plain JSON-RPC over fetch). */
|
|
4
4
|
export declare function createRpcCaller(rpcUrl: string, extraHeaders?: Record<string, string>): RpcCall;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/evm/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,MAAM,
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/evm/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAU,MAAM,YAAY,CAAC;AAIlD,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAqB9F;AAUD;;;;;;GAMG;AACH,qBAAa,UAAW,YAAW,aAAa;IAC/C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,iBAAiB,CAAW;gBAExB,IAAI,EAAE,WAAW;IAavB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAI9C,SAAS,IAAI,MAAM;IAInB,IAAI,IAAI,IAAI;IAIZ;;;;;;;;;;OAUG;IACG,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAqFrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/litecoin/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/litecoin/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAInG;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,eAQ3B,CAAC"}
|
package/dist/litecoin/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IChainPlugin } from "@wopr-network/platform-
|
|
1
|
+
import type { IChainPlugin } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
export { bech32Encoder } from "./encoder.js";
|
|
3
3
|
export declare const litecoinPlugin: IChainPlugin;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/litecoin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/litecoin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,6CAA6C,CAAC;AAM7F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,eAAO,MAAM,cAAc,EAAE,YAc5B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IPriceOracle, IWatcherCursorStore } from "@wopr-network/platform-
|
|
1
|
+
import type { IPriceOracle, IWatcherCursorStore } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
/** In-memory mock cursor store for testing UTXO watchers. */
|
|
3
3
|
export declare function createMockCursorStore(): IWatcherCursorStore & {
|
|
4
4
|
_cursors: Map<string, number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/test-helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/test-helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAErG,6DAA6D;AAC7D,wBAAgB,qBAAqB,IAAI,mBAAmB,GAAG;IAC9D,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAoBA;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,WAAW,SAAkB,GAAG,YAAY,CAM5E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IChainWatcher, IPriceOracle, IWatcherCursorStore, PaymentEvent, WatcherOpts } from "@wopr-network/platform-
|
|
1
|
+
import type { IChainWatcher, IPriceOracle, IWatcherCursorStore, PaymentEvent, WatcherOpts } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
import type { RpcCall } from "./types.js";
|
|
3
3
|
export interface UtxoWatcherConfig {
|
|
4
4
|
/** JSON-RPC call function for the node. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../../src/shared/utxo/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,MAAM,
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../../src/shared/utxo/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAKX,OAAO,EACP,MAAM,YAAY,CAAC;AAqBpB,MAAM,WAAW,iBAAiB;IACjC,2CAA2C;IAC3C,GAAG,EAAE,OAAO,CAAC;IACb,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,wDAAwD;IACxD,WAAW,EAAE,mBAAmB,CAAC;CACjC;AAED;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,aAAa;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,iBAAiB;IAW/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAK9C,SAAS,IAAI,MAAM;IAInB,IAAI,IAAI,IAAI;IAIZ;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBnD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAwDrC;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAUhF"}
|
package/dist/solana/encoder.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EncodingParams, IAddressEncoder } from "@wopr-network/platform-
|
|
1
|
+
import type { EncodingParams, IAddressEncoder } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
/**
|
|
3
3
|
* Encode a Uint8Array as a Base58 string (Bitcoin/Solana alphabet).
|
|
4
4
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/solana/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/solana/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAKnG;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAqCtD;AAeD,2DAA2D;AAC3D,qBAAa,oBAAqB,YAAW,eAAe;IAC3D,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM;IAI9D,YAAY,IAAI,MAAM;CAGtB"}
|
package/dist/solana/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IChainPlugin } from "@wopr-network/platform-
|
|
1
|
+
import type { IChainPlugin } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
export { base58Encode, SolanaAddressEncoder } from "./encoder.js";
|
|
3
3
|
export { SolanaSweeper } from "./sweeper.js";
|
|
4
4
|
export type { SignatureInfo, SolanaRpcCall, SolanaTransaction, TokenBalance, TransactionMeta } from "./types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/solana/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/solana/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,6CAA6C,CAAC;AAK1G,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjH,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIpE;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,YAa1B,CAAC"}
|
package/dist/solana/sweeper.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DepositInfo, ISweepStrategy, KeyPair, SweeperOpts, SweepResult } from "@wopr-network/platform-
|
|
1
|
+
import type { DepositInfo, ISweepStrategy, KeyPair, SweeperOpts, SweepResult } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
/**
|
|
3
3
|
* Solana sweep strategy.
|
|
4
4
|
*
|
|
@@ -30,17 +30,16 @@ export declare class SolanaSweeper implements ISweepStrategy {
|
|
|
30
30
|
*/
|
|
31
31
|
sweep(keys: KeyPair[], treasury: string, dryRun: boolean): Promise<SweepResult[]>;
|
|
32
32
|
/**
|
|
33
|
-
* Submit a native SOL transfer.
|
|
33
|
+
* Submit a native SOL transfer via SystemProgram.transfer.
|
|
34
34
|
*
|
|
35
|
-
* Builds
|
|
36
|
-
* and submits via sendTransaction.
|
|
35
|
+
* Builds the instruction manually, signs with Ed25519, and submits via sendTransaction.
|
|
37
36
|
*/
|
|
38
37
|
private submitSolTransfer;
|
|
39
38
|
/**
|
|
40
39
|
* Submit an SPL token transfer.
|
|
41
40
|
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
* Finds or derives the associated token accounts for sender and receiver,
|
|
42
|
+
* then builds a TokenProgram.Transfer instruction.
|
|
44
43
|
*/
|
|
45
44
|
private submitSplTransfer;
|
|
46
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sweeper.d.ts","sourceRoot":"","sources":["../../src/solana/sweeper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sweeper.d.ts","sourceRoot":"","sources":["../../src/solana/sweeper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,OAAO,EACP,WAAW,EACX,WAAW,EACX,MAAM,6CAA6C,CAAC;AAoMrD;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,cAAc;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,IAAI,EAAE,WAAW;IAQ7B;;;;;;OAMG;IACG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAuDtE;;;;;;;OAOG;IACG,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA6DvF;;;;OAIG;YACW,iBAAiB;IA+B/B;;;;;OAKG;YACW,iBAAiB;CAqD/B"}
|
package/dist/solana/sweeper.js
CHANGED
|
@@ -1,6 +1,172 @@
|
|
|
1
|
+
import { ed25519 } from "@noble/curves/ed25519.js";
|
|
1
2
|
import { createSolanaRpcCaller } from "./watcher.js";
|
|
2
3
|
/** Transaction fee estimate (in lamports). */
|
|
3
4
|
const TX_FEE = 5000n;
|
|
5
|
+
/** SPL Token program ID. */
|
|
6
|
+
const TOKEN_PROGRAM_ID = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
|
|
7
|
+
/** System program ID. */
|
|
8
|
+
const SYSTEM_PROGRAM_ID = "11111111111111111111111111111111";
|
|
9
|
+
// --- Base58 for Solana ---
|
|
10
|
+
const BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
|
|
11
|
+
function base58decode(str) {
|
|
12
|
+
let num = 0n;
|
|
13
|
+
for (const ch of str) {
|
|
14
|
+
const idx = BASE58_ALPHABET.indexOf(ch);
|
|
15
|
+
if (idx < 0)
|
|
16
|
+
throw new Error(`Invalid Base58 char: ${ch}`);
|
|
17
|
+
num = num * 58n + BigInt(idx);
|
|
18
|
+
}
|
|
19
|
+
const bytes = [];
|
|
20
|
+
while (num > 0n) {
|
|
21
|
+
bytes.unshift(Number(num % 256n));
|
|
22
|
+
num = num / 256n;
|
|
23
|
+
}
|
|
24
|
+
let leadingZeros = 0;
|
|
25
|
+
for (const ch of str) {
|
|
26
|
+
if (ch !== "1")
|
|
27
|
+
break;
|
|
28
|
+
leadingZeros++;
|
|
29
|
+
}
|
|
30
|
+
return new Uint8Array([...new Array(leadingZeros).fill(0), ...bytes]);
|
|
31
|
+
}
|
|
32
|
+
function base58encode(data) {
|
|
33
|
+
let num = 0n;
|
|
34
|
+
for (const byte of data)
|
|
35
|
+
num = num * 256n + BigInt(byte);
|
|
36
|
+
let encoded = "";
|
|
37
|
+
while (num > 0n) {
|
|
38
|
+
encoded = BASE58_ALPHABET[Number(num % 58n)] + encoded;
|
|
39
|
+
num = num / 58n;
|
|
40
|
+
}
|
|
41
|
+
for (const byte of data) {
|
|
42
|
+
if (byte !== 0)
|
|
43
|
+
break;
|
|
44
|
+
encoded = `1${encoded}`;
|
|
45
|
+
}
|
|
46
|
+
return encoded || "1";
|
|
47
|
+
}
|
|
48
|
+
// --- Solana transaction helpers ---
|
|
49
|
+
/** Compact-u16 encoding used by Solana for array lengths. */
|
|
50
|
+
function encodeCompactU16(value) {
|
|
51
|
+
if (value < 0x80)
|
|
52
|
+
return new Uint8Array([value]);
|
|
53
|
+
if (value < 0x4000)
|
|
54
|
+
return new Uint8Array([(value & 0x7f) | 0x80, value >> 7]);
|
|
55
|
+
return new Uint8Array([(value & 0x7f) | 0x80, ((value >> 7) & 0x7f) | 0x80, value >> 14]);
|
|
56
|
+
}
|
|
57
|
+
/** Write a u32 as little-endian bytes. */
|
|
58
|
+
function writeU32LE(value) {
|
|
59
|
+
const buf = new Uint8Array(4);
|
|
60
|
+
buf[0] = value & 0xff;
|
|
61
|
+
buf[1] = (value >> 8) & 0xff;
|
|
62
|
+
buf[2] = (value >> 16) & 0xff;
|
|
63
|
+
buf[3] = (value >> 24) & 0xff;
|
|
64
|
+
return buf;
|
|
65
|
+
}
|
|
66
|
+
/** Write a u64 as little-endian bytes. */
|
|
67
|
+
function writeU64LE(value) {
|
|
68
|
+
const buf = new Uint8Array(8);
|
|
69
|
+
for (let i = 0; i < 8; i++) {
|
|
70
|
+
buf[i] = Number(value & 0xffn);
|
|
71
|
+
value = value >> 8n;
|
|
72
|
+
}
|
|
73
|
+
return buf;
|
|
74
|
+
}
|
|
75
|
+
/** Concatenate multiple Uint8Arrays. */
|
|
76
|
+
function concatBytes(...arrays) {
|
|
77
|
+
const total = arrays.reduce((sum, a) => sum + a.length, 0);
|
|
78
|
+
const result = new Uint8Array(total);
|
|
79
|
+
let offset = 0;
|
|
80
|
+
for (const a of arrays) {
|
|
81
|
+
result.set(a, offset);
|
|
82
|
+
offset += a.length;
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Build a Solana transaction message (v0 legacy format).
|
|
88
|
+
* Returns the serialized message bytes for signing.
|
|
89
|
+
*/
|
|
90
|
+
function buildTransactionMessage(recentBlockhash, feePayer, instructions) {
|
|
91
|
+
// Collect all unique accounts
|
|
92
|
+
const accountMap = new Map();
|
|
93
|
+
const feePayerKey = base58encode(feePayer);
|
|
94
|
+
accountMap.set(feePayerKey, { pubkey: feePayer, isSigner: true, isWritable: true });
|
|
95
|
+
for (const ix of instructions) {
|
|
96
|
+
const progKey = base58encode(ix.programId);
|
|
97
|
+
if (!accountMap.has(progKey)) {
|
|
98
|
+
accountMap.set(progKey, { pubkey: ix.programId, isSigner: false, isWritable: false });
|
|
99
|
+
}
|
|
100
|
+
for (const acc of ix.accounts) {
|
|
101
|
+
const key = base58encode(acc.pubkey);
|
|
102
|
+
const existing = accountMap.get(key);
|
|
103
|
+
if (existing) {
|
|
104
|
+
existing.isSigner = existing.isSigner || acc.isSigner;
|
|
105
|
+
existing.isWritable = existing.isWritable || acc.isWritable;
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
accountMap.set(key, { ...acc });
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Sort: signers+writable first, then signers+readonly, then non-signers+writable, then non-signers+readonly
|
|
113
|
+
// Fee payer is always first
|
|
114
|
+
const accounts = [...accountMap.values()];
|
|
115
|
+
accounts.sort((a, b) => {
|
|
116
|
+
const aKey = base58encode(a.pubkey);
|
|
117
|
+
const bKey = base58encode(b.pubkey);
|
|
118
|
+
if (aKey === feePayerKey)
|
|
119
|
+
return -1;
|
|
120
|
+
if (bKey === feePayerKey)
|
|
121
|
+
return 1;
|
|
122
|
+
if (a.isSigner !== b.isSigner)
|
|
123
|
+
return a.isSigner ? -1 : 1;
|
|
124
|
+
if (a.isWritable !== b.isWritable)
|
|
125
|
+
return a.isWritable ? -1 : 1;
|
|
126
|
+
return 0;
|
|
127
|
+
});
|
|
128
|
+
const numRequiredSignatures = accounts.filter((a) => a.isSigner).length;
|
|
129
|
+
const numReadonlySignedAccounts = accounts.filter((a) => a.isSigner && !a.isWritable).length;
|
|
130
|
+
const numReadonlyUnsignedAccounts = accounts.filter((a) => !a.isSigner && !a.isWritable).length;
|
|
131
|
+
const accountKeyIndex = new Map();
|
|
132
|
+
for (let i = 0; i < accounts.length; i++) {
|
|
133
|
+
accountKeyIndex.set(base58encode(accounts[i].pubkey), i);
|
|
134
|
+
}
|
|
135
|
+
// Serialize message
|
|
136
|
+
const header = new Uint8Array([numRequiredSignatures, numReadonlySignedAccounts, numReadonlyUnsignedAccounts]);
|
|
137
|
+
const accountKeysLen = encodeCompactU16(accounts.length);
|
|
138
|
+
const accountKeysData = concatBytes(...accounts.map((a) => a.pubkey));
|
|
139
|
+
const blockhashBytes = base58decode(recentBlockhash);
|
|
140
|
+
const instructionsLen = encodeCompactU16(instructions.length);
|
|
141
|
+
const ixData = [];
|
|
142
|
+
for (const ix of instructions) {
|
|
143
|
+
const progIdx = accountKeyIndex.get(base58encode(ix.programId));
|
|
144
|
+
if (progIdx === undefined)
|
|
145
|
+
throw new Error("Program ID not in account list");
|
|
146
|
+
const accountIdxs = ix.accounts.map((a) => {
|
|
147
|
+
const idx = accountKeyIndex.get(base58encode(a.pubkey));
|
|
148
|
+
if (idx === undefined)
|
|
149
|
+
throw new Error("Account not in account list");
|
|
150
|
+
return idx;
|
|
151
|
+
});
|
|
152
|
+
ixData.push(concatBytes(new Uint8Array([progIdx]), encodeCompactU16(accountIdxs.length), new Uint8Array(accountIdxs), encodeCompactU16(ix.data.length), ix.data));
|
|
153
|
+
}
|
|
154
|
+
return concatBytes(header, accountKeysLen, accountKeysData, blockhashBytes, instructionsLen, ...ixData);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Sign and serialize a full Solana transaction (legacy format).
|
|
158
|
+
* Returns base58-encoded wire format ready for sendTransaction.
|
|
159
|
+
*/
|
|
160
|
+
function signAndSerialize(messageBytes, signers) {
|
|
161
|
+
const signatures = [];
|
|
162
|
+
for (const secretKey of signers) {
|
|
163
|
+
const sig = ed25519.sign(messageBytes, secretKey.slice(0, 32));
|
|
164
|
+
signatures.push(sig);
|
|
165
|
+
}
|
|
166
|
+
const numSigs = encodeCompactU16(signatures.length);
|
|
167
|
+
const wire = concatBytes(numSigs, ...signatures, messageBytes);
|
|
168
|
+
return base58encode(wire);
|
|
169
|
+
}
|
|
4
170
|
/**
|
|
5
171
|
* Solana sweep strategy.
|
|
6
172
|
*
|
|
@@ -126,26 +292,80 @@ export class SolanaSweeper {
|
|
|
126
292
|
return results;
|
|
127
293
|
}
|
|
128
294
|
/**
|
|
129
|
-
* Submit a native SOL transfer.
|
|
295
|
+
* Submit a native SOL transfer via SystemProgram.transfer.
|
|
130
296
|
*
|
|
131
|
-
* Builds
|
|
132
|
-
* and submits via sendTransaction.
|
|
297
|
+
* Builds the instruction manually, signs with Ed25519, and submits via sendTransaction.
|
|
133
298
|
*/
|
|
134
299
|
async submitSolTransfer(key, treasury, lamports) {
|
|
135
|
-
// Get recent blockhash
|
|
136
300
|
const blockhashResult = (await this.rpc("getLatestBlockhash", [{ commitment: "finalized" }]));
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
301
|
+
const fromPubkey = base58decode(key.address);
|
|
302
|
+
const toPubkey = base58decode(treasury);
|
|
303
|
+
const systemProgramId = base58decode(SYSTEM_PROGRAM_ID);
|
|
304
|
+
// SystemProgram.Transfer instruction: index 2, followed by u64 lamports
|
|
305
|
+
const ixData = concatBytes(writeU32LE(2), writeU64LE(lamports));
|
|
306
|
+
const message = buildTransactionMessage(blockhashResult.value.blockhash, fromPubkey, [
|
|
307
|
+
{
|
|
308
|
+
programId: systemProgramId,
|
|
309
|
+
accounts: [
|
|
310
|
+
{ pubkey: fromPubkey, isSigner: true, isWritable: true },
|
|
311
|
+
{ pubkey: toPubkey, isSigner: false, isWritable: true },
|
|
312
|
+
],
|
|
313
|
+
data: ixData,
|
|
314
|
+
},
|
|
315
|
+
]);
|
|
316
|
+
// Ed25519 signing requires the 64-byte secret key (32-byte seed + 32-byte pubkey)
|
|
317
|
+
const secretKey = concatBytes(key.privateKey, fromPubkey);
|
|
318
|
+
const serialized = signAndSerialize(message, [secretKey]);
|
|
319
|
+
const result = (await this.rpc("sendTransaction", [serialized, { encoding: "base58" }]));
|
|
320
|
+
return result;
|
|
140
321
|
}
|
|
141
322
|
/**
|
|
142
323
|
* Submit an SPL token transfer.
|
|
143
324
|
*
|
|
144
|
-
*
|
|
145
|
-
*
|
|
325
|
+
* Finds or derives the associated token accounts for sender and receiver,
|
|
326
|
+
* then builds a TokenProgram.Transfer instruction.
|
|
146
327
|
*/
|
|
147
328
|
async submitSplTransfer(key, treasury, mint, amount) {
|
|
148
|
-
|
|
329
|
+
const blockhashResult = (await this.rpc("getLatestBlockhash", [{ commitment: "finalized" }]));
|
|
330
|
+
const fromPubkey = base58decode(key.address);
|
|
331
|
+
const tokenProgramId = base58decode(TOKEN_PROGRAM_ID);
|
|
332
|
+
// Find sender's token account for this mint
|
|
333
|
+
const senderAccounts = (await this.rpc("getTokenAccountsByOwner", [
|
|
334
|
+
key.address,
|
|
335
|
+
{ mint },
|
|
336
|
+
{ encoding: "jsonParsed" },
|
|
337
|
+
]));
|
|
338
|
+
if (senderAccounts.value.length === 0) {
|
|
339
|
+
throw new Error(`No token account found for ${key.address} mint ${mint}`);
|
|
340
|
+
}
|
|
341
|
+
const senderTokenAccount = base58decode(senderAccounts.value[0].pubkey);
|
|
342
|
+
// Find receiver's token account for this mint
|
|
343
|
+
const receiverAccounts = (await this.rpc("getTokenAccountsByOwner", [
|
|
344
|
+
treasury,
|
|
345
|
+
{ mint },
|
|
346
|
+
{ encoding: "jsonParsed" },
|
|
347
|
+
]));
|
|
348
|
+
if (receiverAccounts.value.length === 0) {
|
|
349
|
+
throw new Error(`No token account found for treasury ${treasury} mint ${mint} — create ATA first`);
|
|
350
|
+
}
|
|
351
|
+
const receiverTokenAccount = base58decode(receiverAccounts.value[0].pubkey);
|
|
352
|
+
// SPL Token Transfer instruction: index 3, followed by u64 amount
|
|
353
|
+
const ixData = concatBytes(new Uint8Array([3]), writeU64LE(amount));
|
|
354
|
+
const message = buildTransactionMessage(blockhashResult.value.blockhash, fromPubkey, [
|
|
355
|
+
{
|
|
356
|
+
programId: tokenProgramId,
|
|
357
|
+
accounts: [
|
|
358
|
+
{ pubkey: senderTokenAccount, isSigner: false, isWritable: true },
|
|
359
|
+
{ pubkey: receiverTokenAccount, isSigner: false, isWritable: true },
|
|
360
|
+
{ pubkey: fromPubkey, isSigner: true, isWritable: false },
|
|
361
|
+
],
|
|
362
|
+
data: ixData,
|
|
363
|
+
},
|
|
364
|
+
]);
|
|
365
|
+
const secretKey = concatBytes(key.privateKey, fromPubkey);
|
|
366
|
+
const serialized = signAndSerialize(message, [secretKey]);
|
|
367
|
+
const result = (await this.rpc("sendTransaction", [serialized, { encoding: "base58" }]));
|
|
368
|
+
return result;
|
|
149
369
|
}
|
|
150
370
|
}
|
|
151
371
|
//# sourceMappingURL=sweeper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sweeper.js","sourceRoot":"","sources":["../../src/solana/sweeper.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,8CAA8C;AAC9C,MAAM,MAAM,GAAG,KAAM,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IACR,GAAG,CAAgB;IACnB,KAAK,CAAS;IACd,KAAK,CAAS;IACd,eAAe,CAAU;IACzB,QAAQ,CAAS;IAElC,YAAY,IAAiB;QAC5B,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,IAAe,EAAE,SAAiB;QAC5C,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAsB,CAAC;YACnF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAE5C,MAAM,aAAa,GAAgE,EAAE,CAAC;YAEtF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE;oBAChE,GAAG,CAAC,OAAO;oBACX,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE;oBAC9B,EAAE,QAAQ,EAAE,YAAY,EAAE;iBAC1B,CAAC,CAaD,CAAC;gBAEF,KAAK,MAAM,EAAE,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;oBACtC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACzC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;wBACd,aAAa,CAAC,IAAI,CAAC;4BAClB,KAAK,EAAE,IAAI,CAAC,IAAI;4BAChB,OAAO,EAAE,GAAG;4BACZ,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;yBACnC,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,aAAa,GAAG,EAAE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,aAAa;oBACb,aAAa;iBACb,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,IAAe,EAAE,QAAgB,EAAE,MAAe;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,yBAAyB;YACzB,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBACxC,IAAI,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK,EAAE,EAAE,CAAC,KAAK;wBACf,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;wBAC7B,MAAM,EAAE,SAAS;qBACjB,CAAC,CAAC;oBACH,SAAS;gBACV,CAAC;gBAED,6EAA6E;gBAC7E,8EAA8E;gBAC9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;gBACjF,OAAO,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC7B,MAAM;iBACN,CAAC,CAAC;YACJ,CAAC;YAED,yEAAyE;YACzE,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;YACvD,IAAI,eAAe,GAAG,EAAE,EAAE,CAAC;gBAC1B,IAAI,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;wBAClC,MAAM,EAAE,SAAS;qBACjB,CAAC,CAAC;oBACH,SAAS;gBACV,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC5E,OAAO,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;oBAClC,MAAM;iBACN,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,iBAAiB,CAAC,GAAY,EAAE,QAAgB,EAAE,QAAgB;QAC/E,uBAAuB;QACvB,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,CAE3F,CAAC;QAEF,6FAA6F;QAC7F,6CAA6C;QAC7C,MAAM,IAAI,KAAK,CACd,iDAAiD,QAAQ,kBAAkB,GAAG,CAAC,OAAO,OAAO,QAAQ,mBAAmB,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,CACzJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,iBAAiB,CAAC,GAAY,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAc;QAC3F,MAAM,IAAI,KAAK,CACd,iDAAiD,MAAM,OAAO,IAAI,SAAS,GAAG,CAAC,OAAO,OAAO,QAAQ,EAAE,CACvG,CAAC;IACH,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"sweeper.js","sourceRoot":"","sources":["../../src/solana/sweeper.ts"],"names":[],"mappings":"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"}
|
package/dist/solana/watcher.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IChainWatcher, PaymentEvent, WatcherOpts } from "@wopr-network/platform-
|
|
1
|
+
import type { IChainWatcher, PaymentEvent, WatcherOpts } from "@wopr-network/platform-crypto-server/plugin";
|
|
2
2
|
import type { SolanaRpcCall } from "./types.js";
|
|
3
3
|
/** Create a Solana JSON-RPC caller. */
|
|
4
4
|
export declare function createSolanaRpcCaller(rpcUrl: string, extraHeaders?: Record<string, string>): SolanaRpcCall;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/solana/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,MAAM,
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/solana/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAiB,aAAa,EAAqB,MAAM,YAAY,CAAC;AAQlF,uCAAuC;AACvC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAiB1G;AAaD;;;;;;;;GAQG;AACH,qBAAa,aAAc,YAAW,aAAa;IAClD,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,iBAAiB,CAAc;gBAE3B,IAAI,EAAE,WAAW;IAavB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAI9C,SAAS,IAAI,MAAM;IAInB,IAAI,IAAI,IAAI;IAIZ;;;;;;;;;OASG;IACG,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAgDrC,0EAA0E;YAC5D,mBAAmB;IAOjC;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAkDnC;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;CAwDhC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* 2. Fund gas -- treasury sends ETH to ERC-20 deposit addresses
|
|
7
7
|
* 3. Sweep ERC-20s -- deposit addresses send all tokens to treasury
|
|
8
8
|
*/
|
|
9
|
-
import type { DepositInfo, ISweepStrategy, KeyPair, SweepResult } from "@wopr-network/platform-
|
|
9
|
+
import type { DepositInfo, ISweepStrategy, KeyPair, SweepResult } from "@wopr-network/platform-crypto-server/plugin";
|
|
10
10
|
import { type Address } from "viem";
|
|
11
11
|
export interface EvmToken {
|
|
12
12
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm-sweeper.d.ts","sourceRoot":"","sources":["../../src/sweep/evm-sweeper.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"evm-sweeper.d.ts","sourceRoot":"","sources":["../../src/sweep/evm-sweeper.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AACrH,OAAO,EACN,KAAK,OAAO,EAUZ,MAAM,MAAM,CAAC;AAuBd,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,qBAAa,UAAW,YAAW,cAAc;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;gBAElD,IAAI,EAAE,cAAc;IAkB1B,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAyChE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CA0KvF"}
|