Use NPM workspaces (#151)

* Add linking script, use in CI

* Building

* Remove package locks

* remove package locks

* cleanup

* build in order

* Remove require
nambrot/fix-contract-metrics-avalanche
Asa Oines 3 years ago committed by GitHub
parent 23c3e4cd22
commit eaa89a9c52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 86
      .github/workflows/npm/action.yml
  2. 17
      .github/workflows/typescript.yml
  3. 34574
      package-lock.json
  4. 17
      package.json
  5. 14
      scripts/prettier.sh
  6. 11
      scripts/test-solidity.sh
  7. 18965
      solidity/abacus-core/package-lock.json
  8. 3
      solidity/abacus-core/package.json
  9. 3
      solidity/abacus-xapps/package.json
  10. 4363
      typescript/abacus-deploy/package-lock.json
  11. 4
      typescript/abacus-deploy/package.json
  12. 2
      typescript/abacus-deploy/scripts/upgrade-replica.ts
  13. 8
      typescript/abacus-deploy/scripts/utils.ts
  14. 8
      typescript/abacus-deploy/src/agents.ts
  15. 2
      typescript/abacus-deploy/src/bridge/BridgeContracts.ts
  16. 4
      typescript/abacus-deploy/src/bridge/index.ts
  17. 8
      typescript/abacus-deploy/src/core/govern.ts
  18. 14
      typescript/abacus-deploy/src/core/index.ts
  19. 9
      typescript/abacus-deploy/src/provider.ts
  20. 4
      typescript/abacus-deploy/src/verification/readDeployOutput.ts
  21. 5893
      typescript/abacus-sdk/package-lock.json
  22. 2
      typescript/abacus-sdk/package.json
  23. 2
      typescript/abacus-tests/lib/bridge.ts
  24. 2
      typescript/abacus-tests/lib/core.ts
  25. 2
      typescript/abacus-tests/lib/types.ts
  26. 33539
      typescript/abacus-tests/package-lock.json
  27. 8
      typescript/abacus-tests/package.json
  28. 2
      typescript/abacus-tests/test/TestBridgeDeploy.ts
  29. 2
      typescript/abacus-tests/test/bridge/EthHelper.test.ts
  30. 2
      typescript/abacus-tests/test/bridge/bridgeMessage.test.ts
  31. 12
      typescript/abacus-tests/test/common.test.ts
  32. 20
      typescript/abacus-tests/test/cross-chain/governanceRouter.test.ts
  33. 2
      typescript/abacus-tests/test/cross-chain/recoveryManager.test.ts
  34. 4
      typescript/abacus-tests/test/cross-chain/simpleMessage.test.ts
  35. 4
      typescript/abacus-tests/test/cross-chain/utils.ts
  36. 2
      typescript/abacus-tests/test/deploy.test.ts
  37. 10
      typescript/abacus-tests/test/home.test.ts
  38. 2
      typescript/abacus-tests/test/message.test.ts
  39. 6
      typescript/abacus-tests/test/multiProvider.test.ts
  40. 6
      typescript/abacus-tests/test/replica.test.ts
  41. 4
      typescript/abacus-tests/test/xAppConnectionManager.test.ts
  42. 5564
      typescript/contract-metrics/package-lock.json
  43. 4
      typescript/contract-metrics/package.json
  44. 2
      typescript/typechain/abacus-core/factories/GovernanceRouter__factory.ts
  45. 2
      typescript/typechain/abacus-core/factories/Home__factory.ts
  46. 2
      typescript/typechain/abacus-core/factories/TestGovernanceRouter__factory.ts
  47. 2
      typescript/typechain/abacus-core/factories/TestHome__factory.ts
  48. 2
      typescript/typechain/abacus-core/factories/TestXAppConnectionManager__factory.ts
  49. 2
      typescript/typechain/abacus-core/factories/UpdaterManager__factory.ts
  50. 2
      typescript/typechain/abacus-core/factories/XAppConnectionManager__factory.ts
  51. 2
      typescript/typechain/abacus-xapps/factories/BridgeRouter__factory.ts
  52. 2
      typescript/typechain/abacus-xapps/factories/BridgeToken__factory.ts
  53. 2
      typescript/typechain/abacus-xapps/factories/ETHHelper__factory.ts
  54. 2
      typescript/typechain/abacus-xapps/factories/Home__factory.ts
  55. 2
      typescript/typechain/abacus-xapps/factories/MockCore__factory.ts
  56. 2
      typescript/typechain/abacus-xapps/factories/MockWeth__factory.ts
  57. 2
      typescript/typechain/abacus-xapps/factories/QueueManager__factory.ts
  58. 2
      typescript/typechain/abacus-xapps/factories/Replica__factory.ts
  59. 2
      typescript/typechain/abacus-xapps/factories/RouterTemplate__factory.ts
  60. 2
      typescript/typechain/abacus-xapps/factories/TestBridgeMessage__factory.ts
  61. 2
      typescript/typechain/abacus-xapps/factories/TypedMemView__factory.ts
  62. 2
      typescript/typechain/abacus-xapps/factories/UpgradeBeaconProxy__factory.ts
  63. 2
      typescript/typechain/abacus-xapps/factories/XAppConnectionManager__factory.ts
  64. 1362
      typescript/typechain/package-lock.json
  65. 2
      typescript/typechain/package.json

@ -15,87 +15,15 @@ runs:
echo ${{ inputs.runneros }} echo ${{ inputs.runneros }}
# Save caches individually # Save caches individually
- name: Core Cache - name: Parent Cache
id: core-cache id: parent-cache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ./solidity/abacus-core/node_modules path: .//node_modules
key: ${{ inputs.runneros }}-core-cache-${{ hashFiles('solidity/abacus-core/package-lock.json') }} key: ${{ inputs.runneros }}-core-cache-${{ hashFiles('./package-lock.json') }}
- name: XApps Cache
id: xapps-cache
uses: actions/cache@v2
with:
path: ./solidity/abacus-xapps/node_modules
key: ${{ inputs.runneros }}-xapps-cache-${{ hashFiles('solidity/abacus-xapps/package-lock.json') }}
- name: Tests Cache
id: tests-cache
uses: actions/cache@v2
with:
path: ./typescript/abacus-tests/node_modules
key: ${{ inputs.runneros }}-tests-cache-${{ hashFiles('typescript/abacus-tests/package-lock.json') }}
- name: Deploy Cache
id: deploy-cache
uses: actions/cache@v2
with:
path: ./typescript/abacus-deploy/node_modules
key: ${{ inputs.runneros }}-deploy-cache-${{ hashFiles('typescript/abacus-deploy/package-lock.json') }}
- name: Typechain Cache
id: typechain-cache
uses: actions/cache@v2
with:
path: ./typescript/typechain/node_modules
key: ${{ inputs.runneros }}-typechain-cache-${{ hashFiles('typescript/typechain/package-lock.json') }}
- name: Abacus SDK Cache
id: sdk-cache
uses: actions/cache@v2
with:
path: ./typescript/abacus-sdk/node_modules
key: ${{ inputs.runneros }}-sdk-cache-${{ hashFiles('typescript/abacus-sdk/package-lock.json') }}
- name: Metrics Cache
id: metrics-cache
uses: actions/cache@v2
with:
path: ./typescript/contract-metrics/node_modules
key: ${{ inputs.runneros }}-metrics-cache-${{ hashFiles('typescript/contract-metrics/package-lock.json') }}
# Install separately depending on cache hit # Install separately depending on cache hit
- name: Install Core - name: Install Parent
shell: bash
if: steps.core-cache.outputs.cache-hit != 'true'
run: cd ./solidity/abacus-core && npm i
- name: Install XApps
shell: bash
if: steps.xapps-cache.outputs.cache-hit != 'true'
run: cd ./solidity/abacus-xapps && npm i
- name: Install Tests
shell: bash
if: steps.tests-cache.outputs.cache-hit != 'true'
run: cd ./typescript/abacus-tests && npm i
- name: Install Deploy
shell: bash
if: steps.deploy-cache.outputs.cache-hit != 'true'
run: cd ./typescript/abacus-deploy && npm i
- name: Install Typechain
shell: bash
if: steps.typechain-cache.outputs.cache-hit != 'true'
run: cd ./typescript/typechain && npm i
- name: Install Multi-Provider
shell: bash
if: steps.provider-cache.outputs.cache-hit != 'true'
run: cd ./typescript/abacus-sdk && npm i
- name: Install Metrics
shell: bash shell: bash
if: steps.metrics-cache.outputs.cache-hit != 'true' if: steps.parent-cache.outputs.cache-hit != 'true'
run: cd ./typescript/contract-metrics && npm i run: npm i

@ -32,14 +32,10 @@ jobs:
- name: build - name: build
run: | run: |
cd ./typescript/contract-metrics npm --prefix ./typescript/typechain run build
npm run build npm --prefix ./typescript/abacus-sdk run build
cd ../abacus-deploy npm --prefix ./typescript/abacus-deploy run build
npm run build npm --prefix ./typescript/contract-metrics run build
cd ../abacus-sdk
npm run build
cd ../typechain
npm run build
typescript-lint: typescript-lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [typescript-install] needs: [typescript-install]
@ -52,12 +48,7 @@ jobs:
- name: prettier - name: prettier
run: | run: |
cd ./typescript/abacus-deploy
npm run prettier npm run prettier
cd ../abacus-sdk
npm run prettier
cd ../abacus-tests
npm run prettier-ci
CHANGES=$(git status -s) CHANGES=$(git status -s)
if [[ ! -z $CHANGES ]]; then if [[ ! -z $CHANGES ]]; then
echo "Changes found: $CHANGES" echo "Changes found: $CHANGES"

File diff suppressed because it is too large Load Diff

@ -0,0 +1,17 @@
{
"name": "@abacus-network/monorepo",
"scripts": {
"build": "npm run build --workspaces",
"prettier": "npm run prettier --workspaces"
},
"workspaces": [
"solidity/abacus-core",
"solidity/abacus-xapps",
"typescript/typechain",
"typescript/abacus-sdk",
"typescript/contract-metrics",
"typescript/abacus-deploy",
"typescript/abacus-tests"
]
}

@ -1,14 +0,0 @@
# script for auto-formatting supported files
# Run from root (./scripts/format.sh)
set -e
# solidity
npm --prefix ./solidity/abacus-core run prettier
npm --prefix ./solidity/abacus-xapps run prettier
# typescript
npm --prefix ./typescript/contract-metrics run prettier
npm --prefix ./typescript/abacus-deploy run prettier
npm --prefix ./typescript/optics-provider run prettier
npm --prefix ./typescript/abacus-tests run prettier

@ -4,12 +4,8 @@
set -e set -e
# compile contracts # compile contracts
cd ./solidity/abacus-core npm run build
npm run compile
cd ../abacus-xapps
npm run compile
cd ../../
# copy artifacts # copy artifacts
cp -R ./solidity/abacus-xapps/artifacts ./typescript/abacus-tests cp -R ./solidity/abacus-xapps/artifacts ./typescript/abacus-tests
cp -R ./solidity/abacus-core/artifacts ./typescript/abacus-tests cp -R ./solidity/abacus-core/artifacts ./typescript/abacus-tests
@ -19,7 +15,4 @@ cp -R ./solidity/abacus-xapps/cache ./typescript/abacus-tests
cp -R ./solidity/abacus-core/cache ./typescript/abacus-tests cp -R ./solidity/abacus-core/cache ./typescript/abacus-tests
# run tests # run tests
cd ./typescript/abacus-tests npm --prefix ./typescript/abacus-tests run testNoCompile
npm i
npm run testNoCompile
cd ../..

File diff suppressed because it is too large Load Diff

@ -4,7 +4,7 @@
"@nomiclabs/hardhat-ethers": "^2.0.1", "@nomiclabs/hardhat-ethers": "^2.0.1",
"@nomiclabs/hardhat-etherscan": "^2.1.2", "@nomiclabs/hardhat-etherscan": "^2.1.2",
"@nomiclabs/hardhat-waffle": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1",
"@typechain/ethers-v5": "^7.0.0", "@typechain/ethers-v5": "~7.0.0",
"@typechain/hardhat": "^2.0.1", "@typechain/hardhat": "^2.0.1",
"chai": "^4.3.0", "chai": "^4.3.0",
"eslint": "^7.20.0", "eslint": "^7.20.0",
@ -28,6 +28,7 @@
"scripts": { "scripts": {
"prettier": "prettier --write ./contracts", "prettier": "prettier --write ./contracts",
"compile": "hardhat compile && hardhat typechain && npm run prettier && ./update_abis.sh", "compile": "hardhat compile && hardhat typechain && npm run prettier && ./update_abis.sh",
"build": "npm run compile",
"coverage": "npm run compile && hardhat coverage", "coverage": "npm run compile && hardhat coverage",
"test": "cd ../../ && ./scripts/test-solidity.sh", "test": "cd ../../ && ./scripts/test-solidity.sh",
"lint": "solhint 'contracts/*.sol' && solhint 'contracts/**/*.sol'", "lint": "solhint 'contracts/*.sol' && solhint 'contracts/**/*.sol'",

@ -4,7 +4,7 @@
"@nomiclabs/hardhat-ethers": "^2.0.1", "@nomiclabs/hardhat-ethers": "^2.0.1",
"@nomiclabs/hardhat-etherscan": "^2.1.2", "@nomiclabs/hardhat-etherscan": "^2.1.2",
"@nomiclabs/hardhat-waffle": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1",
"@typechain/ethers-v5": "^7.0.0", "@typechain/ethers-v5": "~7.0.0",
"@typechain/hardhat": "^2.0.1", "@typechain/hardhat": "^2.0.1",
"chai": "^4.3.0", "chai": "^4.3.0",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
@ -27,6 +27,7 @@
"scripts": { "scripts": {
"prettier": "prettier --write './contracts'", "prettier": "prettier --write './contracts'",
"compile": "hardhat compile && hardhat typechain && npm run prettier", "compile": "hardhat compile && hardhat typechain && npm run prettier",
"build": "npm run compile",
"coverage": "npm run compile && hardhat coverage", "coverage": "npm run compile && hardhat coverage",
"test": "cd ../../ && ./scripts/test-solidity.sh", "test": "cd ../../ && ./scripts/test-solidity.sh",
"lint": "solhint contracts/*.sol", "lint": "solhint contracts/*.sol",

File diff suppressed because it is too large Load Diff

@ -21,7 +21,8 @@
"author": "Celo Labs Inc.", "author": "Celo Labs Inc.",
"license": "MIT OR Apache-2.0", "license": "MIT OR Apache-2.0",
"dependencies": { "dependencies": {
"@abacus-network/sdk": "0.0.0", "@abacus-network/sdk": "^0.0.1",
"@abacus-network/ts-interface": "^0.0.1",
"@aws-sdk/client-kms": "3.48.0", "@aws-sdk/client-kms": "3.48.0",
"@ethersproject/experimental": "^5.3.0", "@ethersproject/experimental": "^5.3.0",
"@types/node": "^16.9.1", "@types/node": "^16.9.1",
@ -30,7 +31,6 @@
"axios": "^0.21.3", "axios": "^0.21.3",
"chai": "^4.3.4", "chai": "^4.3.4",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
"@abacus-network/ts-interface": "1.1.2",
"yargs": "^17.3.1" "yargs": "^17.3.1"
} }
} }

@ -9,7 +9,7 @@ import {
import { ViolationType } from '../src/checks'; import { ViolationType } from '../src/checks';
import { CoreInvariantChecker } from '../src/core/checks'; import { CoreInvariantChecker } from '../src/core/checks';
import { expectCalls, GovernanceCallBatchBuilder } from '../src/core/govern'; import { expectCalls, GovernanceCallBatchBuilder } from '../src/core/govern';
import { Call } from '@abacus-network/sdk/dist/optics/govern'; import { Call } from '@abacus-network/sdk/dist/abacus/govern';
async function main() { async function main() {
const environment = await getEnvironment(); const environment = await getEnvironment();

@ -1,4 +1,4 @@
import { OpticsContext, dev, testnet, mainnet } from '@abacus-network/sdk'; import { AbacusContext, dev, testnet, mainnet } from '@abacus-network/sdk';
import { ethers } from 'ethers'; import { ethers } from 'ethers';
import { DeployEnvironment } from '../src/deploy'; import { DeployEnvironment } from '../src/deploy';
import { KEY_ROLE_ENUM } from '../src/agents'; import { KEY_ROLE_ENUM } from '../src/agents';
@ -90,7 +90,7 @@ export async function getBridgeDeploys(
return makeBridgeDeploys(environment, chains); return makeBridgeDeploys(environment, chains);
} }
export function getContext(environment: DeployEnvironment): OpticsContext { export function getContext(environment: DeployEnvironment): AbacusContext {
switch (environment) { switch (environment) {
case DeployEnvironment.dev: case DeployEnvironment.dev:
return dev; return dev;
@ -106,7 +106,7 @@ export function getContext(environment: DeployEnvironment): OpticsContext {
} }
export function registerRpcProviders( export function registerRpcProviders(
context: OpticsContext, context: AbacusContext,
chains: ChainConfig[], chains: ChainConfig[],
): void { ): void {
chains.map((c) => chains.map((c) =>
@ -118,7 +118,7 @@ export function registerRpcProviders(
} }
export async function registerGovernorSigner( export async function registerGovernorSigner(
context: OpticsContext, context: AbacusContext,
chains: ChainConfig[], chains: ChainConfig[],
): Promise<void> { ): Promise<void> {
const govDomain = await context.governorDomain(); const govDomain = await context.governorDomain();

@ -49,7 +49,7 @@ async function helmValuesForChain(
repository: agentConfig.docker.repo, repository: agentConfig.docker.repo,
tag: agentConfig.docker.tag, tag: agentConfig.docker.tag,
}, },
optics: { abacus: {
runEnv: agentConfig.runEnv, runEnv: agentConfig.runEnv,
baseConfig: `${chainName}_config.json`, baseConfig: `${chainName}_config.json`,
homeChain: { homeChain: {
@ -113,7 +113,7 @@ export async function getAgentEnvVars(
const rpcEndpoints = await getSecretRpcEndpoints(agentConfig, chains); const rpcEndpoints = await getSecretRpcEndpoints(agentConfig, chains);
envVars.push(`OPT_BASE_HOME_CONNECTION_URL=${rpcEndpoints[homeChainName]}`); envVars.push(`OPT_BASE_HOME_CONNECTION_URL=${rpcEndpoints[homeChainName]}`);
valueDict.optics.replicaChains.forEach((replicaChain: any) => { valueDict.abacus.replicaChains.forEach((replicaChain: any) => {
envVars.push( envVars.push(
`OPT_BASE_REPLICAS_${replicaChain.name.toUpperCase()}_CONNECTION_URL=${ `OPT_BASE_REPLICAS_${replicaChain.name.toUpperCase()}_CONNECTION_URL=${
rpcEndpoints[replicaChain.name] rpcEndpoints[replicaChain.name]
@ -122,7 +122,7 @@ export async function getAgentEnvVars(
}); });
// Base vars from config map // Base vars from config map
envVars.push(`BASE_CONFIG=${valueDict.optics.baseConfig}`); envVars.push(`BASE_CONFIG=${valueDict.abacus.baseConfig}`);
envVars.push(`RUN_ENV=${agentConfig.runEnv}`); envVars.push(`RUN_ENV=${agentConfig.runEnv}`);
envVars.push(`OPT_BASE_METRICS=9090`); envVars.push(`OPT_BASE_METRICS=9090`);
envVars.push(`OPT_BASE_TRACING_LEVEL=info`); envVars.push(`OPT_BASE_TRACING_LEVEL=info`);
@ -266,7 +266,7 @@ export async function runAgentHelmCommand(
return execCmd( return execCmd(
`helm ${action} ${ `helm ${action} ${
homeChainConfig.name homeChainConfig.name
} ../../rust/helm/optics-agent/ --namespace ${ } ../../rust/helm/abacus-agent/ --namespace ${
agentConfig.namespace agentConfig.namespace
} ${values.join(' ')} ${extraPipe}`, } ${values.join(' ')} ${extraPipe}`,
{}, {},

@ -1,4 +1,4 @@
import * as xAppContracts from '@abacus-network/ts-interface/dist/optics-xapps'; import * as xAppContracts from '@abacus-network/ts-interface/dist/abacus-xapps';
import * as contracts from '@abacus-network/ts-interface/dist/abacus-core'; import * as contracts from '@abacus-network/ts-interface/dist/abacus-core';
import { BridgeContractAddresses } from '../../src/config/addresses'; import { BridgeContractAddresses } from '../../src/config/addresses';
import { BeaconProxy } from '../utils/proxy'; import { BeaconProxy } from '../utils/proxy';

@ -1,6 +1,6 @@
import * as proxyUtils from '../utils/proxy'; import * as proxyUtils from '../utils/proxy';
import { BridgeInvariantChecker } from './checks'; import { BridgeInvariantChecker } from './checks';
import * as xAppContracts from '@abacus-network/ts-interface/dist/optics-xapps'; import * as xAppContracts from '@abacus-network/ts-interface/dist/abacus-xapps';
import { toBytes32 } from '../utils/utils'; import { toBytes32 } from '../utils/utils';
import { BridgeDeploy } from './BridgeDeploy'; import { BridgeDeploy } from './BridgeDeploy';
import assert from 'assert'; import assert from 'assert';
@ -12,7 +12,7 @@ export type BridgeDeployOutput = {
/** /**
* Deploy and configure a cross-chain token bridge system * Deploy and configure a cross-chain token bridge system
* with one BridgeRouter on each of the provided chains * with one BridgeRouter on each of the provided chains
* with ownership delegated to Optics governance * with ownership delegated to Abacus governance
* *
* @param deploys - The list of deploy instances for each chain * @param deploys - The list of deploy instances for each chain
*/ */

@ -1,5 +1,5 @@
import { expect } from 'chai'; import { expect } from 'chai';
import { OpticsContext } from '@abacus-network/sdk'; import { AbacusContext } from '@abacus-network/sdk';
import { CoreDeploy } from './CoreDeploy'; import { CoreDeploy } from './CoreDeploy';
import { import {
HomeUpdaterViolation, HomeUpdaterViolation,
@ -8,7 +8,7 @@ import {
Violation, Violation,
ViolationType, ViolationType,
} from '../checks'; } from '../checks';
import { Call, CallBatch } from '@abacus-network/sdk/dist/optics/govern'; import { Call, CallBatch } from '@abacus-network/sdk/dist/abacus/govern';
interface DomainedCall { interface DomainedCall {
domain: number; domain: number;
@ -17,12 +17,12 @@ interface DomainedCall {
export class GovernanceCallBatchBuilder { export class GovernanceCallBatchBuilder {
private _deploys: CoreDeploy[]; private _deploys: CoreDeploy[];
private _context: OpticsContext; private _context: AbacusContext;
private _violations: Violation[]; private _violations: Violation[];
constructor( constructor(
deploys: CoreDeploy[], deploys: CoreDeploy[],
context: OpticsContext, context: AbacusContext,
violations: Violation[], violations: Violation[],
) { ) {
this._deploys = deploys; this._deploys = deploys;

@ -204,12 +204,12 @@ export async function deployUnenrolledReplica(
} }
/** /**
* Deploys the entire optics suite of contracts on the chain of the given deploy * Deploys the entire abacus suite of contracts on the chain of the given deploy
* and updates the deploy instance with the new contracts. * and updates the deploy instance with the new contracts.
* *
* @param deploy - The deploy instance * @param deploy - The deploy instance
*/ */
export async function deployOptics(deploy: CoreDeploy) { export async function deployAbacus(deploy: CoreDeploy) {
const isTestDeploy: boolean = deploy.test; const isTestDeploy: boolean = deploy.test;
if (isTestDeploy) { if (isTestDeploy) {
warn('deploying test contracts', true); warn('deploying test contracts', true);
@ -450,7 +450,7 @@ export async function appointGovernor(gov: CoreDeploy) {
} }
/** /**
* Deploys the entire optics suite of contracts on two chains. * Deploys the entire abacus suite of contracts on two chains.
* *
* @notice `gov` has the governance capability after setup * @notice `gov` has the governance capability after setup
* *
@ -470,7 +470,7 @@ export async function deployTwoChains(gov: CoreDeploy, non: CoreDeploy) {
await Promise.all([gov.ready(), non.ready()]); await Promise.all([gov.ready(), non.ready()]);
log(isTestDeploy, 'done readying'); log(isTestDeploy, 'done readying');
await Promise.all([deployOptics(gov), deployOptics(non)]); await Promise.all([deployAbacus(gov), deployAbacus(non)]);
log(isTestDeploy, 'initial deploys done'); log(isTestDeploy, 'initial deploys done');
@ -514,11 +514,11 @@ export async function deployTwoChains(gov: CoreDeploy, non: CoreDeploy) {
} }
/** /**
* Deploy the entire suite of Optics contracts * Deploy the entire suite of Abacus contracts
* on each chain within the chains array * on each chain within the chains array
* including the upgradable Home, Replicas, and GovernanceRouter * including the upgradable Home, Replicas, and GovernanceRouter
* that have been deployed, initialized, and configured * that have been deployed, initialized, and configured
* according to the deployOptics script * according to the deployAbacus script
* *
* @dev The first chain in the array will be the governing chain * @dev The first chain in the array will be the governing chain
* *
@ -553,7 +553,7 @@ export async function deployNChains(deploys: CoreDeploy[]) {
]); ]);
log(isTestDeploy, 'done readying'); log(isTestDeploy, 'done readying');
await Promise.all(deploys.map(deployOptics)); await Promise.all(deploys.map(deployAbacus));
// enroll remotes on every chain // enroll remotes on every chain
// //

@ -8,11 +8,11 @@ export function updateProviderDomain(
coreDeploys: CoreDeploy[], coreDeploys: CoreDeploy[],
bridgeDeploys: BridgeDeploy[], bridgeDeploys: BridgeDeploy[],
) { ) {
let ret = "import { OpticsDomain } from './domain';\n"; let ret = "import { AbacusDomain } from './domain';\n";
coreDeploys.forEach((coreDeploy: CoreDeploy, i: number) => { coreDeploys.forEach((coreDeploy: CoreDeploy, i: number) => {
const bridgeDeploy = bridgeDeploys[i]; const bridgeDeploy = bridgeDeploys[i];
ret += ` ret += `
export const ${coreDeploy.chain.name}: OpticsDomain = { export const ${coreDeploy.chain.name}: AbacusDomain = {
name: '${coreDeploy.chain.name}', name: '${coreDeploy.chain.name}',
id: ${coreDeploy.chain.domain}, id: ${coreDeploy.chain.domain},
bridgeRouter: '${bridgeDeploy.contracts.bridgeRouter!.proxy.address}',${ bridgeRouter: '${bridgeDeploy.contracts.bridgeRouter!.proxy.address}',${
@ -41,10 +41,7 @@ ${Object.keys(coreDeploy.contracts.replicas)
.map((_) => _.chain.name) .map((_) => _.chain.name)
.join(', ')}];`; .join(', ')}];`;
writeFileSync( writeFileSync(
resolve( resolve(__dirname, `../../abacus-sdk/src/abacus/domains/${environment}.ts`),
__dirname,
`../../optics-provider/src/optics/domains/${environment}.ts`,
),
ret, ret,
); );
} }

@ -34,7 +34,7 @@ export function getNetworksFromDeploy(path: string): string[] {
/* /*
* Get path to *most recent* config folder * Get path to *most recent* config folder
* of Bridge deploys for the * of Bridge deploys for the
* most recent Optics core system deploy * most recent Abacus core system deploy
* */ * */
export function getPathToLatestBridgeConfig() { export function getPathToLatestBridgeConfig() {
const configPath = getPathToLatestDeployConfig(); const configPath = getPathToLatestDeployConfig();
@ -44,7 +44,7 @@ export function getPathToLatestBridgeConfig() {
/* /*
* Get path to *most recent* config folder * Get path to *most recent* config folder
* of Optics core system deploys * of Abacus core system deploys
* */ * */
export function getPathToLatestDeployConfig() { export function getPathToLatestDeployConfig() {
const configPath = '../../typescript/abacus-deploy/config/environments'; const configPath = '../../typescript/abacus-deploy/config/environments';

File diff suppressed because it is too large Load Diff

@ -30,6 +30,6 @@
"@ethersproject/bytes": "^5.5.0", "@ethersproject/bytes": "^5.5.0",
"celo-ethers-provider": "0.0.0", "celo-ethers-provider": "0.0.0",
"ethers": "^5.4.7", "ethers": "^5.4.7",
"@abacus-network/ts-interface": "^1.1.2" "@abacus-network/ts-interface": "^0.0.1"
} }
} }

@ -1,4 +1,4 @@
import { TokenIdentifier } from '@abacus-network/sdk/dist/optics'; import { TokenIdentifier } from '@abacus-network/sdk/dist/abacus';
import { assert } from 'chai'; import { assert } from 'chai';
import { ethers } from 'ethers'; import { ethers } from 'ethers';

@ -69,7 +69,7 @@ const formatMessage = (
); );
}; };
export enum OpticsState { export enum AbacusState {
UNINITIALIZED = 0, UNINITIALIZED = 0,
ACTIVE, ACTIVE,
FAILED, FAILED,

@ -1,5 +1,5 @@
import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers';
import { TokenIdentifier } from '@abacus-network/sdk/dist/optics'; import { TokenIdentifier } from '@abacus-network/sdk/dist/abacus';
import { BytesLike, ethers } from 'ethers'; import { BytesLike, ethers } from 'ethers';
import { BridgeMessageTypes } from './bridge'; import { BridgeMessageTypes } from './bridge';

File diff suppressed because it is too large Load Diff

@ -16,9 +16,9 @@
"typescript": "^4.3.2" "typescript": "^4.3.2"
}, },
"dependencies": { "dependencies": {
"@abacus-network/abacus-deploy": "0.0.5", "@abacus-network/abacus-deploy": "^0.0.5",
"@abacus-network/sdk": "0.0.0", "@abacus-network/sdk": "^0.0.1",
"@abacus-network/ts-interface": "^1.1.2", "@abacus-network/ts-interface": "^0.0.1",
"@types/node": "^15.14.7", "@types/node": "^15.14.7",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
"hardhat-gas-reporter": "^1.0.7" "hardhat-gas-reporter": "^1.0.7"
@ -28,9 +28,9 @@
"description": "Optics typescript tests and tools", "description": "Optics typescript tests and tools",
"main": "index.ts", "main": "index.ts",
"scripts": { "scripts": {
"build": "tsc",
"check": "tsc --noEmit", "check": "tsc --noEmit",
"prettier": "prettier --write ./test ./lib", "prettier": "prettier --write ./test ./lib",
"prettier-ci": "prettier --check ./test",
"test": "hardhat test", "test": "hardhat test",
"testNoCompile": "hardhat test" "testNoCompile": "hardhat test"
}, },

@ -11,7 +11,7 @@ import {
MockWeth, MockWeth,
MockWeth__factory, MockWeth__factory,
} from '@abacus-network/ts-interface/dist/abacus-xapps'; } from '@abacus-network/ts-interface/dist/abacus-xapps';
import { TokenIdentifier } from '@abacus-network/sdk/dist/optics/tokens'; import { TokenIdentifier } from '@abacus-network/sdk/dist/abacus/tokens';
import { BridgeDeploy } from '@abacus-network/abacus-deploy/dist/src/bridge/BridgeDeploy'; import { BridgeDeploy } from '@abacus-network/abacus-deploy/dist/src/bridge/BridgeDeploy';
import { BridgeContracts } from '@abacus-network/abacus-deploy/dist/src/bridge/BridgeContracts'; import { BridgeContracts } from '@abacus-network/abacus-deploy/dist/src/bridge/BridgeContracts';

@ -5,7 +5,7 @@ import { expect } from 'chai';
import * as types from '../../lib/types'; import * as types from '../../lib/types';
import { toBytes32 } from '../../lib/utils'; import { toBytes32 } from '../../lib/utils';
import TestBridgeDeploy from '../TestBridgeDeploy'; import TestBridgeDeploy from '../TestBridgeDeploy';
import { TokenIdentifier } from '@abacus-network/sdk/dist/optics'; import { TokenIdentifier } from '@abacus-network/sdk/dist/abacus';
import { getTestChain } from '../testChain'; import { getTestChain } from '../testChain';
const { BridgeMessageTypes } = bridge; const { BridgeMessageTypes } = bridge;

@ -10,7 +10,7 @@ import {
TestBridgeMessage__factory, TestBridgeMessage__factory,
TestBridgeMessage, TestBridgeMessage,
} from '@abacus-network/ts-interface/dist/abacus-xapps'; } from '@abacus-network/ts-interface/dist/abacus-xapps';
import { TokenIdentifier } from '@abacus-network/sdk/dist/optics'; import { TokenIdentifier } from '@abacus-network/sdk/dist/abacus';
const stringToBytes32 = (s: string): string => { const stringToBytes32 = (s: string): string => {
const str = Buffer.from(s.slice(0, 32), 'utf-8'); const str = Buffer.from(s.slice(0, 32), 'utf-8');

@ -1,7 +1,7 @@
import { ethers } from 'hardhat'; import { ethers } from 'hardhat';
import { expect } from 'chai'; import { expect } from 'chai';
import { OpticsState, Updater } from '../lib/core'; import { AbacusState, Updater } from '../lib/core';
import { Signer } from '../lib/types'; import { Signer } from '../lib/types';
import { import {
@ -70,7 +70,7 @@ describe('Common', async () => {
common.doubleUpdate(oldRoot, [newRoot, newRoot2], signature, signature2), common.doubleUpdate(oldRoot, [newRoot, newRoot2], signature, signature2),
).to.emit(common, 'DoubleUpdate'); ).to.emit(common, 'DoubleUpdate');
expect(await common.state()).to.equal(OpticsState.FAILED); expect(await common.state()).to.equal(AbacusState.FAILED);
}); });
it('Does not fail contract on invalid double update proof', async () => { it('Does not fail contract on invalid double update proof', async () => {
@ -90,8 +90,8 @@ describe('Common', async () => {
// State should not be failed because double update proof does not // State should not be failed because double update proof does not
// demonstrate fraud // demonstrate fraud
const state = await common.state(); const state = await common.state();
expect(state).not.to.equal(OpticsState.FAILED); expect(state).not.to.equal(AbacusState.FAILED);
expect(state).to.equal(OpticsState.ACTIVE); expect(state).to.equal(AbacusState.ACTIVE);
}); });
it('Does not fail on double update after updater rotation', async () => { it('Does not fail on double update after updater rotation', async () => {
@ -115,8 +115,8 @@ describe('Common', async () => {
// State should not be failed because double update proof does not // State should not be failed because double update proof does not
// use current updater. // use current updater.
const state = await common.state(); const state = await common.state();
expect(state).not.to.equal(OpticsState.FAILED); expect(state).not.to.equal(AbacusState.FAILED);
expect(state).to.equal(OpticsState.ACTIVE); expect(state).to.equal(AbacusState.ACTIVE);
}); });
it('Checks Rust-produced SignedUpdate', async () => { it('Checks Rust-produced SignedUpdate', async () => {

@ -1,7 +1,7 @@
import { ethers, abacus } from 'hardhat'; import { ethers, abacus } from 'hardhat';
import { expect } from 'chai'; import { expect } from 'chai';
import { updateReplica, formatCall, formatOpticsMessage } from './utils'; import { updateReplica, formatCall, formatAbacusMessage } from './utils';
import { increaseTimestampBy, UpgradeTestHelpers } from '../utils'; import { increaseTimestampBy, UpgradeTestHelpers } from '../utils';
import { getTestDeploy } from '../testChain'; import { getTestDeploy } from '../testChain';
import { Updater } from '../../lib/core'; import { Updater } from '../../lib/core';
@ -20,7 +20,7 @@ const nonGovernorDomain = 2000;
const thirdDomain = 3000; const thirdDomain = 3000;
/* /*
* Deploy the full Optics suite on two chains * Deploy the full Abacus suite on two chains
*/ */
describe('GovernanceRouter', async () => { describe('GovernanceRouter', async () => {
let deploys: Deploy[] = []; let deploys: Deploy[] = [];
@ -59,7 +59,7 @@ describe('GovernanceRouter', async () => {
deploys[1] = await getTestDeploy(nonGovernorDomain, updater.address, []); deploys[1] = await getTestDeploy(nonGovernorDomain, updater.address, []);
deploys[2] = await getTestDeploy(thirdDomain, updater.address, []); deploys[2] = await getTestDeploy(thirdDomain, updater.address, []);
// deploy the entire Optics suite on two chains // deploy the entire Abacus suite on two chains
await deployNChains([deploys[0], deploys[1]]); await deployNChains([deploys[0], deploys[1]]);
// get both governanceRouters // get both governanceRouters
@ -180,7 +180,7 @@ describe('GovernanceRouter', async () => {
abacus.ethersAddressToBytes32(secondGovernor), abacus.ethersAddressToBytes32(secondGovernor),
); );
const abacusMessage = await formatOpticsMessage( const abacusMessage = await formatAbacusMessage(
unenrolledReplica, unenrolledReplica,
governorRouter, governorRouter,
nonGovernorRouter, nonGovernorRouter,
@ -199,7 +199,7 @@ describe('GovernanceRouter', async () => {
abacus.ethersAddressToBytes32(nonGovernorRouter.address), abacus.ethersAddressToBytes32(nonGovernorRouter.address),
); );
const abacusMessage = await formatOpticsMessage( const abacusMessage = await formatAbacusMessage(
governorReplicaOnNonGovernorChain, governorReplicaOnNonGovernorChain,
nonGovernorRouter, nonGovernorRouter,
governorRouter, governorRouter,
@ -219,7 +219,7 @@ describe('GovernanceRouter', async () => {
it('Accepts a valid transfer governor message', async () => { it('Accepts a valid transfer governor message', async () => {
// Enroll router for new domain (in real setting this would // Enroll router for new domain (in real setting this would
// be executed with an Optics message sent to the nonGovernorRouter) // be executed with an Abacus message sent to the nonGovernorRouter)
await nonGovernorRouter.testSetRouter( await nonGovernorRouter.testSetRouter(
thirdDomain, thirdDomain,
abacus.ethersAddressToBytes32(thirdRouter.address), abacus.ethersAddressToBytes32(thirdRouter.address),
@ -231,7 +231,7 @@ describe('GovernanceRouter', async () => {
abacus.ethersAddressToBytes32(thirdRouter.address), abacus.ethersAddressToBytes32(thirdRouter.address),
); );
const abacusMessage = await formatOpticsMessage( const abacusMessage = await formatAbacusMessage(
governorReplicaOnNonGovernorChain, governorReplicaOnNonGovernorChain,
governorRouter, governorRouter,
nonGovernorRouter, nonGovernorRouter,
@ -262,7 +262,7 @@ describe('GovernanceRouter', async () => {
abacus.ethersAddressToBytes32(router.address), abacus.ethersAddressToBytes32(router.address),
); );
const abacusMessage = await formatOpticsMessage( const abacusMessage = await formatAbacusMessage(
governorReplicaOnNonGovernorChain, governorReplicaOnNonGovernorChain,
governorRouter, governorRouter,
nonGovernorRouter, nonGovernorRouter,
@ -296,7 +296,7 @@ describe('GovernanceRouter', async () => {
// Create Call message to test recipient that calls receiveString // Create Call message to test recipient that calls receiveString
const callMessage = abacus.governance.formatCalls([call, call]); const callMessage = abacus.governance.formatCalls([call, call]);
const abacusMessage = await formatOpticsMessage( const abacusMessage = await formatAbacusMessage(
governorReplicaOnNonGovernorChain, governorReplicaOnNonGovernorChain,
governorRouter, governorRouter,
nonGovernorRouter, nonGovernorRouter,
@ -355,7 +355,7 @@ describe('GovernanceRouter', async () => {
abacus.ethersAddressToBytes32(secondGovernor), abacus.ethersAddressToBytes32(secondGovernor),
); );
const abacusMessage = await formatOpticsMessage( const abacusMessage = await formatAbacusMessage(
governorReplicaOnNonGovernorChain, governorReplicaOnNonGovernorChain,
governorRouter, governorRouter,
nonGovernorRouter, nonGovernorRouter,

@ -196,7 +196,7 @@ const localDomain = 1000;
const remoteDomain = 2000; const remoteDomain = 2000;
/* /*
* Deploy the full Optics suite on two chains * Deploy the full Abacus suite on two chains
*/ */
describe('RecoveryManager', async () => { describe('RecoveryManager', async () => {
let governor: Signer, let governor: Signer,

@ -19,7 +19,7 @@ const localDomain = domains[0];
const remoteDomain = domains[1]; const remoteDomain = domains[1];
/* /*
* Deploy the full Optics suite on two chains * Deploy the full Abacus suite on two chains
* dispatch messages to Home * dispatch messages to Home
* sign and submit updates to Home * sign and submit updates to Home
* relay updates to Replica * relay updates to Replica
@ -130,7 +130,7 @@ describe('SimpleCrossChainMessage', async () => {
const call = await utils.formatCall(TestRecipient, 'processCall', [arg]); const call = await utils.formatCall(TestRecipient, 'processCall', [arg]);
const callMessage = abacus.governance.formatCalls([call]); const callMessage = abacus.governance.formatCalls([call]);
// Create Optics message that is sent from the governor domain and governor // Create Abacus message that is sent from the governor domain and governor
// to the nonGovernorRouter on the nonGovernorDomain // to the nonGovernorRouter on the nonGovernorDomain
const nonce = 0; const nonce = 0;
const abacusMessage = abacus.formatMessage( const abacusMessage = abacus.formatMessage(

@ -154,7 +154,7 @@ export function formatMessage(
}; };
} }
export async function formatOpticsMessage( export async function formatAbacusMessage(
replica: TestReplica, replica: TestReplica,
governorRouter: TestGovernanceRouter, governorRouter: TestGovernanceRouter,
destinationRouter: TestGovernanceRouter, destinationRouter: TestGovernanceRouter,
@ -164,7 +164,7 @@ export async function formatOpticsMessage(
const governorDomain = await governorRouter.localDomain(); const governorDomain = await governorRouter.localDomain();
const destinationDomain = await destinationRouter.localDomain(); const destinationDomain = await destinationRouter.localDomain();
// Create Optics message that is sent from the governor domain and governor // Create Abacus message that is sent from the governor domain and governor
// to the nonGovernorRouter on the nonGovernorDomain // to the nonGovernorRouter on the nonGovernorDomain
const abacusMessage = abacus.formatMessage( const abacusMessage = abacus.formatMessage(
governorDomain, governorDomain,

@ -21,7 +21,7 @@ import { DeployEnvironment } from '@abacus-network/abacus-deploy/dist/src/deploy
const domains = [1000, 2000, 3000, 4000]; const domains = [1000, 2000, 3000, 4000];
/* /*
* Deploy the full Optics suite on two chains * Deploy the full Abacus suite on two chains
*/ */
describe('core deploy scripts', async () => { describe('core deploy scripts', async () => {
let signer: Signer, recoveryManager: Signer, updater: Updater; let signer: Signer, recoveryManager: Signer, updater: Updater;

@ -1,7 +1,7 @@
import { ethers, abacus } from 'hardhat'; import { ethers, abacus } from 'hardhat';
import { expect } from 'chai'; import { expect } from 'chai';
import { getTestDeploy } from './testChain'; import { getTestDeploy } from './testChain';
import { OpticsState, Updater } from '../lib/core'; import { AbacusState, Updater } from '../lib/core';
import { Signer } from '../lib/types'; import { Signer } from '../lib/types';
import { CoreDeploy as Deploy } from '@abacus-network/abacus-deploy/dist/src/core/CoreDeploy'; import { CoreDeploy as Deploy } from '@abacus-network/abacus-deploy/dist/src/core/CoreDeploy';
import * as deploys from '@abacus-network/abacus-deploy/dist/src/core'; import * as deploys from '@abacus-network/abacus-deploy/dist/src/core';
@ -19,7 +19,7 @@ const localDomain = 1000;
const destDomain = 2000; const destDomain = 2000;
const emptyAddress: string = '0x' + '00'.repeat(32); const emptyAddress: string = '0x' + '00'.repeat(32);
describe('Home', async () => { describe.only('Home', async () => {
let deploy: Deploy, let deploy: Deploy,
home: TestHome, home: TestHome,
signer: Signer, signer: Signer,
@ -78,7 +78,7 @@ describe('Home', async () => {
it('Halts on fail', async () => { it('Halts on fail', async () => {
await home.setFailed(); await home.setFailed();
expect(await home.state()).to.equal(OpticsState.FAILED); expect(await home.state()).to.equal(AbacusState.FAILED);
const message = ethers.utils.formatBytes32String('message'); const message = ethers.utils.formatBytes32String('message');
await expect( await expect(
@ -234,7 +234,7 @@ describe('Home', async () => {
home, home,
'ImproperUpdate', 'ImproperUpdate',
); );
expect(await home.state()).to.equal(OpticsState.FAILED); expect(await home.state()).to.equal(AbacusState.FAILED);
}); });
it('Rejects update from non-updater address', async () => { it('Rejects update from non-updater address', async () => {
@ -266,7 +266,7 @@ describe('Home', async () => {
signature2, signature2,
), ),
).to.emit(home, 'DoubleUpdate'); ).to.emit(home, 'DoubleUpdate');
expect(await home.state()).to.equal(OpticsState.FAILED); expect(await home.state()).to.equal(AbacusState.FAILED);
}); });
it('Correctly calculates destinationAndNonce', async () => { it('Correctly calculates destinationAndNonce', async () => {

@ -49,7 +49,7 @@ describe('Message', async () => {
expect(await messageLib.body(message)).to.equal(body); expect(await messageLib.body(message)).to.equal(body);
}); });
it('Matches Rust-output OpticsMessage and leaf', async () => { it('Matches Rust-output AbacusMessage and leaf', async () => {
const origin = 1000; const origin = 1000;
const sender = '0x1111111111111111111111111111111111111111'; const sender = '0x1111111111111111111111111111111111111111';
const nonce = 1; const nonce = 1;

@ -1,8 +1,8 @@
import { expect } from 'chai'; import { expect } from 'chai';
import { OpticsContext } from '@abacus-network/sdk'; import { AbacusContext } from '@abacus-network/sdk';
describe('optics multi-provider', () => { describe('abacus sdk', () => {
it('compiles', () => { it('compiles', () => {
expect(OpticsContext).to.not.be.undefined; expect(AbacusContext).to.not.be.undefined;
}); });
}); });

@ -2,7 +2,7 @@ import { ethers, abacus } from 'hardhat';
import { expect } from 'chai'; import { expect } from 'chai';
import { getTestDeploy } from './testChain'; import { getTestDeploy } from './testChain';
import { Updater, OpticsState, MessageStatus } from '../lib/core'; import { Updater, AbacusState, MessageStatus } from '../lib/core';
import { Signer, BytesArray } from '../lib/types'; import { Signer, BytesArray } from '../lib/types';
import { CoreDeploy as Deploy } from '@abacus-network/abacus-deploy/dist/src/core/CoreDeploy'; import { CoreDeploy as Deploy } from '@abacus-network/abacus-deploy/dist/src/core/CoreDeploy';
import { import {
@ -110,7 +110,7 @@ describe('Replica', async () => {
it('Halts on fail', async () => { it('Halts on fail', async () => {
await replica.setFailed(); await replica.setFailed();
expect(await replica.state()).to.equal(OpticsState.FAILED); expect(await replica.state()).to.equal(AbacusState.FAILED);
const newRoot = ethers.utils.formatBytes32String('new root'); const newRoot = ethers.utils.formatBytes32String('new root');
await expect(submitValidUpdate(newRoot)).to.be.revertedWith('failed state'); await expect(submitValidUpdate(newRoot)).to.be.revertedWith('failed state');
@ -209,7 +209,7 @@ describe('Replica', async () => {
), ),
).to.emit(replica, 'DoubleUpdate'); ).to.emit(replica, 'DoubleUpdate');
expect(await replica.state()).to.equal(OpticsState.FAILED); expect(await replica.state()).to.equal(AbacusState.FAILED);
}); });
it('Proves a valid message', async () => { it('Proves a valid message', async () => {

@ -32,12 +32,12 @@ describe('XAppConnectionManager', async () => {
// deploy abacus on remote domain // deploy abacus on remote domain
// NB: as tests stand currently, this only needs to be done once // NB: as tests stand currently, this only needs to be done once
await deploys.deployOptics(remoteDeploy); await deploys.deployAbacus(remoteDeploy);
}); });
beforeEach(async () => { beforeEach(async () => {
// deploy abacus on local domain // deploy abacus on local domain
await deploys.deployOptics(localDeploy); await deploys.deployAbacus(localDeploy);
// deploy replica and enroll on local deploy // deploy replica and enroll on local deploy
await deploys.enrollRemote(localDeploy, remoteDeploy); await deploys.enrollRemote(localDeploy, remoteDeploy);

File diff suppressed because it is too large Load Diff

@ -11,8 +11,8 @@
"relink": "cd ../optics-provider && npm run build && cd ../contract-metrics && npm link optics-multi-provider-community" "relink": "cd ../optics-provider && npm run build && cd ../contract-metrics && npm link optics-multi-provider-community"
}, },
"dependencies": { "dependencies": {
"@abacus-network/sdk": "0.0.1", "@abacus-network/sdk": "^0.0.1",
"@optics-xyz/ts-interface": "^1.0.9", "@abacus-network/ts-interface": "^0.0.1",
"@types/bunyan": "^1.8.7", "@types/bunyan": "^1.8.7",
"@types/express": "^4.17.13", "@types/express": "^4.17.13",
"@types/google-spreadsheet": "^3.1.5", "@types/google-spreadsheet": "^3.1.5",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -160,7 +160,7 @@ const _abi = [
]; ];
const _bytecode = const _bytecode =
"0x60806040526040516109663803806109668339818101604052602081101561002657600080fd5b505160006100326100a1565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b0319166001600160a01b03929092169190911790556100a5565b3390565b6108b2806100b46000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100f25780639d54f41914610123578063df034cd014610156578063f2fde38b1461015e5761007d565b80635b3c2cbf146100825780636ef0f37f146100b7578063715018a6146100ea575b600080fd5b6100b56004803603602081101561009857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610191565b005b6100b5600480360360208110156100cd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610263565b6100b56103f8565b6100fa61050f565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b56004803603602081101561013957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661052b565b6100fa61068f565b6100b56004803603602081101561017457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106ab565b60015473ffffffffffffffffffffffffffffffffffffffff16331461021757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f21686f6d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f4180932f5f5f11458bcd408e42c54626987799e7c4c89f40f484fefdfdfff14f9181900360200190a150565b61026b61084c565b73ffffffffffffffffffffffffffffffffffffffff1661028961050f565b73ffffffffffffffffffffffffffffffffffffffff161461030b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61031481610850565b61037f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f21636f6e747261637420686f6d65000000000000000000000000000000000000604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517fa6c230e5615262e310dcb42eaf014e813e5d8580abf5b00d2186ca8e9833de219181900360200190a150565b61040061084c565b73ffffffffffffffffffffffffffffffffffffffff1661041e61050f565b73ffffffffffffffffffffffffffffffffffffffff16146104a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61053361084c565b73ffffffffffffffffffffffffffffffffffffffff1661055161050f565b73ffffffffffffffffffffffffffffffffffffffff16146105d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217909255600154604080517f9d54f419000000000000000000000000000000000000000000000000000000008152600481019390935251921691639d54f4199160248082019260009290919082900301818387803b15801561067457600080fd5b505af1158015610688573d6000803e3d6000fd5b5050505050565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b6106b361084c565b73ffffffffffffffffffffffffffffffffffffffff166106d161050f565b73ffffffffffffffffffffffffffffffffffffffff161461075357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806108576026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b3b15159056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a26469706673582212204b0bca00d582a33ebf37302091600346a1ae973f35b100a3cdb356f4dc051a7164736f6c63430007060033"; "0x60806040526040516109663803806109668339818101604052602081101561002657600080fd5b505160006100326100a1565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b0319166001600160a01b03929092169190911790556100a5565b3390565b6108b2806100b46000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100f25780639d54f41914610123578063df034cd014610156578063f2fde38b1461015e5761007d565b80635b3c2cbf146100825780636ef0f37f146100b7578063715018a6146100ea575b600080fd5b6100b56004803603602081101561009857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610191565b005b6100b5600480360360208110156100cd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610263565b6100b56103f8565b6100fa61050f565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b56004803603602081101561013957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661052b565b6100fa61068f565b6100b56004803603602081101561017457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106ab565b60015473ffffffffffffffffffffffffffffffffffffffff16331461021757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f21686f6d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f4180932f5f5f11458bcd408e42c54626987799e7c4c89f40f484fefdfdfff14f9181900360200190a150565b61026b61084c565b73ffffffffffffffffffffffffffffffffffffffff1661028961050f565b73ffffffffffffffffffffffffffffffffffffffff161461030b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61031481610850565b61037f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f21636f6e747261637420686f6d65000000000000000000000000000000000000604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517fa6c230e5615262e310dcb42eaf014e813e5d8580abf5b00d2186ca8e9833de219181900360200190a150565b61040061084c565b73ffffffffffffffffffffffffffffffffffffffff1661041e61050f565b73ffffffffffffffffffffffffffffffffffffffff16146104a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61053361084c565b73ffffffffffffffffffffffffffffffffffffffff1661055161050f565b73ffffffffffffffffffffffffffffffffffffffff16146105d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217909255600154604080517f9d54f419000000000000000000000000000000000000000000000000000000008152600481019390935251921691639d54f4199160248082019260009290919082900301818387803b15801561067457600080fd5b505af1158015610688573d6000803e3d6000fd5b5050505050565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b6106b361084c565b73ffffffffffffffffffffffffffffffffffffffff166106d161050f565b73ffffffffffffffffffffffffffffffffffffffff161461075357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806108576026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b3b15159056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220446cabcffbfce4c6f0050d15d7a3631c806e11b281f436064d94b0910d3146aa64736f6c63430007060033";
export class UpdaterManager__factory extends ContractFactory { export class UpdaterManager__factory extends ContractFactory {
constructor(signer?: Signer) { constructor(signer?: Signer) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -101,7 +101,7 @@ const _abi = [
]; ];
const _bytecode = const _bytecode =
"0x60c060405234801561001057600080fd5b5060405161045d38038061045d8339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606083811b821660805282901b1660a0526040805163095ea7b360e01b81526001600160a01b038084166004830152600019602483015291519184169163095ea7b39160448082019260009290919082900301818387803b1580156100a957600080fd5b505af11580156100bd573d6000803e3d6000fd5b50505050505060805160601c60a05160601c6103626100fb6000398061023e52806102e052508061014152806101fb52806102bc52506103626000f3fe60806040526004361061005a5760003560e01c80633fc8cef3116100435780633fc8cef3146100ad578063e78cea92146100eb578063ec93e5f0146101005761005a565b806303c1d2831461005f5780632e96d5a31461008a575b600080fd5b6100886004803603604081101561007557600080fd5b5063ffffffff813516906020013561013f565b005b610088600480360360208110156100a057600080fd5b503563ffffffff166102a5565b3480156100b957600080fd5b506100c26102ba565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100f757600080fd5b506100c26102de565b6100886004803603604081101561011657600080fd5b50803563ffffffff16906020013573ffffffffffffffffffffffffffffffffffffffff16610302565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101a757600080fd5b505af11580156101bb573d6000803e3d6000fd5b5050604080517f1cabf08f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015234602483015263ffffffff881660448301526064820187905291517f00000000000000000000000000000000000000000000000000000000000000009092169450631cabf08f9350608480820193506000929182900301818387803b15801561028957600080fd5b505af115801561029d573d6000803e3d6000fd5b505050505050565b6102b7816102b233610313565b61013f565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b61030f826102b283610313565b5050565b73ffffffffffffffffffffffffffffffffffffffff169056fea2646970667358221220a09935748faf9f18965e4c10b79bf8842029acfbffb84bb6432155b9f594aa6864736f6c63430007060033"; "0x60c060405234801561001057600080fd5b5060405161045d38038061045d8339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606083811b821660805282901b1660a0526040805163095ea7b360e01b81526001600160a01b038084166004830152600019602483015291519184169163095ea7b39160448082019260009290919082900301818387803b1580156100a957600080fd5b505af11580156100bd573d6000803e3d6000fd5b50505050505060805160601c60a05160601c6103626100fb6000398061023e52806102e052508061014152806101fb52806102bc52506103626000f3fe60806040526004361061005a5760003560e01c80633fc8cef3116100435780633fc8cef3146100ad578063e78cea92146100eb578063ec93e5f0146101005761005a565b806303c1d2831461005f5780632e96d5a31461008a575b600080fd5b6100886004803603604081101561007557600080fd5b5063ffffffff813516906020013561013f565b005b610088600480360360208110156100a057600080fd5b503563ffffffff166102a5565b3480156100b957600080fd5b506100c26102ba565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100f757600080fd5b506100c26102de565b6100886004803603604081101561011657600080fd5b50803563ffffffff16906020013573ffffffffffffffffffffffffffffffffffffffff16610302565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101a757600080fd5b505af11580156101bb573d6000803e3d6000fd5b5050604080517f1cabf08f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015234602483015263ffffffff881660448301526064820187905291517f00000000000000000000000000000000000000000000000000000000000000009092169450631cabf08f9350608480820193506000929182900301818387803b15801561028957600080fd5b505af115801561029d573d6000803e3d6000fd5b505050505050565b6102b7816102b233610313565b61013f565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b61030f826102b283610313565b5050565b73ffffffffffffffffffffffffffffffffffffffff169056fea264697066735822122092b04f9be2b8a141c6315df8b8c6f54b2b8070ad1c6102c6adcbf3a2eb26737664736f6c63430007060033";
export class ETHHelper__factory extends ContractFactory { export class ETHHelper__factory extends ContractFactory {
constructor(signer?: Signer) { constructor(signer?: Signer) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -55,7 +55,7 @@ const _abi = [
]; ];
const _bytecode = const _bytecode =
"0x608060405234801561001057600080fd5b50610210806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632bef289214610046578063ab91c7b014610077578063f6d1610214610091575b600080fd5b6100636004803603602081101561005c57600080fd5b5035610099565b604080519115158252519081900360200190f35b61007f6100ac565b60408051918252519081900360200190f35b61007f6100bd565b60006100a66001836100c9565b92915050565b60006100b86001610143565b905090565b60006100b86001610183565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681116101395760008181526001850160205260409020548314156101315760019150506100a6565b6001016100e1565b5060009392505050565b80546000906fffffffffffffffffffffffffffffffff70010000000000000000000000000000000082048116911661017b82826101c0565b949350505050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b60019103016fffffffffffffffffffffffffffffffff169056fea264697066735822122028d582eddff82d969b375706c5e3429aa0f5d8ec95d6392b4abec5c6d2a0029a64736f6c63430007060033"; "0x608060405234801561001057600080fd5b50610210806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632bef289214610046578063ab91c7b014610077578063f6d1610214610091575b600080fd5b6100636004803603602081101561005c57600080fd5b5035610099565b604080519115158252519081900360200190f35b61007f6100ac565b60408051918252519081900360200190f35b61007f6100bd565b60006100a66001836100c9565b92915050565b60006100b86001610143565b905090565b60006100b86001610183565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681116101395760008181526001850160205260409020548314156101315760019150506100a6565b6001016100e1565b5060009392505050565b80546000906fffffffffffffffffffffffffffffffff70010000000000000000000000000000000082048116911661017b82826101c0565b949350505050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b60019103016fffffffffffffffffffffffffffffffff169056fea26469706673582212207f2a827d62b0a811c487607b6f8c23cdb6f4433de80325e0ec18a21d5152b62e64736f6c63430007060033";
export class QueueManager__factory extends ContractFactory { export class QueueManager__factory extends ContractFactory {
constructor(signer?: Signer) { constructor(signer?: Signer) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -23,7 +23,7 @@ const _abi = [
]; ];
const _bytecode = const _bytecode =
"0x60cd610025600b82828239805160001a60731461001857fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063f26be3fc146038575b600080fd5b603e6073565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092168252519081900360200190f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008156fea2646970667358221220824b6b1e8958d237906dbdf0b557efa40e60618e197f93271c7c84eecefa817864736f6c63430007060033"; "0x60cd610025600b82828239805160001a60731461001857fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063f26be3fc146038575b600080fd5b603e6073565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092168252519081900360200190f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008156fea2646970667358221220b07daa2cfa732a0712e14f333f7fb26a0736db4a4fce155c515a5dd1fc062de564736f6c63430007060033";
export class TypedMemView__factory extends ContractFactory { export class TypedMemView__factory extends ContractFactory {
constructor(signer?: Signer) { constructor(signer?: Signer) {

@ -44,7 +44,7 @@ const _abi = [
]; ];
const _bytecode = const _bytecode =
"0x60a060405260405161058b38038061058b8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b506040525050506100f0826101d060201b6100291760201c565b610134576040805162461bcd60e51b815260206004820152601060248201526f18995858dbdb880858dbdb9d1c9858dd60821b604482015290519081900360640190fd5b6001600160601b0319606083901b166080526000610151836101d6565b9050610166816101d060201b6100291760201c565b6101b7576040805162461bcd60e51b815260206004820152601f60248201527f626561636f6e20696d706c656d656e746174696f6e2021636f6e747261637400604482015290519081900360640190fd5b8151156101c8576101c881836102d6565b50505061038f565b3b151590565b604051600090819081906001600160a01b0385169082818181855afa9150503d8060008114610221576040519150601f19603f3d011682016040523d82523d6000602084013e610226565b606091505b50915091508181906102b65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561027b578181015183820152602001610263565b50505050905090810190601f1680156102a85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508080602001905160208110156102cc57600080fd5b5051949350505050565b6000826001600160a01b0316826040518082805190602001908083835b602083106103125780518252601f1990920191602091820191016102f3565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610372576040519150601f19603f3d011682016040523d82523d6000602084013e610377565b606091505b505090508061038a573d6000803e3d6000fd5b505050565b60805160601c6101e06103ab60003980603652506101e06000f3fe60806040523661001357610011610017565b005b6100115b61002761002261002f565b61005f565b565b3b151590565b600061005a7f0000000000000000000000000000000000000000000000000000000000000000610083565b905090565b3660008037600080366000845af43d6000803e80801561007e573d6000f35b3d6000fd5b6040516000908190819073ffffffffffffffffffffffffffffffffffffffff85169082818181855afa9150503d80600081146100db576040519150601f19603f3d011682016040523d82523d6000602084013e6100e0565b606091505b509150915081819061018a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508080602001905160208110156101a057600080fd5b505194935050505056fea2646970667358221220de014ec4af9682aa1e06a98c3e6c63df013b85126c704de2162c254ec6cdee6a64736f6c63430007060033"; "0x60a060405260405161058b38038061058b8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b506040525050506100f0826101d060201b6100291760201c565b610134576040805162461bcd60e51b815260206004820152601060248201526f18995858dbdb880858dbdb9d1c9858dd60821b604482015290519081900360640190fd5b6001600160601b0319606083901b166080526000610151836101d6565b9050610166816101d060201b6100291760201c565b6101b7576040805162461bcd60e51b815260206004820152601f60248201527f626561636f6e20696d706c656d656e746174696f6e2021636f6e747261637400604482015290519081900360640190fd5b8151156101c8576101c881836102d6565b50505061038f565b3b151590565b604051600090819081906001600160a01b0385169082818181855afa9150503d8060008114610221576040519150601f19603f3d011682016040523d82523d6000602084013e610226565b606091505b50915091508181906102b65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561027b578181015183820152602001610263565b50505050905090810190601f1680156102a85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508080602001905160208110156102cc57600080fd5b5051949350505050565b6000826001600160a01b0316826040518082805190602001908083835b602083106103125780518252601f1990920191602091820191016102f3565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610372576040519150601f19603f3d011682016040523d82523d6000602084013e610377565b606091505b505090508061038a573d6000803e3d6000fd5b505050565b60805160601c6101e06103ab60003980603652506101e06000f3fe60806040523661001357610011610017565b005b6100115b61002761002261002f565b61005f565b565b3b151590565b600061005a7f0000000000000000000000000000000000000000000000000000000000000000610083565b905090565b3660008037600080366000845af43d6000803e80801561007e573d6000f35b3d6000fd5b6040516000908190819073ffffffffffffffffffffffffffffffffffffffff85169082818181855afa9150503d80600081146100db576040519150601f19603f3d011682016040523d82523d6000602084013e6100e0565b606091505b509150915081819061018a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508080602001905160208110156101a057600080fd5b505194935050505056fea2646970667358221220e084da10f1437ab964c16dc80d846859df965188ba4815af7c882864b60df38a64736f6c63430007060033";
export class UpgradeBeaconProxy__factory extends ContractFactory { export class UpgradeBeaconProxy__factory extends ContractFactory {
constructor(signer?: Signer) { constructor(signer?: Signer) {

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

@ -8,7 +8,7 @@
"ethers": "^5.5.3" "ethers": "^5.5.3"
}, },
"name": "@abacus-network/ts-interface", "name": "@abacus-network/ts-interface",
"version": "1.1.2", "version": "0.0.1",
"description": "Abacus contract typechain gens", "description": "Abacus contract typechain gens",
"main": "dist/index.js", "main": "dist/index.js",
"types": "dist/index.d.ts", "types": "dist/index.d.ts",

Loading…
Cancel
Save