Fix devnet for new contracts

Change-Id: I5b7536884ce3d1bdf39a21a8b71b6a848ad0380f
This commit is contained in:
Hendrik Hofstadt 2021-06-30 22:04:32 +02:00 committed by Leo
parent f665fe4c7b
commit 3c5deee7ee
12 changed files with 552 additions and 111 deletions

View File

@ -17,6 +17,8 @@ RUN --mount=type=cache,target=/usr/local/cargo,from=rust,source=/usr/local/cargo
cargo install --version =1.7.0 solana-cli && \
cargo install --version =2.0.12 spl-token-cli && \
cargo build --manifest-path ./bridge/Cargo.toml --package client --release && \
cargo build --manifest-path ./bridge/Cargo.toml --package agent --release && \
cp /usr/local/cargo/bin/solana /usr/local/bin && \
cp /usr/local/cargo/bin/spl-token /usr/local/bin && \
cp bridge/target/release/client /usr/local/bin
cp bridge/target/release/client /usr/local/bin && \
cp bridge/target/release/agent /usr/local/bin

View File

@ -22,8 +22,7 @@ var (
GanacheClientDefaultAccountAddress = common.HexToAddress("0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1")
// Contracts (deployed by "truffle migrate" on a deterministic devnet)
GanacheAssetContractAddress = common.HexToAddress("0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab")
GanacheBridgeContractAddress = common.HexToAddress("0x5b1869D9A4C187F2EAa108f3062412ecf0526b24")
GanacheBridgeContractAddress = common.HexToAddress("0x254dffcd3277c0b1660f6d42efbb754edababc2b")
// ERC20 example tokens.
GanacheExampleERC20Token = common.HexToAddress("0xCfEB869F69431e42cdB54A4F4f105C19C080A601")

View File

@ -30,6 +30,10 @@ func DevnetGuardianSetVSS(n uint) *vaa.VAA {
Version: 1,
GuardianSetIndex: 0,
Timestamp: time.Unix(5000, 0),
EmitterChain: 3,
EmitterAddress: vaa.Address{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
},
Payload: vaa.BodyGuardianSetUpdate{
Keys: pubkeys,
NewIndex: 1,

View File

@ -44,7 +44,7 @@ func (b BodyGuardianSetUpdate) Serialize() []byte {
// Module
buf.Write(CoreModule)
// Action
MustWrite(buf, binary.BigEndian, uint8(1))
MustWrite(buf, binary.BigEndian, uint8(2))
// ChainID - 0 for universal
MustWrite(buf, binary.BigEndian, uint16(0))

View File

@ -230,6 +230,7 @@ func (v *VAA) serializeBody() ([]byte, error) {
MustWrite(buf, binary.BigEndian, v.Nonce)
MustWrite(buf, binary.BigEndian, v.EmitterChain)
buf.Write(v.EmitterAddress[:])
MustWrite(buf, binary.BigEndian, v.Sequence)
buf.Write(v.Payload)
return buf.Bytes(), nil

View File

@ -39,7 +39,6 @@ spec:
- --deterministic
- --time="1970-01-01T00:00:00+00:00"
- --host=0.0.0.0
- --port=7545
ports:
- containerPort: 8545
name: rpc

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@ module.exports = {
//
development: {
host: "127.0.0.1", // Localhost (default: none)
port: 7545, // Standard Ethereum port (default: none)
port: 8545, // Standard Ethereum port (default: none)
network_id: "*", // Any network (default: none)
},
// Another network with more advanced options...

View File

@ -27,14 +27,4 @@ tools/bin/buf protoc \
--go-grpc_opt=module=github.com/certusone/wormhole/bridge/pkg \
--go-grpc_out=bridge/pkg/ proto/**/**/**
mkdir -p explorer/src/proto
tools/bin/buf protoc \
-Iproto \
-Ithird_party/googleapis \
--plugin tools/node_modules/.bin/protoc-gen-ts_proto \
--ts_proto_opt=esModuleInterop=true \
--ts_proto_opt=env=browser \
--ts_proto_opt=forceLong=string \
--ts_proto_opt=outputClientImpl=grpc-web \
--ts_proto_out=explorer/src/proto/ proto/**/**/**
mkdir -p explorer/src/proto

View File

@ -43,7 +43,10 @@ use solana_client::{
rpc_config::RpcSendTransactionConfig,
};
use solana_sdk::{
commitment_config::CommitmentConfig,
commitment_config::{
CommitmentConfig,
CommitmentLevel,
},
native_token::*,
program_error::ProgramError::AccountAlreadyInitialized,
pubkey::Pubkey,
@ -399,7 +402,15 @@ where
}
fn check_fee_payer_balance(config: &Config, required_balance: u64) -> Result<(), Error> {
let balance = config.rpc_client.get_balance(&config.fee_payer.pubkey())?;
let balance = config
.rpc_client
.get_balance_with_commitment(
&config.fee_payer.pubkey(),
CommitmentConfig {
commitment: CommitmentLevel::Processed,
},
)?
.value;
if balance < required_balance {
Err(format!(
"Fee payer, {}, has insufficient balance: {} required, {} available",

View File

@ -44,21 +44,7 @@ spl-token mint "$token" 10000000000 "$account"
# Create the bridge contract at a known address
# OK to fail on subsequent attempts (already created).
retry cli create-bridge "$bridge_address" "$initial_guardian"
# Create wrapped asset for the token we mint in send-lockups.js (2 = Ethereum, 9 decimals)
wrapped_token=$(cli create-wrapped "$bridge_address" 2 9 000000000000000000000000CfEB869F69431e42cdB54A4F4f105C19C080A601 | grep 'Wrapped Mint address' | awk '{ print $4 }')
echo "Created wrapped token $wrapped_token"
# Create token account to receive wrapped assets from send-lockups.js
wrapped_account=$(spl-token create-account "$wrapped_token" | grep 'Creating account' | awk '{ print $3 }')
echo "Created wrapped token account $wrapped_account"
# Create wrapped asset and token account for Terra tokens (3 for Terra, 8 for precision)
wrapped_terra_token=$(cli create-wrapped "$bridge_address" 3 8 0000000000000000000000003b1a7485c6162c5883ee45fb2d7477a87d8a4ce5 | grep 'Wrapped Mint address' | awk '{ print $4 }')
echo "Created wrapped token for Terra $wrapped_terra_token"
wrapped_terra_account=$(cli create-account "$wrapped_terra_token" | grep 'Creating account' | awk '{ print $3 }')
echo "Created wrapped token account for Terra $wrapped_terra_account"
retry client create-bridge "$bridge_address" "$initial_guardian" 86400 100
# Let k8s startup probe succeed
nc -l -p 2000

145
tools/package-lock.json generated
View File

@ -12,31 +12,31 @@
},
"node_modules/@protobufjs/aspromise": {
"version": "1.1.2",
"resolved": "https://npm/@protobufjs%2faspromise/-/aspromise-1.1.2.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
"integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=",
"dev": true
},
"node_modules/@protobufjs/base64": {
"version": "1.1.2",
"resolved": "https://npm/@protobufjs%2fbase64/-/base64-1.1.2.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
"dev": true
},
"node_modules/@protobufjs/codegen": {
"version": "2.0.4",
"resolved": "https://npm/@protobufjs%2fcodegen/-/codegen-2.0.4.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
"dev": true
},
"node_modules/@protobufjs/eventemitter": {
"version": "1.1.0",
"resolved": "https://npm/@protobufjs%2feventemitter/-/eventemitter-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
"integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=",
"dev": true
},
"node_modules/@protobufjs/fetch": {
"version": "1.1.0",
"resolved": "https://npm/@protobufjs%2ffetch/-/fetch-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
"integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
"dev": true,
"dependencies": {
@ -46,93 +46,103 @@
},
"node_modules/@protobufjs/float": {
"version": "1.0.2",
"resolved": "https://npm/@protobufjs%2ffloat/-/float-1.0.2.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
"integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=",
"dev": true
},
"node_modules/@protobufjs/inquire": {
"version": "1.1.0",
"resolved": "https://npm/@protobufjs%2finquire/-/inquire-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
"integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=",
"dev": true
},
"node_modules/@protobufjs/path": {
"version": "1.1.2",
"resolved": "https://npm/@protobufjs%2fpath/-/path-1.1.2.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
"integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=",
"dev": true
},
"node_modules/@protobufjs/pool": {
"version": "1.1.0",
"resolved": "https://npm/@protobufjs%2fpool/-/pool-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
"integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=",
"dev": true
},
"node_modules/@protobufjs/utf8": {
"version": "1.1.0",
"resolved": "https://npm/@protobufjs%2futf8/-/utf8-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
"integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=",
"dev": true
},
"node_modules/@types/long": {
"version": "4.0.1",
"resolved": "https://npm/@types%2flong/-/long-4.0.1.tgz",
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz",
"integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==",
"dev": true
},
"node_modules/@types/node": {
"version": "15.6.1",
"resolved": "https://npm/@types%2fnode/-/node-15.6.1.tgz",
"integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==",
"version": "15.12.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz",
"integrity": "sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==",
"dev": true
},
"node_modules/@types/object-hash": {
"version": "1.3.4",
"resolved": "https://npm/@types%2fobject-hash/-/object-hash-1.3.4.tgz",
"resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz",
"integrity": "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA==",
"dev": true
},
"node_modules/@types/prettier": {
"version": "1.19.1",
"resolved": "https://npm/@types%2fprettier/-/prettier-1.19.1.tgz",
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
"integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==",
"dev": true
},
"node_modules/dataloader": {
"version": "1.4.0",
"resolved": "https://npm/dataloader/-/dataloader-1.4.0.tgz",
"resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz",
"integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==",
"dev": true
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://npm/lodash/-/lodash-4.17.21.tgz",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"node_modules/long": {
"version": "4.0.0",
"resolved": "https://npm/long/-/long-4.0.0.tgz",
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
"dev": true
},
"node_modules/object-hash": {
"version": "1.3.1",
"resolved": "https://npm/object-hash/-/object-hash-1.3.1.tgz",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
"integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==",
"dev": true
"dev": true,
"engines": {
"node": ">= 0.10.0"
}
},
"node_modules/prettier": {
"version": "2.3.0",
"resolved": "https://npm/prettier/-/prettier-2.3.0.tgz",
"integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
"dev": true
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz",
"integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/protobufjs": {
"version": "6.11.2",
"resolved": "https://npm/protobufjs/-/protobufjs-6.11.2.tgz",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz",
"integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
"@protobufjs/aspromise": "^1.1.2",
"@protobufjs/base64": "^1.1.2",
@ -147,11 +157,15 @@
"@types/long": "^4.0.1",
"@types/node": ">=13.7.0",
"long": "^4.0.0"
},
"bin": {
"pbjs": "bin/pbjs",
"pbts": "bin/pbts"
}
},
"node_modules/ts-poet": {
"version": "4.5.0",
"resolved": "https://npm/ts-poet/-/ts-poet-4.5.0.tgz",
"resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.5.0.tgz",
"integrity": "sha512-Vs2Zsiz3zf5qdFulFTIEpaLdgWeHXKh+4pv+ycVqEh+ZuUOVGrN0i9lbxVx7DB1FBogExytz3OuaBMJfWffpSQ==",
"dev": true,
"dependencies": {
@ -161,9 +175,9 @@
}
},
"node_modules/ts-proto": {
"version": "1.81.1",
"resolved": "https://npm/ts-proto/-/ts-proto-1.81.1.tgz",
"integrity": "sha512-yp9ADpwZHWoraUF92vaX5pQPz5N0byOc7FO7kNMnIskkyDFhRwLKIYdj8souqRh3BSaXFeMo04804BDaBq8kGw==",
"version": "1.82.0",
"resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.82.0.tgz",
"integrity": "sha512-vo4QN4QhR0D4/+C/pSbRIVSV6U7dooNcuyW3SL9DvhKRQA4lnAbF5QBs77ge3JRi+aSZJm8MlzTNk7+e++fvvQ==",
"dev": true,
"dependencies": {
"@types/object-hash": "^1.3.0",
@ -172,12 +186,15 @@
"protobufjs": "^6.8.8",
"ts-poet": "^4.5.0",
"ts-proto-descriptors": "^1.2.1"
},
"bin": {
"protoc-gen-ts_proto": "protoc-gen-ts_proto"
}
},
"node_modules/ts-proto-descriptors": {
"version": "1.2.1",
"resolved": "https://npm/ts-proto-descriptors/-/ts-proto-descriptors-1.2.1.tgz",
"integrity": "sha512-iSHiQAaovi9sBwjiSCca/E089uv0IMt9Cfe0wV5AJwZppGa47yfih97Q+1006bdSLWkxf5Pk3VDQnt1yRTMV8w==",
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.3.1.tgz",
"integrity": "sha512-Cybb3fqceMwA6JzHdC32dIo8eVGVmXrM6TWhdk1XQVVHT/6OQqk0ioyX1dIdu3rCIBhRmWUhUE4HsyK+olmgMw==",
"dev": true,
"dependencies": {
"long": "^4.0.0",
@ -188,31 +205,31 @@
"dependencies": {
"@protobufjs/aspromise": {
"version": "1.1.2",
"resolved": "https://npm/@protobufjs%2faspromise/-/aspromise-1.1.2.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
"integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=",
"dev": true
},
"@protobufjs/base64": {
"version": "1.1.2",
"resolved": "https://npm/@protobufjs%2fbase64/-/base64-1.1.2.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
"dev": true
},
"@protobufjs/codegen": {
"version": "2.0.4",
"resolved": "https://npm/@protobufjs%2fcodegen/-/codegen-2.0.4.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
"dev": true
},
"@protobufjs/eventemitter": {
"version": "1.1.0",
"resolved": "https://npm/@protobufjs%2feventemitter/-/eventemitter-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
"integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=",
"dev": true
},
"@protobufjs/fetch": {
"version": "1.1.0",
"resolved": "https://npm/@protobufjs%2ffetch/-/fetch-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
"integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
"dev": true,
"requires": {
@ -222,91 +239,91 @@
},
"@protobufjs/float": {
"version": "1.0.2",
"resolved": "https://npm/@protobufjs%2ffloat/-/float-1.0.2.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
"integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=",
"dev": true
},
"@protobufjs/inquire": {
"version": "1.1.0",
"resolved": "https://npm/@protobufjs%2finquire/-/inquire-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
"integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=",
"dev": true
},
"@protobufjs/path": {
"version": "1.1.2",
"resolved": "https://npm/@protobufjs%2fpath/-/path-1.1.2.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
"integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=",
"dev": true
},
"@protobufjs/pool": {
"version": "1.1.0",
"resolved": "https://npm/@protobufjs%2fpool/-/pool-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
"integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=",
"dev": true
},
"@protobufjs/utf8": {
"version": "1.1.0",
"resolved": "https://npm/@protobufjs%2futf8/-/utf8-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
"integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=",
"dev": true
},
"@types/long": {
"version": "4.0.1",
"resolved": "https://npm/@types%2flong/-/long-4.0.1.tgz",
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz",
"integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==",
"dev": true
},
"@types/node": {
"version": "15.6.1",
"resolved": "https://npm/@types%2fnode/-/node-15.6.1.tgz",
"integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==",
"version": "15.12.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz",
"integrity": "sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==",
"dev": true
},
"@types/object-hash": {
"version": "1.3.4",
"resolved": "https://npm/@types%2fobject-hash/-/object-hash-1.3.4.tgz",
"resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz",
"integrity": "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA==",
"dev": true
},
"@types/prettier": {
"version": "1.19.1",
"resolved": "https://npm/@types%2fprettier/-/prettier-1.19.1.tgz",
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
"integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==",
"dev": true
},
"dataloader": {
"version": "1.4.0",
"resolved": "https://npm/dataloader/-/dataloader-1.4.0.tgz",
"resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz",
"integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==",
"dev": true
},
"lodash": {
"version": "4.17.21",
"resolved": "https://npm/lodash/-/lodash-4.17.21.tgz",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"long": {
"version": "4.0.0",
"resolved": "https://npm/long/-/long-4.0.0.tgz",
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
"dev": true
},
"object-hash": {
"version": "1.3.1",
"resolved": "https://npm/object-hash/-/object-hash-1.3.1.tgz",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
"integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==",
"dev": true
},
"prettier": {
"version": "2.3.0",
"resolved": "https://npm/prettier/-/prettier-2.3.0.tgz",
"integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz",
"integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==",
"dev": true
},
"protobufjs": {
"version": "6.11.2",
"resolved": "https://npm/protobufjs/-/protobufjs-6.11.2.tgz",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz",
"integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==",
"dev": true,
"requires": {
@ -327,7 +344,7 @@
},
"ts-poet": {
"version": "4.5.0",
"resolved": "https://npm/ts-poet/-/ts-poet-4.5.0.tgz",
"resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.5.0.tgz",
"integrity": "sha512-Vs2Zsiz3zf5qdFulFTIEpaLdgWeHXKh+4pv+ycVqEh+ZuUOVGrN0i9lbxVx7DB1FBogExytz3OuaBMJfWffpSQ==",
"dev": true,
"requires": {
@ -337,9 +354,9 @@
}
},
"ts-proto": {
"version": "1.81.1",
"resolved": "https://npm/ts-proto/-/ts-proto-1.81.1.tgz",
"integrity": "sha512-yp9ADpwZHWoraUF92vaX5pQPz5N0byOc7FO7kNMnIskkyDFhRwLKIYdj8souqRh3BSaXFeMo04804BDaBq8kGw==",
"version": "1.82.0",
"resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.82.0.tgz",
"integrity": "sha512-vo4QN4QhR0D4/+C/pSbRIVSV6U7dooNcuyW3SL9DvhKRQA4lnAbF5QBs77ge3JRi+aSZJm8MlzTNk7+e++fvvQ==",
"dev": true,
"requires": {
"@types/object-hash": "^1.3.0",
@ -351,9 +368,9 @@
}
},
"ts-proto-descriptors": {
"version": "1.2.1",
"resolved": "https://npm/ts-proto-descriptors/-/ts-proto-descriptors-1.2.1.tgz",
"integrity": "sha512-iSHiQAaovi9sBwjiSCca/E089uv0IMt9Cfe0wV5AJwZppGa47yfih97Q+1006bdSLWkxf5Pk3VDQnt1yRTMV8w==",
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.3.1.tgz",
"integrity": "sha512-Cybb3fqceMwA6JzHdC32dIo8eVGVmXrM6TWhdk1XQVVHT/6OQqk0ioyX1dIdu3rCIBhRmWUhUE4HsyK+olmgMw==",
"dev": true,
"requires": {
"long": "^4.0.0",