update relayer_engine stuff

This commit is contained in:
Joe Howarth 2023-01-18 11:56:22 -07:00
parent 9e3453709f
commit a9a1bbae2a
10 changed files with 10890 additions and 271 deletions

3
relayer_engine/pkgs/sdk/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
lib
node_modules
src/ethers-contracts

10404
relayer_engine/pkgs/sdk/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,37 @@
{
"name": "generic-relayer-sdk",
"version": "1.0.0",
"description": "",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"devDependencies": {
"@openzeppelin/contracts": "^4.7.3",
"@poanet/solidity-flattener": "^3.0.8",
"@types/chai": "^4.3.3",
"@types/mocha": "^9.1.1",
"chai": "^4.3.6",
"ethers": "^5.7.1",
"mocha": "^10.0.0",
"ts-mocha": "^10.0.0"
},
"scripts": {
"clean": "rm -rf node_modules src/ethers-contracts",
"typecheck": "tsc --noEmit",
"tsc": "tsc",
"build": "bash scripts/make_ethers_types.sh",
"test": "ts-mocha src/__tests__/*.ts --timeout 60000"
},
"author": "",
"license": "ISC",
"dependencies": {
"@certusone/wormhole-sdk": "^0.9.6",
"@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
"@typechain/ethers-v5": "^10.1.0",
"dotenv": "^16.0.2",
"elliptic": "^6.5.4",
"jsonfile": "^6.1.0",
"solc": "^0.8.17",
"ts-node": "^10.9.1",
"typescript": "^4.8.3"
}
}

View File

@ -0,0 +1,8 @@
export type { CoreRelayer, CoreRelayerStructs } from "./ethers-contracts/CoreRelayer"
export { CoreRelayer__factory } from "./ethers-contracts/factories/CoreRelayer__factory"
export type { MockRelayerIntegration } from "./ethers-contracts/MockRelayerIntegration"
export { MockRelayerIntegration__factory } from "./ethers-contracts/factories/MockRelayerIntegration__factory"
export type { IWormhole, LogMessagePublishedEvent } from "./ethers-contracts/IWormhole"
export { IWormhole__factory } from "./ethers-contracts/factories/IWormhole__factory"
export type { RelayProvider } from "./ethers-contracts/RelayProvider"
export { RelayProvider__factory } from "./ethers-contracts/factories/RelayProvider__factory"

View File

@ -0,0 +1,29 @@
{
"compilerOptions": {
"types": [
"mocha",
"chai"
],
"typeRoots": [
"./node_modules/@types"
],
"outDir": "lib",
"esModuleInterop": true,
"target": "esnext",
"module": "CommonJS",
"moduleResolution": "node",
"lib": [
"ESNext"
],
"declaration": true,
"skipLibCheck": true,
"allowJs": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"isolatedModules": true,
"resolveJsonModule": true,
"downlevelIteration": true,
"sourceMap": true
},
}

View File

