@xyo-network/chain-bridge 1.19.6 → 1.19.8
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/dist/node/config/getGateway.d.ts.map +1 -1
- package/dist/node/index.mjs +353 -351
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/manifest/getIterableMap.d.ts +10 -0
- package/dist/node/manifest/getIterableMap.d.ts.map +1 -0
- package/dist/node/manifest/getModuleLocator.d.ts.map +1 -1
- package/dist/node/manifest/getNode.d.ts.map +1 -1
- package/dist/node/manifest/getServices.d.ts.map +1 -1
- package/dist/node/queue/flows/createXl1ToEthBridgeJob.d.ts +6 -0
- package/dist/node/queue/flows/createXl1ToEthBridgeJob.d.ts.map +1 -1
- package/dist/node/queue/workers/EthTransactionMonitor.d.ts +3 -0
- package/dist/node/queue/workers/EthTransactionMonitor.d.ts.map +1 -0
- package/dist/node/queue/workers/EthTransactionPreparation.d.ts +6 -0
- package/dist/node/queue/workers/EthTransactionPreparation.d.ts.map +1 -0
- package/dist/node/queue/workers/EthTransactionSubmission.d.ts +3 -0
- package/dist/node/queue/workers/EthTransactionSubmission.d.ts.map +1 -0
- package/dist/node/queue/workers/WorkerDescription.d.ts +2 -1
- package/dist/node/queue/workers/WorkerDescription.d.ts.map +1 -1
- package/dist/node/queue/workers/Xl1ToEthBridgeParent.d.ts +3 -0
- package/dist/node/queue/workers/Xl1ToEthBridgeParent.d.ts.map +1 -0
- package/dist/node/queue/workers/Xl1TransactionMonitor.d.ts +3 -0
- package/dist/node/queue/workers/Xl1TransactionMonitor.d.ts.map +1 -0
- package/dist/node/queue/workers/Xl1TransactionPreparation.d.ts +3 -0
- package/dist/node/queue/workers/Xl1TransactionPreparation.d.ts.map +1 -0
- package/dist/node/queue/workers/Xl1TransactionSubmission.d.ts +3 -0
- package/dist/node/queue/workers/Xl1TransactionSubmission.d.ts.map +1 -0
- package/dist/node/queue/workers/createWorkers.d.ts +2 -1
- package/dist/node/queue/workers/createWorkers.d.ts.map +1 -1
- package/dist/node/queue/workers/index.d.ts +7 -7
- package/dist/node/queue/workers/util/index.d.ts +3 -0
- package/dist/node/queue/workers/util/index.d.ts.map +1 -0
- package/dist/node/queue/workers/util/submitEthTransaction.d.ts +5 -0
- package/dist/node/queue/workers/util/submitEthTransaction.d.ts.map +1 -0
- package/dist/node/queue/workers/util/submitXl1Transaction.d.ts +43 -0
- package/dist/node/queue/workers/util/submitXl1Transaction.d.ts.map +1 -0
- package/dist/node/server/{flowProducer.d.ts → addFlowProducer.d.ts} +1 -1
- package/dist/node/server/addFlowProducer.d.ts.map +1 -0
- package/dist/node/server/addWorkers.d.ts +4 -0
- package/dist/node/server/addWorkers.d.ts.map +1 -0
- package/dist/node/server/index.d.ts +0 -2
- package/dist/node/server/index.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeConfig.d.ts +22 -0
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeConfig.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.d.ts +81 -0
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.d.ts +72 -0
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.d.ts +81 -0
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.d.ts.map +1 -1
- package/dist/node/server/server.d.ts.map +1 -1
- package/dist/node/services/IBridgeServiceCollection.d.ts +2 -1
- package/dist/node/services/IBridgeServiceCollection.d.ts.map +1 -1
- package/dist/node/util/calculateBridgeFees.d.ts +1 -1
- package/dist/node/util/calculateBridgeFees.d.ts.map +1 -1
- package/dist/node/util/getConfigFromEnv.d.ts +6 -0
- package/dist/node/util/getConfigFromEnv.d.ts.map +1 -0
- package/dist/node/util/index.d.ts +1 -0
- package/dist/node/util/index.d.ts.map +1 -1
- package/package.json +24 -20
- package/src/config/getBridgeEscrowAddress.ts +2 -2
- package/src/config/getBridgeFeesAddress.ts +2 -2
- package/src/config/getBridgeWalletAccount.ts +1 -1
- package/src/config/getFeeStructure.ts +1 -1
- package/src/config/getGateway.ts +7 -12
- package/src/config/getMaxBridgeAmount.ts +1 -1
- package/src/config/getMinBridgeAmount.ts +1 -1
- package/src/config/getRemoteChainId.ts +1 -1
- package/src/config/getRemoteTokenAddress.ts +1 -1
- package/src/config/getXl1ChainId.ts +1 -1
- package/src/config/getXl1TokenAddress.ts +1 -1
- package/src/manifest/getIterableMap.ts +34 -0
- package/src/manifest/getModuleLocator.ts +4 -6
- package/src/manifest/getNode.ts +8 -6
- package/src/manifest/getServices.ts +11 -47
- package/src/queue/connection.ts +1 -1
- package/src/queue/flows/createXl1ToEthBridgeJob.ts +34 -19
- package/src/queue/workers/{ethTransactionMonitor.ts → EthTransactionMonitor.ts} +16 -7
- package/src/queue/workers/{ethTransactionPreparation.ts → EthTransactionPreparation.ts} +21 -9
- package/src/queue/workers/{ethTransactionSubmission.ts → EthTransactionSubmission.ts} +24 -9
- package/src/queue/workers/WorkerDescription.ts +3 -1
- package/src/queue/workers/{xl1ToEthBridgeParent.ts → Xl1ToEthBridgeParent.ts} +10 -2
- package/src/queue/workers/{xl1TransactionMonitor.ts → Xl1TransactionMonitor.ts} +20 -10
- package/src/queue/workers/{xl1TransactionPreparation.ts → Xl1TransactionPreparation.ts} +16 -5
- package/src/queue/workers/{xl1TransactionSubmission.ts → Xl1TransactionSubmission.ts} +21 -10
- package/src/queue/workers/createWorkers.ts +16 -9
- package/src/queue/workers/index.ts +7 -7
- package/src/queue/workers/util/index.ts +2 -0
- package/src/queue/workers/util/submitEthTransaction.ts +25 -0
- package/src/queue/workers/util/submitXl1Transaction.ts +9 -0
- package/src/server/addWorkers.ts +9 -0
- package/src/server/app.ts +1 -1
- package/src/server/index.ts +2 -2
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeConfig.ts +4 -2
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.ts +13 -10
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.ts +21 -15
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.ts +17 -15
- package/src/server/server.ts +5 -3
- package/src/services/IBridgeServiceCollection.ts +2 -1
- package/src/util/calculateBridgeFees.ts +1 -1
- package/src/util/getConfigFromEnv.ts +15 -0
- package/src/util/index.ts +1 -0
- package/dist/node/queue/workers/ethTransactionMonitor.d.ts +0 -3
- package/dist/node/queue/workers/ethTransactionMonitor.d.ts.map +0 -1
- package/dist/node/queue/workers/ethTransactionPreparation.d.ts +0 -5
- package/dist/node/queue/workers/ethTransactionPreparation.d.ts.map +0 -1
- package/dist/node/queue/workers/ethTransactionSubmission.d.ts +0 -3
- package/dist/node/queue/workers/ethTransactionSubmission.d.ts.map +0 -1
- package/dist/node/queue/workers/xl1ToEthBridgeParent.d.ts +0 -3
- package/dist/node/queue/workers/xl1ToEthBridgeParent.d.ts.map +0 -1
- package/dist/node/queue/workers/xl1TransactionMonitor.d.ts +0 -3
- package/dist/node/queue/workers/xl1TransactionMonitor.d.ts.map +0 -1
- package/dist/node/queue/workers/xl1TransactionPreparation.d.ts +0 -3
- package/dist/node/queue/workers/xl1TransactionPreparation.d.ts.map +0 -1
- package/dist/node/queue/workers/xl1TransactionSubmission.d.ts +0 -3
- package/dist/node/queue/workers/xl1TransactionSubmission.d.ts.map +0 -1
- package/dist/node/server/flowProducer.d.ts.map +0 -1
- /package/src/server/{flowProducer.ts → addFlowProducer.ts} +0 -0
package/src/server/server.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { HDWallet } from '@xyo-network/wallet'
|
|
|
8
8
|
import { type Config } from '@xyo-network/xl1-sdk'
|
|
9
9
|
|
|
10
10
|
import { getNode, getServices } from '../manifest/index.ts'
|
|
11
|
+
import { addWorkers } from './addWorkers.ts'
|
|
11
12
|
import { getApp } from './app.ts'
|
|
12
13
|
|
|
13
14
|
const hostname = '::'
|
|
@@ -17,7 +18,7 @@ const hostname = '::'
|
|
|
17
18
|
const getSeedPhrase = async (bios: BiosExternalInterface, config: Config, logger?: Logger): Promise<string> => {
|
|
18
19
|
const storedSeedPhrase = await bios.seedPhraseStore.get('os')
|
|
19
20
|
logger?.debug(`[Bridge] Stored mnemonic: ${storedSeedPhrase}`)
|
|
20
|
-
const { mnemonic } = config.api
|
|
21
|
+
const { mnemonic } = config.actors.api
|
|
21
22
|
if (isString(storedSeedPhrase) && isString(mnemonic)) {
|
|
22
23
|
logger?.warn('[Bridge] Stored mnemonic does not match supplied. Updating stored mnemonic to supplied.')
|
|
23
24
|
await bios.seedPhraseStore.set('os', mnemonic)
|
|
@@ -43,7 +44,7 @@ interface GetServerContext {
|
|
|
43
44
|
|
|
44
45
|
export const getServer = async (context: GetServerContext) => {
|
|
45
46
|
const { logger, config } = context
|
|
46
|
-
const { port, mnemonic } = config.bridge
|
|
47
|
+
const { port, mnemonic } = config.actors.bridge
|
|
47
48
|
const bios = await boot()
|
|
48
49
|
const seedPhrase = isDefined(mnemonic) ? mnemonic : await getSeedPhrase(bios, config, logger)
|
|
49
50
|
const wallet = await HDWallet.fromPhrase(seedPhrase)
|
|
@@ -52,7 +53,8 @@ export const getServer = async (context: GetServerContext) => {
|
|
|
52
53
|
}
|
|
53
54
|
const node = context.node ?? await getNode(nodeContext)
|
|
54
55
|
const app = getApp(node, config)
|
|
55
|
-
|
|
56
|
+
const services = await getServices({ config, logger })
|
|
57
|
+
addWorkers(config, services)
|
|
56
58
|
const server = app.listen(port, hostname, () => logger?.log(`[Bridge] Server listening at http://${hostname}:${port}`))
|
|
57
59
|
server.setTimeout(20_000)
|
|
58
60
|
return server
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Hash } from '@xylabs/sdk-js'
|
|
2
2
|
import type { AccountInstance } from '@xyo-network/account-model'
|
|
3
|
-
import type { LiquidityPoolBridge } from '@xyo-network/typechain'
|
|
3
|
+
import type { BridgeableToken, LiquidityPoolBridge } from '@xyo-network/typechain'
|
|
4
4
|
import type { IterableMap, XyoGatewayRunner } from '@xyo-network/xl1-sdk'
|
|
5
5
|
import type { Provider, Wallet } from 'ethers'
|
|
6
6
|
|
|
@@ -10,6 +10,7 @@ import type { Xl1TxState } from './Xl1TxState.ts'
|
|
|
10
10
|
export interface IBridgeServiceCollection {
|
|
11
11
|
account: AccountInstance
|
|
12
12
|
bridge: LiquidityPoolBridge
|
|
13
|
+
bridgeableToken: BridgeableToken
|
|
13
14
|
ethTxStateMap: IterableMap<Hash, EthTxState>
|
|
14
15
|
gateway: XyoGatewayRunner
|
|
15
16
|
provider: Provider
|
|
@@ -2,7 +2,7 @@ import type { Hex } from '@xylabs/sdk-js'
|
|
|
2
2
|
import { hexToBigInt, toHex } from '@xylabs/sdk-js'
|
|
3
3
|
import type { Config } from '@xyo-network/xl1-sdk'
|
|
4
4
|
|
|
5
|
-
export type FeeStructure = Pick<Config['bridge'], 'feeFixed' | 'feeRateBasisPoints'>
|
|
5
|
+
export type FeeStructure = Pick<Config['actors']['bridge'], 'feeFixed' | 'feeRateBasisPoints'>
|
|
6
6
|
|
|
7
7
|
export interface FeeCalculationResult {
|
|
8
8
|
destAmount: Hex
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Config, ConfigZod } from '@xyo-network/xl1-sdk'
|
|
2
|
+
import type { Configuration } from 'yargs-parser'
|
|
3
|
+
import parser from 'yargs-parser'
|
|
4
|
+
|
|
5
|
+
export const ConfigParserEnvPrefix = 'XL1_'
|
|
6
|
+
export const ConfigParserConfiguration: Partial<Configuration> = {
|
|
7
|
+
'dot-notation': true, // foo.bar → { foo: { bar } }
|
|
8
|
+
'parse-numbers': false, // Don't auto-parse numbers to allow strings like "0x1"
|
|
9
|
+
'populate--': true, // Populate -- with all options so we can detected user-supplied vs defaults
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const getConfigFromEnv = (): Config => {
|
|
13
|
+
const parsed = parser([], { configuration: ConfigParserConfiguration, envPrefix: ConfigParserEnvPrefix })
|
|
14
|
+
return ConfigZod.parse(parsed)
|
|
15
|
+
}
|
package/src/util/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './calculateBridgeFees.ts'
|
|
2
2
|
export * from './generateBridgeEstimate.ts'
|
|
3
|
+
export * from './getConfigFromEnv.ts'
|
|
3
4
|
export * from './validateBridgeEstimate.ts'
|
|
4
5
|
export * from './validateBridgeEstimateExact.ts'
|
|
5
6
|
export * from './validateBridgeTransaction.ts'
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ethTransactionMonitor.d.ts","sourceRoot":"","sources":["../../../../src/queue/workers/ethTransactionMonitor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AA+B/D,eAAO,MAAM,qBAAqB,EAAE,iBAEnC,CAAA"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Redis } from 'ioredis';
|
|
2
|
-
import type { WorkerDescription } from './WorkerDescription.ts';
|
|
3
|
-
export declare const createWorker: (connection: Redis) => void;
|
|
4
|
-
export declare const ethTransactionPreparation: WorkerDescription;
|
|
5
|
-
//# sourceMappingURL=ethTransactionPreparation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ethTransactionPreparation.d.ts","sourceRoot":"","sources":["../../../../src/queue/workers/ethTransactionPreparation.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAS/D,eAAO,MAAM,YAAY,GAAI,YAAY,KAAK,SAwB7C,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,iBAEvC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ethTransactionSubmission.d.ts","sourceRoot":"","sources":["../../../../src/queue/workers/ethTransactionSubmission.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAkE/D,eAAO,MAAM,wBAAwB,EAAE,iBAEtC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xl1ToEthBridgeParent.d.ts","sourceRoot":"","sources":["../../../../src/queue/workers/xl1ToEthBridgeParent.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAkB/D,eAAO,MAAM,oBAAoB,EAAE,iBAElC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xl1TransactionMonitor.d.ts","sourceRoot":"","sources":["../../../../src/queue/workers/xl1TransactionMonitor.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAqD/D,eAAO,MAAM,qBAAqB,EAAE,iBAEnC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xl1TransactionPreparation.d.ts","sourceRoot":"","sources":["../../../../src/queue/workers/xl1TransactionPreparation.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AA0B/D,eAAO,MAAM,yBAAyB,EAAE,iBAEvC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xl1TransactionSubmission.d.ts","sourceRoot":"","sources":["../../../../src/queue/workers/xl1TransactionSubmission.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAiD/D,eAAO,MAAM,wBAAwB,EAAE,iBAEtC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flowProducer.d.ts","sourceRoot":"","sources":["../../../src/server/flowProducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,EAAE,QAAQ,MAAM,KAAG,OAK9D,CAAA"}
|
|
File without changes
|