@ -5,33 +5,28 @@ import GenericRelayerPluginDef, {
GenericRelayerPluginConfig,
} from "./plugin/src/plugin"
type ContractConfigEntry = { chainId: EVMChainId; address: "string" }
type ContractsJson = {
relayProviders: ContractConfigEntry[]
coreRelayers: ContractConfigEntry[]
mockIntegrations: ContractConfigEntry[]
}
async function main() {
// load plugin config
const envType = selectPluginConfig(process.argv[2] || "")
const envType = selectPluginConfig(process.argv[2] ?? "")
const pluginConfig = (await relayerEngine.loadFileAndParseToObject(
`./src/plugin/config/${envType}.json`
)) as GenericRelayerPluginConfig
const contracts = await relayerEngine.loadFileAndParseToObject(
`./contracts.json`
)
// const contracts = await relayerEngine.loadFileAndParseToObject(
// `../ethereum/ts-scripts/config/${envType.replace("devnet", "testnet")}/contracts.json`
// )
const supportedChains = pluginConfig.supportedChains as unknown as Record<
any,
ChainInfo
>
contracts.coreRelayers.forEach(
({ chainId, address }: contractConfigEntry) =>
(supportedChains[chainId].relayerAddress = address)
)
contracts.mockIntegrations.forEach(
({ chainId, address }: contractConfigEntry) =>
(supportedChains[chainId].mockIntegrationContractAddress = address)
)
pluginConfig.supportedChains = supportedChains as any
// generate supportedChains config from contracts.json
const contracts = (await relayerEngine.loadFileAndParseToObject(
`../ethereum/ts-scripts/config/${envType.replace("devnet", "testnet")}/contracts.json`
)) as ContractsJson
pluginConfig.supportedChains = transfromContractsToSupportedChains(
contracts,
pluginConfig.supportedChains as any
) as any
// run relayer engine
await relayerEngine.run({
@ -56,10 +51,27 @@ function selectPluginConfig(flag: string): string {
}
}
function transfromContractsToSupportedChains(
contracts: ContractsJson,
supportedChains: Record<EVMChainId, ChainInfo>
): Record<EVMChainId, ChainInfo> {
contracts.relayProviders.forEach(
({ chainId, address }: ContractConfigEntry) =>
(supportedChains[chainId].relayProvider = address)
)
contracts.coreRelayers.forEach(
({ chainId, address }: ContractConfigEntry) =>
(supportedChains[chainId].relayerAddress = address)
)
contracts.mockIntegrations.forEach(
({ chainId, address }: ContractConfigEntry) =>
(supportedChains[chainId].mockIntegrationContractAddress = address)
)
return supportedChains
}
// allow main to be an async function and block until it rejects or resolves
main().catch((e) => {
console.error(e)
process.exit(1)
})
type contractConfigEntry = { chainId: EVMChainId; address: "string" }

View File

@ -3,13 +3,9 @@
"shouldRest": false,
"logWatcherSleepMs": 300000,
"supportedChains": {
"6": {
"relayerAddress": "0x932848Aed98d8af0f3eA685533966dA4551851db",
"mockIntegrationContractAddress": "0xF5C9730B9F8B4D3a352D0cC6358896B1e56E656C"
},
"14": {
"relayerAddress": "0x06ced51D388A66ff3d968818C4ea58e5CC199B0B",
"mockIntegrationContractAddress": "0xB7078f7384d4bb353A147a1035990eD6CDAF011E"
}
"4": {},
"5": {},
"6": {},
"14": {}
}
}

View File

@ -9,7 +9,7 @@
"version": "0.0.1",
"license": "ISC",
"dependencies": {
"@certusone/wormhole-sdk": "^0.9.0",
"@certusone/wormhole-sdk": "^0.9.6",
"generic-relayer-sdk": "file:../../../sdk",
"relayer-engine": "github:wormhole-foundation/relayer-engine"
},
@ -22,12 +22,15 @@
"winston": "3.8.2"
}
},
"../../../../sdk": {
"extraneous": true
},
"../../../sdk": {
"name": "generic-relayer-sdk",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@certusone/wormhole-sdk": "^0.6.5",
"@certusone/wormhole-sdk": "^0.9.6",
"@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
"@typechain/ethers-v5": "^10.1.0",
"dotenv": "^16.0.2",
@ -49,9 +52,9 @@
}
},
"node_modules/@apollo/client": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.1.tgz",
"integrity": "sha512-xu5M/l7p9gT9Fx7nF3AQivp0XukjB7TM7tOd5wifIpI8RskYveL4I+rpTijzWrnqCPZabkbzJKH7WEAKdctt9w==",
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.4.tgz",
"integrity": "sha512-bgiCKRmLSBImX4JRrw8NjqGo0AQE/mowCdHX1PJp2r5zIXrJx0UeaAYmx1qJY69Oz/KR7SKlLt4xK+bOP1jx7A==",
"dependencies": {
"@graphql-typed-document-node/core": "^3.1.1",
"@wry/context": "^0.7.0",
@ -90,11 +93,11 @@
}
},
"node_modules/@babel/runtime": {
"version": "7.20.1",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz",
"integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==",
"version": "7.20.6",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz",
"integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==",
"dependencies": {
"regenerator-runtime": "^0.13.10"
"regenerator-runtime": "^0.13.11"
},
"engines": {
"node": ">=6.9.0"
@ -112,13 +115,16 @@
}
},
"node_modules/@certusone/wormhole-sdk": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.9.2.tgz",
"integrity": "sha512-Ffpn4ialdgpN/0q+IyduKlhecrwysRh/kGkpLPn+ox0QF1i8Q5cByWLwhoGY+kNONTEcHhwkUEhFdrMrMR7PRw==",
"version": "0.9.9",
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.9.9.tgz",
"integrity": "sha512-seausUXqUIvUN19u4ef0VgMXNvyftQHrq5+A8AHHbsk14oBGRbvQ5JqeI+vgtKUMggK8jCaa/ICR1TnD7MW67Q==",
"dependencies": {
"@certusone/wormhole-sdk-proto-web": "0.0.6",
"@certusone/wormhole-sdk-wasm": "^0.0.1",
"@injectivelabs/sdk-ts": "^1.0.211",
"@coral-xyz/borsh": "0.2.6",
"@injectivelabs/networks": "^1.0.52",
"@injectivelabs/sdk-ts": "1.0.289",
"@injectivelabs/utils": "1.0.45",
"@project-serum/anchor": "^0.25.0",
"@solana/spl-token": "^0.3.5",
"@solana/web3.js": "^1.66.2",
@ -129,6 +135,7 @@
"axios": "^0.24.0",
"bech32": "^2.0.0",
"binary-parser": "^2.2.1",
"bs58": "^4.0.1",
"elliptic": "^6.5.4",
"js-base64": "^3.6.1",
"near-api-js": "^1.0.0"
@ -195,25 +202,40 @@
"node": ">=0.1.90"
}
},
"node_modules/@cosmjs/amino": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.29.4.tgz",
"integrity": "sha512-FBjaJ4oUKFtH34O7XjUk370x8sF7EbXD29miXrm0Rl5GEtEORJgQwutXQllHo5gBkpOxC+ZQ40CibXhPzH7G7A==",
"node_modules/@coral-xyz/borsh": {
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/@coral-xyz/borsh/-/borsh-0.2.6.tgz",
"integrity": "sha512-y6nmHw1bFcJib7sMHsQPpC8r47xhqDZVvhUdna7NUPzpSbOZG6f46N21+aXsQ2w/tG8Ggls488J/ZmwbgVmyjg==",
"dependencies": {
"@cosmjs/crypto": "^0.29.4",
"@cosmjs/encoding": "^0.29.4",
"@cosmjs/math": "^0.29.4",
"@cosmjs/utils": "^0.29.4"
"bn.js": "^5.1.2",
"buffer-layout": "^1.2.0"
},
"engines": {
"node": ">=10"
},
"peerDependencies": {
"@solana/web3.js": "^1.2.0"
}
},
"node_modules/@cosmjs/amino": {
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.29.5.tgz",
"integrity": "sha512-Qo8jpC0BiziTSUqpkNatBcwtKNhCovUnFul9SlT/74JUCdLYaeG5hxr3q1cssQt++l4LvlcpF+OUXL48XjNjLw==",
"dependencies": {
"@cosmjs/crypto": "^0.29.5",
"@cosmjs/encoding": "^0.29.5",
"@cosmjs/math": "^0.29.5",
"@cosmjs/utils": "^0.29.5"
}
},
"node_modules/@cosmjs/crypto": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.29.4.tgz",
"integrity": "sha512-PmSxoFl/Won7kHZv3PQUUgdmEiAMqdY7XnEnVh9PbU7Hht6uo7PQ+M0eIGW3NIXYKmn6oVExER+xOfLfq4YNGw==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.29.5.tgz",
"integrity": "sha512-2bKkaLGictaNL0UipQCL6C1afaisv6k8Wr/GCLx9FqiyFkh9ZgRHDyetD64ZsjnWV/N/D44s/esI+k6oPREaiQ==",
"dependencies": {
"@cosmjs/encoding": "^0.29.4",
"@cosmjs/math": "^0.29.4",
"@cosmjs/utils": "^0.29.4",
"@cosmjs/encoding": "^0.29.5",
"@cosmjs/math": "^0.29.5",
"@cosmjs/utils": "^0.29.5",
"@noble/hashes": "^1",
"bn.js": "^5.2.0",
"elliptic": "^6.5.4",
@ -221,9 +243,9 @@
}
},
"node_modules/@cosmjs/encoding": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.29.4.tgz",
"integrity": "sha512-nlwCh4j+kIqEcwNu8AFSmqXGj0bvF4nLC3J1X0eJyJenlgJBiiAGjYp3nxMf/ZjKkZP65Fq7MXVtAYs3K8xvvQ==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.29.5.tgz",
"integrity": "sha512-G4rGl/Jg4dMCw5u6PEZHZcoHnUBlukZODHbm/wcL4Uu91fkn5jVo5cXXZcvs4VCkArVGrEj/52eUgTZCmOBGWQ==",
"dependencies": {
"base64-js": "^1.3.0",
"bech32": "^1.1.4",
@ -236,67 +258,67 @@
"integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
},
"node_modules/@cosmjs/json-rpc": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.29.4.tgz",
"integrity": "sha512-pmb918u7QlLUOX7twJCBC7bK/L87uhknnP2yh9f+n7zmmslBbwENxLdM6KBAb1Yc0tbzSaLLLRoaN8kvfaiwUA==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.29.5.tgz",
"integrity": "sha512-C78+X06l+r9xwdM1yFWIpGl03LhB9NdM1xvZpQHwgCOl0Ir/WV8pw48y3Ez2awAoUBRfTeejPe4KvrE6NoIi/w==",
"dependencies": {
"@cosmjs/stream": "^0.29.4",
"@cosmjs/stream": "^0.29.5",
"xstream": "^11.14.0"
}
},
"node_modules/@cosmjs/math": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.29.4.tgz",
"integrity": "sha512-IvT1Cj3qOMGqz7v5FxdDCBEIDL2k9m5rufrkuD4oL9kS79ebnhA0lquX6ApPubUohTXl+5PnLo02W8HEH6Stkg==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.29.5.tgz",
"integrity": "sha512-2GjKcv+A9f86MAWYLUkjhw1/WpRl2R1BTb3m9qPG7lzMA7ioYff9jY5SPCfafKdxM4TIQGxXQlYGewQL16O68Q==",
"dependencies": {
"bn.js": "^5.2.0"
}
},
"node_modules/@cosmjs/proto-signing": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.29.4.tgz",
"integrity": "sha512-GdLOhMd54LZgG+kHf7uAWGYDT628yVhXPMWaG/1i3f3Kq4VsZgFBwJhhziM5kWblmFjBOhooGRwLrBnOxMusCg==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.29.5.tgz",
"integrity": "sha512-QRrS7CiKaoETdgIqvi/7JC2qCwCR7lnWaUsTzh/XfRy3McLkEd+cXbKAW3cygykv7IN0VAEIhZd2lyIfT8KwNA==",
"dependencies": {
"@cosmjs/amino": "^0.29.4",
"@cosmjs/crypto": "^0.29.4",
"@cosmjs/encoding": "^0.29.4",
"@cosmjs/math": "^0.29.4",
"@cosmjs/utils": "^0.29.4",
"@cosmjs/amino": "^0.29.5",
"@cosmjs/crypto": "^0.29.5",
"@cosmjs/encoding": "^0.29.5",
"@cosmjs/math": "^0.29.5",
"@cosmjs/utils": "^0.29.5",
"cosmjs-types": "^0.5.2",
"long": "^4.0.0"
}
},
"node_modules/@cosmjs/socket": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.29.4.tgz",
"integrity": "sha512-+J79SRVD6VSnGqKmUwLFAxXTiLYw/AmAu+075RenQxzkCxehGrGpaty+T3jJGE2p1458AjgkrmTQnfp6f+HIWw==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.29.5.tgz",
"integrity": "sha512-5VYDupIWbIXq3ftPV1LkS5Ya/T7Ol/AzWVhNxZ79hPe/mBfv1bGau/LqIYOm2zxGlgm9hBHOTmWGqNYDwr9LNQ==",
"dependencies": {
"@cosmjs/stream": "^0.29.4",
"@cosmjs/stream": "^0.29.5",
"isomorphic-ws": "^4.0.1",
"ws": "^7",
"xstream": "^11.14.0"
}
},
"node_modules/@cosmjs/stream": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.29.4.tgz",
"integrity": "sha512-bCcPIxxyrvtIusmZEOVZT5YS3t+dfB6wfLO6tadumYyPcCBJkXLRK6LSYcsiPjnTNr2UAlCSZX24djM2mFvlWQ==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.29.5.tgz",
"integrity": "sha512-TToTDWyH1p05GBtF0Y8jFw2C+4783ueDCmDyxOMM6EU82IqpmIbfwcdMOCAm0JhnyMh+ocdebbFvnX/sGKzRAA==",
"dependencies": {
"xstream": "^11.14.0"
}
},
"node_modules/@cosmjs/tendermint-rpc": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.29.4.tgz",
"integrity": "sha512-ByW5tFK8epc7fx82DogUaLkWSyr9scAY9UmOC9Zn4uFfISOwRdN5c0DvYZ1pI49elMT3/MroIdORotdtYirm1g==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.29.5.tgz",
"integrity": "sha512-ar80twieuAxsy0x2za/aO3kBr2DFPAXDmk2ikDbmkda+qqfXgl35l9CVAAjKRqd9d+cRvbQyb5M4wy6XQpEV6w==",
"dependencies": {
"@cosmjs/crypto": "^0.29.4",
"@cosmjs/encoding": "^0.29.4",
"@cosmjs/json-rpc": "^0.29.4",
"@cosmjs/math": "^0.29.4",
"@cosmjs/socket": "^0.29.4",
"@cosmjs/stream": "^0.29.4",
"@cosmjs/utils": "^0.29.4",
"@cosmjs/crypto": "^0.29.5",
"@cosmjs/encoding": "^0.29.5",
"@cosmjs/json-rpc": "^0.29.5",
"@cosmjs/math": "^0.29.5",
"@cosmjs/socket": "^0.29.5",
"@cosmjs/stream": "^0.29.5",
"@cosmjs/utils": "^0.29.5",
"axios": "^0.21.2",
"readonly-date": "^1.0.0",
"xstream": "^11.14.0"
@ -311,9 +333,9 @@
}
},
"node_modules/@cosmjs/utils": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.29.4.tgz",
"integrity": "sha512-X1pZWRHDbTPLa6cYW0NHvtig+lSxOdLAX7K/xp67ywBy2knnDOyzz1utGTOowmiM98XuV9quK/BWePKkJOaHpQ=="
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.29.5.tgz",
"integrity": "sha512-m7h+RXDUxOzEOGt4P+3OVPX7PuakZT3GBmaM/Y2u+abN3xZkziykD/NvedYFvvCCdQo714XcGl33bwifS9FZPQ=="
},
"node_modules/@dabh/diagnostics": {
"version": "2.0.3",
@ -1130,13 +1152,13 @@
}
},
"node_modules/@injectivelabs/exceptions": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@injectivelabs/exceptions/-/exceptions-1.0.28.tgz",
"integrity": "sha512-hy09MhJKCjoEpBKUtt9UGGmA9i+uTWAQfS2jI3yXryzyTItMKMbbT0sCPdUcMl2dgEr6NPvztIefThpxssB5tQ==",
"version": "1.0.43",
"resolved": "https://registry.npmjs.org/@injectivelabs/exceptions/-/exceptions-1.0.43.tgz",
"integrity": "sha512-gRN9u6StU7PCzMNSa3lY+errG4o0yqMOzgmBvCiUSXOOUd/mSPG6nXS9vMVwG7ASZgysxNR+NVGgLCYvBIGrKQ==",
"hasInstallScript": true,
"dependencies": {
"@improbable-eng/grpc-web": "^0.15.0",
"@injectivelabs/ts-types": "^1.0.17",
"@injectivelabs/ts-types": "^1.0.28",
"http-status-codes": "^2.2.0",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2"
@ -1163,21 +1185,67 @@
}
},
"node_modules/@injectivelabs/networks": {
"version": "1.0.40",
"resolved": "https://registry.npmjs.org/@injectivelabs/networks/-/networks-1.0.40.tgz",
"integrity": "sha512-UHJ6k7FAjMpx3xwLAka6vWavQzXOMu4B9kgaoebfkfAegIqjFyaBd6akmmG5/WOqnGs4nWtqHa0py3QLviAl3w==",
"version": "1.0.70",
"resolved": "https://registry.npmjs.org/@injectivelabs/networks/-/networks-1.0.70.tgz",
"integrity": "sha512-e6Nm+IptSM3vypUrFZ2GvoiREKkrwIKkxu/Umb6wHSNn2ByB39KaIBN5z2Xmmmrpomz6KZofs/PrDGRdDvAcxA==",
"hasInstallScript": true,
"dependencies": {
"@injectivelabs/exceptions": "^1.0.28",
"@injectivelabs/utils": "^1.0.34",
"@injectivelabs/exceptions": "^1.0.43",
"@injectivelabs/ts-types": "^1.0.28",
"@injectivelabs/utils": "^1.0.61",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2"
}
},
"node_modules/@injectivelabs/networks/node_modules/@injectivelabs/utils": {
"version": "1.0.61",
"resolved": "https://registry.npmjs.org/@injectivelabs/utils/-/utils-1.0.61.tgz",
"integrity": "sha512-4Dsy4HjTzZiwjmUR5R1bFiYvm11qfQOaJYSEeCCl8XB+nSkwx4d7b4pNuvQt74Zp6Xj7uEMNVjohDyO7+4qscg==",
"hasInstallScript": true,
"dependencies": {
"@injectivelabs/exceptions": "^1.0.43",
"@injectivelabs/ts-types": "^1.0.28",
"axios": "^0.21.1",
"bignumber.js": "^9.0.1",
"http-status-codes": "^2.2.0",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2",
"snakecase-keys": "^5.1.2",
"store2": "^2.12.0"
}
},
"node_modules/@injectivelabs/networks/node_modules/axios": {
"version": "0.21.4",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
"dependencies": {
"follow-redirects": "^1.14.0"
}
},
"node_modules/@injectivelabs/ninja-api": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@injectivelabs/ninja-api/-/ninja-api-1.0.11.tgz",
"integrity": "sha512-idNPJMTBgTgfq7epsuOKCjoNTCqRWsGzZvt88H81UjrrsRZpLwpnfCHNc/aTE6VR19RZ27gk9CwI9vH/j4kq9w==",
"dependencies": {
"@improbable-eng/grpc-web": "^0.14.0",
"google-protobuf": "^3.14.0"
}
},
"node_modules/@injectivelabs/ninja-api/node_modules/@improbable-eng/grpc-web": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.14.1.tgz",
"integrity": "sha512-XaIYuunepPxoiGVLLHmlnVminUGzBTnXr8Wv7khzmLWbNw4TCwJKX09GSMJlKhu/TRk6gms0ySFxewaETSBqgw==",
"dependencies": {
"browser-headers": "^0.4.1"
},
"peerDependencies": {
"google-protobuf": "^3.14.0"
}
},
"node_modules/@injectivelabs/sdk-ts": {
"version": "1.0.225",
"resolved": "https://registry.npmjs.org/@injectivelabs/sdk-ts/-/sdk-ts-1.0.225.tgz",
"integrity": "sha512-QCaKQJe+yrwyjlmwgAIhlhlM2JmzK/GxJMiSqNGaPRdm+rgiMxGtiibHGxPqNSNH8XjaV9QN1jVHqPLrfhYaNA==",
"version": "1.0.289",
"resolved": "https://registry.npmjs.org/@injectivelabs/sdk-ts/-/sdk-ts-1.0.289.tgz",
"integrity": "sha512-O1cTY50hnowiSkBCmafomFcWlhsuXvb7f8oXXvBscPiT0talPLwm2iASQ8FKu1xspKwU5s6VTkTGL4Bk8XAzTQ==",
"hasInstallScript": true,
"dependencies": {
"@apollo/client": "^3.5.8",
@ -1189,12 +1257,13 @@
"@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
"@improbable-eng/grpc-web-react-native-transport": "^0.15.0",
"@injectivelabs/chain-api": "1.8.3",
"@injectivelabs/exceptions": "^1.0.28",
"@injectivelabs/exceptions": "^1.0.32",
"@injectivelabs/indexer-api": "1.0.32-rc",
"@injectivelabs/networks": "^1.0.40",
"@injectivelabs/token-metadata": "^1.0.55",
"@injectivelabs/ts-types": "^1.0.17",
"@injectivelabs/utils": "^1.0.34",
"@injectivelabs/networks": "^1.0.52",
"@injectivelabs/ninja-api": "^1.0.10",
"@injectivelabs/token-metadata": "^1.0.77",
"@injectivelabs/ts-types": "^1.0.18",
"@injectivelabs/utils": "^1.0.45",
"@metamask/eth-sig-util": "^4.0.1",
"@types/google-protobuf": "^3.15.5",
"axios": "^0.27.2",
@ -1226,13 +1295,13 @@
}
},
"node_modules/@injectivelabs/token-metadata": {
"version": "1.0.55",
"resolved": "https://registry.npmjs.org/@injectivelabs/token-metadata/-/token-metadata-1.0.55.tgz",
"integrity": "sha512-dDlm5tWCvVCu6FqV3OI7BNJM9EuHCfrlbvOkG8lCD9Nq+9QX6fcwXYNABaxbFk5QVHahqxxt3aA6lyFzcasmng==",
"version": "1.0.107",
"resolved": "https://registry.npmjs.org/@injectivelabs/token-metadata/-/token-metadata-1.0.107.tgz",
"integrity": "sha512-yGCbWQwGL6dl7o5qWZ3uULmfXRRUAugDuB6IzIoJkodCBTQWRmRlK5K+36aGA0lhawuk3zG978JYxX62z12NSg==",
"hasInstallScript": true,
"dependencies": {
"@injectivelabs/networks": "^1.0.40",
"@injectivelabs/ts-types": "^1.0.17",
"@injectivelabs/networks": "^1.0.70",
"@injectivelabs/ts-types": "^1.0.28",
"@types/lodash.values": "^4.3.6",
"copyfiles": "^2.4.1",
"jsonschema": "^1.4.0",
@ -1243,9 +1312,9 @@
}
},
"node_modules/@injectivelabs/ts-types": {
"version": "1.0.17",
"resolved": "https://registry.npmjs.org/@injectivelabs/ts-types/-/ts-types-1.0.17.tgz",
"integrity": "sha512-i+Stx1b/6/wEDvOB/IgmxlYBjZJX/pAGe255/zeBxfAAYn1XNG71fhJE2oHSdmoLxnFPpKj1QFXdmxk3ELK/yg==",
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@injectivelabs/ts-types/-/ts-types-1.0.28.tgz",
"integrity": "sha512-QnUi6gP/H3Yn51onKl6dVjuokXdkygpj0cpfiyvOfuMXdJ1ScF2uOTwMxmQpjuDScBqZYEIOdkgskuBmoMpTSA==",
"hasInstallScript": true,
"dependencies": {
"link-module-alias": "^1.2.0",
@ -1253,13 +1322,13 @@
}
},
"node_modules/@injectivelabs/utils": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/@injectivelabs/utils/-/utils-1.0.34.tgz",
"integrity": "sha512-hIhpG1xUtNI1/+4kuzikFyREOuaJAzi+B61crqfx4YElfxXC+5Fu/Gp8i+8vrntrETNWfePmkUfPl6dSqQH+7A==",
"version": "1.0.45",
"resolved": "https://registry.npmjs.org/@injectivelabs/utils/-/utils-1.0.45.tgz",
"integrity": "sha512-ndmsKAMrQVbwh6BU5HMbuZQilfpMZVNwwO8m8OjQtvUm0lQ0HyEkugJd20HwcX2K3k+fSq/OlVy0F9gab8Cp6Q==",
"hasInstallScript": true,
"dependencies": {
"@injectivelabs/exceptions": "^1.0.28",
"@injectivelabs/ts-types": "^1.0.17",
"@injectivelabs/exceptions": "^1.0.32",
"@injectivelabs/ts-types": "^1.0.18",
"axios": "^0.21.1",
"bignumber.js": "^9.0.1",
"link-module-alias": "^1.2.0",
@ -1874,9 +1943,9 @@
"integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA=="
},
"node_modules/@types/lodash": {
"version": "4.14.189",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.189.tgz",
"integrity": "sha512-kb9/98N6X8gyME9Cf7YaqIMvYGnBSWqEci6tiettE6iJWH1XdJz/PO8LB0GtLCG7x8dU3KWhZT+lA1a35127tA=="
"version": "4.14.191",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz",
"integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ=="
},
"node_modules/@types/lodash.values": {
"version": "4.3.7",
@ -3180,11 +3249,11 @@
}
},
"node_modules/eth-crypto": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/eth-crypto/-/eth-crypto-2.4.0.tgz",
"integrity": "sha512-GDtZVtSJZUv0rqZujJT+EaG+3Uf7H0I9yoOzrJHSkMHB0pJv+pf5TaDyPXsfGwwTvPyGnwszf23JPWrxauwNPw==",
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/eth-crypto/-/eth-crypto-2.5.0.tgz",
"integrity": "sha512-5WA3ebUs38ssNtU/U9FPzehFZnkdAwAFXq+bPF2Fcp4izV+A7bjW6489N8AB7fiQgHi1XkfnTcO64189SJil5A==",
"dependencies": {
"@babel/runtime": "7.19.4",
"@babel/runtime": "7.20.6",
"@ethereumjs/tx": "3.5.2",
"@types/bn.js": "5.1.1",
"eccrypto": "1.1.6",
@ -3196,17 +3265,6 @@
"url": "https://github.com/sponsors/pubkey"
}
},
"node_modules/eth-crypto/node_modules/@babel/runtime": {
"version": "7.19.4",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz",
"integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==",
"dependencies": {
"regenerator-runtime": "^0.13.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/ethereum-cryptography": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz",
@ -4913,13 +4971,22 @@
}
},
"node_modules/relayer-engine/relayer-engine/packages/relayer-plugin-interface": {
"version": "0.0.1",
"name": "@wormhole-foundation/relayer-plugin-interface",
"version": "0.1.0",
"hasInstallScript": true,
"license": "ISC",
"dependencies": {
"@certusone/wormhole-sdk": "^0.9.0",
"prom-client": "^14.1.0"
},
"devDependencies": {
"@types/node": "^18.7.13",
"@types/winston": "^2.4.4",
"prom-client": "^14.1.0",
"typescript": "^4.8.3"
},
"peerDependencies": {
"ethers": "^5.7.0",
"winston": "^3.8.2"
}
},
"node_modules/relayer-plugin-interface": {
@ -5578,6 +5645,7 @@
"version": "4.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz",
"integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@ -5864,9 +5932,9 @@
},
"dependencies": {
"@apollo/client": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.1.tgz",
"integrity": "sha512-xu5M/l7p9gT9Fx7nF3AQivp0XukjB7TM7tOd5wifIpI8RskYveL4I+rpTijzWrnqCPZabkbzJKH7WEAKdctt9w==",
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.4.tgz",
"integrity": "sha512-bgiCKRmLSBImX4JRrw8NjqGo0AQE/mowCdHX1PJp2r5zIXrJx0UeaAYmx1qJY69Oz/KR7SKlLt4xK+bOP1jx7A==",
"requires": {
"@graphql-typed-document-node/core": "^3.1.1",
"@wry/context": "^0.7.0",
@ -5884,11 +5952,11 @@
}
},
"@babel/runtime": {
"version": "7.20.1",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz",
"integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==",
"version": "7.20.6",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz",
"integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==",
"requires": {
"regenerator-runtime": "^0.13.10"
"regenerator-runtime": "^0.13.11"
}
},
"@celo-tools/celo-ethers-wrapper": {
@ -5898,13 +5966,16 @@
"requires": {}
},
"@certusone/wormhole-sdk": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.9.2.tgz",
"integrity": "sha512-Ffpn4ialdgpN/0q+IyduKlhecrwysRh/kGkpLPn+ox0QF1i8Q5cByWLwhoGY+kNONTEcHhwkUEhFdrMrMR7PRw==",
"version": "0.9.9",
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.9.9.tgz",
"integrity": "sha512-seausUXqUIvUN19u4ef0VgMXNvyftQHrq5+A8AHHbsk14oBGRbvQ5JqeI+vgtKUMggK8jCaa/ICR1TnD7MW67Q==",
"requires": {
"@certusone/wormhole-sdk-proto-web": "0.0.6",
"@certusone/wormhole-sdk-wasm": "^0.0.1",
"@injectivelabs/sdk-ts": "^1.0.211",
"@coral-xyz/borsh": "0.2.6",
"@injectivelabs/networks": "^1.0.52",
"@injectivelabs/sdk-ts": "1.0.289",
"@injectivelabs/utils": "1.0.45",
"@project-serum/anchor": "^0.25.0",
"@solana/spl-token": "^0.3.5",
"@solana/web3.js": "^1.66.2",
@ -5915,6 +5986,7 @@
"axios": "^0.24.0",
"bech32": "^2.0.0",
"binary-parser": "^2.2.1",
"bs58": "^4.0.1",
"elliptic": "^6.5.4",
"js-base64": "^3.6.1",
"near-api-js": "^1.0.0"
@ -5975,25 +6047,34 @@
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
"integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="
},
"@cosmjs/amino": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.29.4.tgz",
"integrity": "sha512-FBjaJ4oUKFtH34O7XjUk370x8sF7EbXD29miXrm0Rl5GEtEORJgQwutXQllHo5gBkpOxC+ZQ40CibXhPzH7G7A==",
"@coral-xyz/borsh": {
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/@coral-xyz/borsh/-/borsh-0.2.6.tgz",
"integrity": "sha512-y6nmHw1bFcJib7sMHsQPpC8r47xhqDZVvhUdna7NUPzpSbOZG6f46N21+aXsQ2w/tG8Ggls488J/ZmwbgVmyjg==",
"requires": {
"@cosmjs/crypto": "^0.29.4",
"@cosmjs/encoding": "^0.29.4",
"@cosmjs/math": "^0.29.4",
"@cosmjs/utils": "^0.29.4"
"bn.js": "^5.1.2",
"buffer-layout": "^1.2.0"
}
},
"@cosmjs/amino": {
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.29.5.tgz",
"integrity": "sha512-Qo8jpC0BiziTSUqpkNatBcwtKNhCovUnFul9SlT/74JUCdLYaeG5hxr3q1cssQt++l4LvlcpF+OUXL48XjNjLw==",
"requires": {
"@cosmjs/crypto": "^0.29.5",
"@cosmjs/encoding": "^0.29.5",
"@cosmjs/math": "^0.29.5",
"@cosmjs/utils": "^0.29.5"
}
},
"@cosmjs/crypto": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.29.4.tgz",
"integrity": "sha512-PmSxoFl/Won7kHZv3PQUUgdmEiAMqdY7XnEnVh9PbU7Hht6uo7PQ+M0eIGW3NIXYKmn6oVExER+xOfLfq4YNGw==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.29.5.tgz",
"integrity": "sha512-2bKkaLGictaNL0UipQCL6C1afaisv6k8Wr/GCLx9FqiyFkh9ZgRHDyetD64ZsjnWV/N/D44s/esI+k6oPREaiQ==",
"requires": {
"@cosmjs/encoding": "^0.29.4",
"@cosmjs/math": "^0.29.4",
"@cosmjs/utils": "^0.29.4",
"@cosmjs/encoding": "^0.29.5",
"@cosmjs/math": "^0.29.5",
"@cosmjs/utils": "^0.29.5",
"@noble/hashes": "^1",
"bn.js": "^5.2.0",
"elliptic": "^6.5.4",
@ -6001,9 +6082,9 @@
}
},
"@cosmjs/encoding": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.29.4.tgz",
"integrity": "sha512-nlwCh4j+kIqEcwNu8AFSmqXGj0bvF4nLC3J1X0eJyJenlgJBiiAGjYp3nxMf/ZjKkZP65Fq7MXVtAYs3K8xvvQ==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.29.5.tgz",
"integrity": "sha512-G4rGl/Jg4dMCw5u6PEZHZcoHnUBlukZODHbm/wcL4Uu91fkn5jVo5cXXZcvs4VCkArVGrEj/52eUgTZCmOBGWQ==",
"requires": {
"base64-js": "^1.3.0",
"bech32": "^1.1.4",
@ -6018,67 +6099,67 @@
}
},
"@cosmjs/json-rpc": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.29.4.tgz",
"integrity": "sha512-pmb918u7QlLUOX7twJCBC7bK/L87uhknnP2yh9f+n7zmmslBbwENxLdM6KBAb1Yc0tbzSaLLLRoaN8kvfaiwUA==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.29.5.tgz",
"integrity": "sha512-C78+X06l+r9xwdM1yFWIpGl03LhB9NdM1xvZpQHwgCOl0Ir/WV8pw48y3Ez2awAoUBRfTeejPe4KvrE6NoIi/w==",
"requires": {
"@cosmjs/stream": "^0.29.4",
"@cosmjs/stream": "^0.29.5",
"xstream": "^11.14.0"
}
},
"@cosmjs/math": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.29.4.tgz",
"integrity": "sha512-IvT1Cj3qOMGqz7v5FxdDCBEIDL2k9m5rufrkuD4oL9kS79ebnhA0lquX6ApPubUohTXl+5PnLo02W8HEH6Stkg==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.29.5.tgz",
"integrity": "sha512-2GjKcv+A9f86MAWYLUkjhw1/WpRl2R1BTb3m9qPG7lzMA7ioYff9jY5SPCfafKdxM4TIQGxXQlYGewQL16O68Q==",
"requires": {
"bn.js": "^5.2.0"
}
},
"@cosmjs/proto-signing": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.29.4.tgz",
"integrity": "sha512-GdLOhMd54LZgG+kHf7uAWGYDT628yVhXPMWaG/1i3f3Kq4VsZgFBwJhhziM5kWblmFjBOhooGRwLrBnOxMusCg==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.29.5.tgz",
"integrity": "sha512-QRrS7CiKaoETdgIqvi/7JC2qCwCR7lnWaUsTzh/XfRy3McLkEd+cXbKAW3cygykv7IN0VAEIhZd2lyIfT8KwNA==",
"requires": {
"@cosmjs/amino": "^0.29.4",
"@cosmjs/crypto": "^0.29.4",
"@cosmjs/encoding": "^0.29.4",
"@cosmjs/math": "^0.29.4",
"@cosmjs/utils": "^0.29.4",
"@cosmjs/amino": "^0.29.5",
"@cosmjs/crypto": "^0.29.5",
"@cosmjs/encoding": "^0.29.5",
"@cosmjs/math": "^0.29.5",
"@cosmjs/utils": "^0.29.5",
"cosmjs-types": "^0.5.2",
"long": "^4.0.0"
}
},
"@cosmjs/socket": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.29.4.tgz",
"integrity": "sha512-+J79SRVD6VSnGqKmUwLFAxXTiLYw/AmAu+075RenQxzkCxehGrGpaty+T3jJGE2p1458AjgkrmTQnfp6f+HIWw==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.29.5.tgz",
"integrity": "sha512-5VYDupIWbIXq3ftPV1LkS5Ya/T7Ol/AzWVhNxZ79hPe/mBfv1bGau/LqIYOm2zxGlgm9hBHOTmWGqNYDwr9LNQ==",
"requires": {
"@cosmjs/stream": "^0.29.4",
"@cosmjs/stream": "^0.29.5",
"isomorphic-ws": "^4.0.1",
"ws": "^7",
"xstream": "^11.14.0"
}
},
"@cosmjs/stream": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.29.4.tgz",
"integrity": "sha512-bCcPIxxyrvtIusmZEOVZT5YS3t+dfB6wfLO6tadumYyPcCBJkXLRK6LSYcsiPjnTNr2UAlCSZX24djM2mFvlWQ==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.29.5.tgz",
"integrity": "sha512-TToTDWyH1p05GBtF0Y8jFw2C+4783ueDCmDyxOMM6EU82IqpmIbfwcdMOCAm0JhnyMh+ocdebbFvnX/sGKzRAA==",
"requires": {
"xstream": "^11.14.0"
}
},
"@cosmjs/tendermint-rpc": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.29.4.tgz",
"integrity": "sha512-ByW5tFK8epc7fx82DogUaLkWSyr9scAY9UmOC9Zn4uFfISOwRdN5c0DvYZ1pI49elMT3/MroIdORotdtYirm1g==",
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.29.5.tgz",
"integrity": "sha512-ar80twieuAxsy0x2za/aO3kBr2DFPAXDmk2ikDbmkda+qqfXgl35l9CVAAjKRqd9d+cRvbQyb5M4wy6XQpEV6w==",
"requires": {
"@cosmjs/crypto": "^0.29.4",
"@cosmjs/encoding": "^0.29.4",
"@cosmjs/json-rpc": "^0.29.4",
"@cosmjs/math": "^0.29.4",
"@cosmjs/socket": "^0.29.4",
"@cosmjs/stream": "^0.29.4",
"@cosmjs/utils": "^0.29.4",
"@cosmjs/crypto": "^0.29.5",
"@cosmjs/encoding": "^0.29.5",
"@cosmjs/json-rpc": "^0.29.5",
"@cosmjs/math": "^0.29.5",
"@cosmjs/socket": "^0.29.5",
"@cosmjs/stream": "^0.29.5",
"@cosmjs/utils": "^0.29.5",
"axios": "^0.21.2",
"readonly-date": "^1.0.0",
"xstream": "^11.14.0"
@ -6095,9 +6176,9 @@
}
},
"@cosmjs/utils": {
"version": "0.29.4",
"resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.29.4.tgz",
"integrity": "sha512-X1pZWRHDbTPLa6cYW0NHvtig+lSxOdLAX7K/xp67ywBy2knnDOyzz1utGTOowmiM98XuV9quK/BWePKkJOaHpQ=="
"version": "0.29.5",
"resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.29.5.tgz",
"integrity": "sha512-m7h+RXDUxOzEOGt4P+3OVPX7PuakZT3GBmaM/Y2u+abN3xZkziykD/NvedYFvvCCdQo714XcGl33bwifS9FZPQ=="
},
"@dabh/diagnostics": {
"version": "2.0.3",
@ -6583,12 +6664,12 @@
}
},
"@injectivelabs/exceptions": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@injectivelabs/exceptions/-/exceptions-1.0.28.tgz",
"integrity": "sha512-hy09MhJKCjoEpBKUtt9UGGmA9i+uTWAQfS2jI3yXryzyTItMKMbbT0sCPdUcMl2dgEr6NPvztIefThpxssB5tQ==",
"version": "1.0.43",
"resolved": "https://registry.npmjs.org/@injectivelabs/exceptions/-/exceptions-1.0.43.tgz",
"integrity": "sha512-gRN9u6StU7PCzMNSa3lY+errG4o0yqMOzgmBvCiUSXOOUd/mSPG6nXS9vMVwG7ASZgysxNR+NVGgLCYvBIGrKQ==",
"requires": {
"@improbable-eng/grpc-web": "^0.15.0",
"@injectivelabs/ts-types": "^1.0.17",
"@injectivelabs/ts-types": "^1.0.28",
"http-status-codes": "^2.2.0",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2"
@ -6614,20 +6695,66 @@
}
},
"@injectivelabs/networks": {
"version": "1.0.40",
"resolved": "https://registry.npmjs.org/@injectivelabs/networks/-/networks-1.0.40.tgz",
"integrity": "sha512-UHJ6k7FAjMpx3xwLAka6vWavQzXOMu4B9kgaoebfkfAegIqjFyaBd6akmmG5/WOqnGs4nWtqHa0py3QLviAl3w==",
"version": "1.0.70",
"resolved": "https://registry.npmjs.org/@injectivelabs/networks/-/networks-1.0.70.tgz",
"integrity": "sha512-e6Nm+IptSM3vypUrFZ2GvoiREKkrwIKkxu/Umb6wHSNn2ByB39KaIBN5z2Xmmmrpomz6KZofs/PrDGRdDvAcxA==",
"requires": {
"@injectivelabs/exceptions": "^1.0.28",
"@injectivelabs/utils": "^1.0.34",
"@injectivelabs/exceptions": "^1.0.43",
"@injectivelabs/ts-types": "^1.0.28",
"@injectivelabs/utils": "^1.0.61",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2"
},
"dependencies": {
"@injectivelabs/utils": {
"version": "1.0.61",
"resolved": "https://registry.npmjs.org/@injectivelabs/utils/-/utils-1.0.61.tgz",
"integrity": "sha512-4Dsy4HjTzZiwjmUR5R1bFiYvm11qfQOaJYSEeCCl8XB+nSkwx4d7b4pNuvQt74Zp6Xj7uEMNVjohDyO7+4qscg==",
"requires": {
"@injectivelabs/exceptions": "^1.0.43",
"@injectivelabs/ts-types": "^1.0.28",
"axios": "^0.21.1",
"bignumber.js": "^9.0.1",
"http-status-codes": "^2.2.0",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2",
"snakecase-keys": "^5.1.2",
"store2": "^2.12.0"
}
},
"axios": {
"version": "0.21.4",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
"requires": {
"follow-redirects": "^1.14.0"
}
}
}
},
"@injectivelabs/ninja-api": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@injectivelabs/ninja-api/-/ninja-api-1.0.11.tgz",
"integrity": "sha512-idNPJMTBgTgfq7epsuOKCjoNTCqRWsGzZvt88H81UjrrsRZpLwpnfCHNc/aTE6VR19RZ27gk9CwI9vH/j4kq9w==",
"requires": {
"@improbable-eng/grpc-web": "^0.14.0",
"google-protobuf": "^3.14.0"
},
"dependencies": {
"@improbable-eng/grpc-web": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.14.1.tgz",
"integrity": "sha512-XaIYuunepPxoiGVLLHmlnVminUGzBTnXr8Wv7khzmLWbNw4TCwJKX09GSMJlKhu/TRk6gms0ySFxewaETSBqgw==",
"requires": {
"browser-headers": "^0.4.1"
}
}
}
},
"@injectivelabs/sdk-ts": {
"version": "1.0.225",
"resolved": "https://registry.npmjs.org/@injectivelabs/sdk-ts/-/sdk-ts-1.0.225.tgz",
"integrity": "sha512-QCaKQJe+yrwyjlmwgAIhlhlM2JmzK/GxJMiSqNGaPRdm+rgiMxGtiibHGxPqNSNH8XjaV9QN1jVHqPLrfhYaNA==",
"version": "1.0.289",
"resolved": "https://registry.npmjs.org/@injectivelabs/sdk-ts/-/sdk-ts-1.0.289.tgz",
"integrity": "sha512-O1cTY50hnowiSkBCmafomFcWlhsuXvb7f8oXXvBscPiT0talPLwm2iASQ8FKu1xspKwU5s6VTkTGL4Bk8XAzTQ==",
"requires": {
"@apollo/client": "^3.5.8",
"@cosmjs/amino": "^0.29.0",
@ -6638,12 +6765,13 @@
"@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
"@improbable-eng/grpc-web-react-native-transport": "^0.15.0",
"@injectivelabs/chain-api": "1.8.3",
"@injectivelabs/exceptions": "^1.0.28",
"@injectivelabs/exceptions": "^1.0.32",
"@injectivelabs/indexer-api": "1.0.32-rc",
"@injectivelabs/networks": "^1.0.40",
"@injectivelabs/token-metadata": "^1.0.55",
"@injectivelabs/ts-types": "^1.0.17",
"@injectivelabs/utils": "^1.0.34",
"@injectivelabs/networks": "^1.0.52",
"@injectivelabs/ninja-api": "^1.0.10",
"@injectivelabs/token-metadata": "^1.0.77",
"@injectivelabs/ts-types": "^1.0.18",
"@injectivelabs/utils": "^1.0.45",
"@metamask/eth-sig-util": "^4.0.1",
"@types/google-protobuf": "^3.15.5",
"axios": "^0.27.2",
@ -6677,12 +6805,12 @@
}
},
"@injectivelabs/token-metadata": {
"version": "1.0.55",
"resolved": "https://registry.npmjs.org/@injectivelabs/token-metadata/-/token-metadata-1.0.55.tgz",
"integrity": "sha512-dDlm5tWCvVCu6FqV3OI7BNJM9EuHCfrlbvOkG8lCD9Nq+9QX6fcwXYNABaxbFk5QVHahqxxt3aA6lyFzcasmng==",
"version": "1.0.107",
"resolved": "https://registry.npmjs.org/@injectivelabs/token-metadata/-/token-metadata-1.0.107.tgz",
"integrity": "sha512-yGCbWQwGL6dl7o5qWZ3uULmfXRRUAugDuB6IzIoJkodCBTQWRmRlK5K+36aGA0lhawuk3zG978JYxX62z12NSg==",
"requires": {
"@injectivelabs/networks": "^1.0.40",
"@injectivelabs/ts-types": "^1.0.17",
"@injectivelabs/networks": "^1.0.70",
"@injectivelabs/ts-types": "^1.0.28",
"@types/lodash.values": "^4.3.6",
"copyfiles": "^2.4.1",
"jsonschema": "^1.4.0",
@ -6693,21 +6821,21 @@
}
},
"@injectivelabs/ts-types": {
"version": "1.0.17",
"resolved": "https://registry.npmjs.org/@injectivelabs/ts-types/-/ts-types-1.0.17.tgz",
"integrity": "sha512-i+Stx1b/6/wEDvOB/IgmxlYBjZJX/pAGe255/zeBxfAAYn1XNG71fhJE2oHSdmoLxnFPpKj1QFXdmxk3ELK/yg==",
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@injectivelabs/ts-types/-/ts-types-1.0.28.tgz",
"integrity": "sha512-QnUi6gP/H3Yn51onKl6dVjuokXdkygpj0cpfiyvOfuMXdJ1ScF2uOTwMxmQpjuDScBqZYEIOdkgskuBmoMpTSA==",
"requires": {
"link-module-alias": "^1.2.0",
"shx": "^0.3.2"
}
},
"@injectivelabs/utils": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/@injectivelabs/utils/-/utils-1.0.34.tgz",
"integrity": "sha512-hIhpG1xUtNI1/+4kuzikFyREOuaJAzi+B61crqfx4YElfxXC+5Fu/Gp8i+8vrntrETNWfePmkUfPl6dSqQH+7A==",
"version": "1.0.45",
"resolved": "https://registry.npmjs.org/@injectivelabs/utils/-/utils-1.0.45.tgz",
"integrity": "sha512-ndmsKAMrQVbwh6BU5HMbuZQilfpMZVNwwO8m8OjQtvUm0lQ0HyEkugJd20HwcX2K3k+fSq/OlVy0F9gab8Cp6Q==",
"requires": {
"@injectivelabs/exceptions": "^1.0.28",
"@injectivelabs/ts-types": "^1.0.17",
"@injectivelabs/exceptions": "^1.0.32",
"@injectivelabs/ts-types": "^1.0.18",
"axios": "^0.21.1",
"bignumber.js": "^9.0.1",
"link-module-alias": "^1.2.0",
@ -7203,9 +7331,9 @@
"integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA=="
},
"@types/lodash": {
"version": "4.14.189",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.189.tgz",
"integrity": "sha512-kb9/98N6X8gyME9Cf7YaqIMvYGnBSWqEci6tiettE6iJWH1XdJz/PO8LB0GtLCG7x8dU3KWhZT+lA1a35127tA=="
"version": "4.14.191",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz",
"integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ=="
},
"@types/lodash.values": {
"version": "4.3.7",
@ -8316,27 +8444,17 @@
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
},
"eth-crypto": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/eth-crypto/-/eth-crypto-2.4.0.tgz",
"integrity": "sha512-GDtZVtSJZUv0rqZujJT+EaG+3Uf7H0I9yoOzrJHSkMHB0pJv+pf5TaDyPXsfGwwTvPyGnwszf23JPWrxauwNPw==",
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/eth-crypto/-/eth-crypto-2.5.0.tgz",
"integrity": "sha512-5WA3ebUs38ssNtU/U9FPzehFZnkdAwAFXq+bPF2Fcp4izV+A7bjW6489N8AB7fiQgHi1XkfnTcO64189SJil5A==",
"requires": {
"@babel/runtime": "7.19.4",
"@babel/runtime": "7.20.6",
"@ethereumjs/tx": "3.5.2",
"@types/bn.js": "5.1.1",
"eccrypto": "1.1.6",
"ethereumjs-util": "7.1.5",
"ethers": "5.7.2",
"secp256k1": "4.0.3"
},
"dependencies": {
"@babel/runtime": {
"version": "7.19.4",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz",
"integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==",
"requires": {
"regenerator-runtime": "^0.13.4"
}
}
}
},
"ethereum-cryptography": {
@ -8637,7 +8755,7 @@
"generic-relayer-sdk": {
"version": "file:../../../sdk",
"requires": {
"@certusone/wormhole-sdk": "^0.6.5",
"@certusone/wormhole-sdk": "^0.9.6",
"@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
"@openzeppelin/contracts": "^4.7.3",
"@poanet/solidity-flattener": "^3.0.8",
@ -10228,7 +10346,8 @@
"typescript": {
"version": "4.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz",
"integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA=="
"integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==",
"dev": true
},
"u3": {
"version": "0.1.1",

View File

@ -10,7 +10,7 @@
},
"dependencies": {
"@certusone/wormhole-sdk": "^0.9.6",
"generic-relayer-sdk": "file:../../../sdk",
"generic-relayer-sdk": "file:../../pkgs/sdk",
"relayer-engine": "github:wormhole-foundation/relayer-engine"
},
"author": "Chase Moran",

View File

@ -19,12 +19,15 @@ import * as wh from "@certusone/wormhole-sdk"
import { Logger } from "winston"
import { PluginError } from "./utils"
import { SignedVaa } from "@certusone/wormhole-sdk"
import { CoreRelayer__factory, IWormhole, IWormhole__factory } from "../../../sdk/src"
import {
IWormhole,
IWormhole__factory,
RelayProvider__factory,
LogMessagePublishedEvent,
CoreRelayerStructs,
} from "../../../pkgs/sdk/src"
import * as ethers from "ethers"
import { Implementation__factory } from "@certusone/wormhole-sdk/lib/cjs/ethers-contracts"
import { LogMessagePublishedEvent } from "../../../sdk/src/ethers-contracts/IWormhole"
import { CoreRelayerStructs } from "../../../sdk/src/ethers-contracts/CoreRelayer"
import * as _ from "lodash"
import * as grpcWebNodeHttpTransport from "@improbable-eng/grpc-web-node-http-transport"
const wormholeRpc = "https://wormhole-v2-testnet-api.certus.one"
@ -32,6 +35,7 @@ const wormholeRpc = "https://wormhole-v2-testnet-api.certus.one"
let PLUGIN_NAME: string = "GenericRelayerPlugin"
export interface ChainInfo {
relayProvider: string
coreContract?: IWormhole
relayerAddress: string
mockIntegrationContractAddress: string
@ -112,11 +116,10 @@ export class GenericRelayerPlugin implements Plugin<WorkflowPayload> {
this.logger.error("No known core contract for chain", chainName)
throw new PluginError("No known core contract for chain", { chainName })
}
info.coreContract = IWormhole__factory.connect(
core,
providers.evm[chainId as wh.EVMChainId]
)
const provider = providers.evm[chainId as wh.EVMChainId]
info.coreContract = IWormhole__factory.connect(core, provider)
}
if (listenerResources) {
setTimeout(
() => this.fetchVaaWorker(listenerResources.eventSource, listenerResources.db),
@ -185,7 +188,7 @@ export class GenericRelayerPlugin implements Plugin<WorkflowPayload> {
)
// todo: gc resolved eventually
// todo: currently not used, but the idea is to refire resolved events
// todo: currently not used, but the idea is to refire resolved events
// in the case of a restart or smt. Maybe should just remove it for now...
kv.resolved.push(
...Array.from(newlyResolved.keys()).map((hash) => ({
@ -449,11 +452,19 @@ export class GenericRelayerPlugin implements Plugin<WorkflowPayload> {
await execute.onEVM({
chainId,
f: async ({ wallet }) => {
const coreRelayer = CoreRelayer__factory.connect(
this.pluginConfig.supportedChains.get(chainId)!.relayerAddress,
const relayProvider = RelayProvider__factory.connect(
this.pluginConfig.supportedChains.get(chainId)!.relayProvider,
wallet
)
const rx = await coreRelayer
if (!(await relayProvider.approvedSender(wallet.address))) {
this.logger.warn(
`Approved sender not set correctly for chain ${chainId}, should be ${wallet.address}`
)
return
}
relayProvider
.deliverSingle(input, { value: budget, gasLimit: 3000000 })
.then((x) => x.wait())