From c3540935919ca40acc45a339e458614ec771c334 Mon Sep 17 00:00:00 2001 From: dwertent Date: Tue, 19 Nov 2024 16:51:42 -0500 Subject: [PATCH] Update the baseLedgerEndpoint configuration in the Paladin node configurations to include the type and local nodeName. Update the build.gradle file for the Paladin operator to include a new task for preparing artifacts. Add a launch.json file for VS Code to include configurations for running the controller, contract generator, template generator, and artifacts generator. Update the chart versions in the Paladin operator and Paladin operator CRD charts to reflect the changes. Signed-off-by: dwertent --- .github/README.md | 66 + .github/workflows/release-charts.yaml | 22 +- .github/workflows/release-typescript-sdk.yaml | 1 + operator/.gitignore | 7 +- operator/.golangci.yml | 7 +- operator/.vscode/launch.json | 55 + operator/Makefile | 2 +- operator/api/v1alpha1/paladin_types.go | 66 +- .../api/v1alpha1/zz_generated.deepcopy.go | 79 +- operator/build.gradle | 8 +- .../charts/paladin-operator-crd/Chart.yaml | 26 +- operator/charts/paladin-operator/.helmignore | 4 + operator/charts/paladin-operator/Chart.yaml | 23 +- .../paladin-operator/tests/snapshot_test.yaml | 21 +- operator/charts/paladin-operator/values.yaml | 4 +- .../crd/bases/core.paladin.io_paladins.yaml | 82 +- .../samples/core_v1alpha1_paladin_node1.yaml | 5 +- .../samples/core_v1alpha1_paladin_node2.yaml | 5 +- .../samples/core_v1alpha1_paladin_node3.yaml | 5 +- operator/contractpkg/main.go | 242 +- operator/generated-crs/basenet.yaml | 4191 +++++++++++++++ operator/generated-crs/devnet.yaml | 4535 +++++++++++++++++ .../controller/besu_controller_test.go | 13 +- operator/internal/controller/common_test.go | 183 + .../internal/controller/paladin_controller.go | 73 +- .../controller/paladin_controller_test.go | 73 +- .../smartcontractdeployment_controller.go | 12 +- .../transactioninvoke_controller.go | 12 +- .../transactioninvoke_controller_test.go | 8 +- operator/utils/consts.go | 2 + 30 files changed, 9650 insertions(+), 182 deletions(-) create mode 100644 .github/README.md create mode 100644 operator/.vscode/launch.json create mode 100644 operator/generated-crs/basenet.yaml create mode 100644 operator/generated-crs/devnet.yaml diff --git a/.github/README.md b/.github/README.md new file mode 100644 index 000000000..5afcb5b07 --- /dev/null +++ b/.github/README.md @@ -0,0 +1,66 @@ +# Workflow Overview + +This repository is equipped with automated workflows that streamline key processes for PRs, changes to the `main` branch, and releases. These workflows ensure smooth development, testing, and deployment cycles. + +## PR Opened 🚦 +When a developer opens a PR, several automated checks are triggered to validate the changes: + +- **[Build the Project](workflows/paladin-PR-build.yml):** + Runs essential tasks to ensure code quality and reliability: + - **Build and Test:** Compiles the code and runs tests for all subdirectories. + - **[Build Docker Images](workflows/build-image.yaml):** Builds Docker images based on PR changes for local validation. + > **Note:** These images are **not published** to a registry. + - **[Template the Helm Chart](workflows/build-chart.yaml):** Rebuilds and validates Helm charts for correctness. + > **Note:** Charts are **not published** but tested locally. + + +## Changes Pushed to Main 🌟 +Once changes are merged into the `main` branch, workflows prepare the project for production: + +- **[Build the Project](workflows/paladin-PR-build.yml):** + Similar to PR checks, this ensures the integrity of the main branch: + - **Build and Test:** Compiles code and runs tests for all subdirectories. + +- **[Publish Docker Images](workflows/cross-build-images.yaml):** + Produces production-grade, cross-platform Docker images and publishes them to the container registry: + - **Registry:** `ghcr.io/` + - **Tagging:** Images are tagged with `main`. + +- **[Update Documentation](workflows/docs.yaml):** + Detects documentation updates and publishes the latest content to the documentation site. + + +## Release Time 🚀 +Releases deliver artifacts and resources to users and deployment targets through these workflows: + +- **[Release Orchestrator](workflows/release.yaml):** + Triggered by a version tag (e.g., `v1.2.3`), this workflow coordinates all release activities: + - **[Release Docker Images](workflows/release-images.yaml):** + Builds and **publishes Docker images** tagged with the release version (e.g., `v1.2.3`) and `latest`. + - **Registries:** + - `ghcr.io/`. + - `docker.io/`. + > `latest` is configurable + - **[Release Helm Chart](workflows/release-charts.yaml):** + Packages and **publishes Helm charts** to the chart repository tagged with the release version (e.g., `v1.2.3`) and `latest`. + > `latest` is configurable + - **[Release TypeScript SDK](workflows/release-typescript-sdk.yaml):** + Updates and **publishes the TypeScript SDK** to its registry: + - **Version:** Defined in [package.json](../sdk/typescript/package.json). + +### Releasing Options: +1. **Automatic:** Push a Git tag in the format `vX.Y.Z` (e.g., `v1.2.3`), and the workflows handle the release, marking it as the latest. +2. **Manual:** Trigger the [release workflow](https://github.com/LF-Decentralized-Trust-labs/paladin/actions/workflows/release.yaml) via the GitHub Actions interface, specifying the version and selecting the "latest" option if needed. + + +## Manual Actions 🛠️ +Workflows can also be triggered manually when needed. Available options include: + +- **[Release Orchestrator](workflows/release.yaml)** +- **[Release Docker Images](workflows/release-images.yaml)** +- **[Release Helm Chart](workflows/release-charts.yaml)** +- **[Release TypeScript SDK](workflows/release-typescript-sdk.yaml)** +- **[Build Helm Chart](workflows/build-chart.yaml)** +- **[Build Docker Images](workflows/build-image.yaml)** +- **[Cross-Platform Docker Image Build](workflows/cross-build-images.yaml)** + \ No newline at end of file diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index 7aa4ca14d..584fc8c60 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -1,5 +1,10 @@ name: Helm Chart release +permissions: + contents: write + packages: write + id-token: write + on: workflow_call: inputs: @@ -135,8 +140,23 @@ jobs: - name: Run chart-releaser uses: helm/chart-releaser-action@v1.6.0 with: - mark_as_latest: ${{ inputs.latest }} + mark_as_latest: false # the release is marked as latest in the next step charts_dir: "operator/charts" skip_existing: true env: CR_TOKEN: "${{ env.CR_TOKEN }}" + + - name: Prepare CRs artifacts + run: ./gradlew prepareArtifacts -PartifactDir=${{ github.workspace }}/artifacts + - name: Release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ inputs.chart_tag }} + body: "Release ${{ inputs.chart_tag }}" + generate_release_notes: true + make_latest: ${{ inputs.latest }} + files: | + ${{ github.workspace }}/artifacts/basenet.yaml + ${{ github.workspace }}/artifacts/devnet.yaml + ${{ github.workspace }}/artifacts/artifacts.tar.gz + \ No newline at end of file diff --git a/.github/workflows/release-typescript-sdk.yaml b/.github/workflows/release-typescript-sdk.yaml index e2e6fc9df..06ab9a67e 100644 --- a/.github/workflows/release-typescript-sdk.yaml +++ b/.github/workflows/release-typescript-sdk.yaml @@ -30,6 +30,7 @@ jobs: uses: ./.github/actions/setup - name: Publish to npm + continue-on-error: true # this can fail if the version is already published working-directory: sdk/typescript shell: bash run: | diff --git a/operator/.gitignore b/operator/.gitignore index 36c897468..be86f558d 100644 --- a/operator/.gitignore +++ b/operator/.gitignore @@ -21,7 +21,6 @@ go.work # editor and IDE paraphernalia .idea -.vscode *.swp *.swo *~ @@ -37,4 +36,8 @@ manager # Generated by gradle **/charts/paladin-operator/templates/samples/*.yaml -**/charts/paladin-operator-crd/templates/*.yaml \ No newline at end of file +**/charts/paladin-operator-crd/templates/*.yaml + +**/artifacts/** + +**/__snapshot__/** \ No newline at end of file diff --git a/operator/.golangci.yml b/operator/.golangci.yml index 754f58ca1..11cccee33 100644 --- a/operator/.golangci.yml +++ b/operator/.golangci.yml @@ -15,6 +15,12 @@ issues: - path: "internal/*" linters: - dupl + - path: ".*_test.go" + linters: + - errcheck + - path: "contractpkg/*" + linters: + - errcheck linters: disable-all: true enable: @@ -32,7 +38,6 @@ linters: - misspell - nakedret - prealloc - - staticcheck - typecheck - unconvert - unparam diff --git a/operator/.vscode/launch.json b/operator/.vscode/launch.json new file mode 100644 index 000000000..edf98976c --- /dev/null +++ b/operator/.vscode/launch.json @@ -0,0 +1,55 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run Controller", + "type": "go", + "preLaunchTask": "check-running-on-kind", + "request": "launch", + "mode": "debug", + "program": "${workspaceFolder}/cmd/main.go", + "env": { + "KUBE_LOCAL": "true", + "WATCH_NAMESPACE": "default" + }, + "presentation": { + "hidden": false + } + }, + { + "name": "Run Contract Generator", + "type": "go", + "request": "launch", + "mode": "auto", + "program": "${workspaceFolder}/contractpkg", + "args": [ + "generate", + "contract_map.json" + ] + }, + { + "name": "Run Temaplte Generator", + "type": "go", + "request": "launch", + "mode": "auto", + "program": "${workspaceFolder}/contractpkg", + "args": [ + "template", + "../config/samples", + "../charts/paladin-operator/templates/samples" + ] + }, + { + "name": "Run Artifacts Generator", + "type": "go", + "request": "launch", + "mode": "auto", + "program": "${workspaceFolder}/contractpkg", + "args": [ + "combine", + "../config/samples", + "generated-crs" + ] + } + ] + } \ No newline at end of file diff --git a/operator/Makefile b/operator/Makefile index 269dd9c32..c2ffb1f56 100644 --- a/operator/Makefile +++ b/operator/Makefile @@ -125,7 +125,7 @@ kind-delete: ## Delete the Kind cluster. ##@ Build .PHONY: build -build: manifests generate fmt vet ## Build manager binary. +build: manifests generate fmt vet test ## Build manager binary. go build -o bin/manager cmd/main.go .PHONY: run diff --git a/operator/api/v1alpha1/paladin_types.go b/operator/api/v1alpha1/paladin_types.go index 28cdb1766..7d798c287 100644 --- a/operator/api/v1alpha1/paladin_types.go +++ b/operator/api/v1alpha1/paladin_types.go @@ -33,13 +33,20 @@ type PaladinSpec struct { // Adds signing modules that load their key materials from a k8s secret SecretBackedSigners []SecretBackedSigner `json:"secretBackedSigners,omitempty"` - // Optionally bind to a local besu node deployed with this operator - // (vs. configuring a connection to a production blockchain network) + // Deprecated: Use 'baseLedgerEndpoint' instead. Example: + // { "baseLedgerEndpoint": {"type": "local", "local": {"nodeName": "node-name"}} } + // + // Optionally bind to a local Besu node deployed with this operator + // (vs. configuring a connection to a production blockchain network). + // +optional BesuNode string `json:"besuNode,omitempty"` - // AuthConfig is used to provide authentication details for blockchain connections - // If this is set, it will override the auth details in the config - AuthConfig *AuthConfig `json:"authConfig,omitempty"` + // Deprecated: Use 'baseLedgerEndpoint' instead. Example: + // { "baseLedgerEndpoint": {"type": "network", "network": {"auth": {}}} } + AuthConfig *Auth `json:"authConfig,omitempty"` + + // BaseLedgerEndpoint specifies the base endpoint for the ledger + BaseLedgerEndpoint *BaseLedgerEndpoint `json:"baseLedgerEndpoint,omitempty"` // Optionally tune the service definition. // We merge any configuration you add (such as node ports) for the following services: @@ -56,6 +63,39 @@ type PaladinSpec struct { // Transports are configured individually on each node, as they reference security details specific to that node Transports []TransportConfig `json:"transports"` } +type BaseLedgerEndpointType string + +const ( + EndpointTypeLocal BaseLedgerEndpointType = "local" + EndpointTypeNetwork BaseLedgerEndpointType = "endpoint" +) + +type BaseLedgerEndpoint struct { + // Type specifies the type of the endpoint. + // +kubebuilder:validation:Enum=local;network + Type BaseLedgerEndpointType `json:"type"` + + // Local specifies the configuration when the type is 'local'. + // +optional + Local *LocalLedgerEndpoint `json:"local,omitempty"` + + // Network specifies the configuration when the type is 'network'. + // +optional + Endpoint *NetworkLedgerEndpoint `json:"endpoint,omitempty"` +} + +// LocalLedgerEndpoint defines the configuration for local endpoints. +type LocalLedgerEndpoint struct { + // NodeName specifies the name of the local node. + NodeName string `json:"nodeName"` +} + +// NetworkLedgerEndpoint defines the configuration for network endpoints. +type NetworkLedgerEndpoint struct { + JSONRPC string `json:"jsonrpc"` + WS string `json:"ws"` + Auth *Auth `json:"auth,omitempty"` +} type LabelReference struct { // Label selectors provide a flexible many-to-many mapping between nodes and domains in a namespace. @@ -143,17 +183,21 @@ type SecretBackedSigner struct { KeySelector string `json:"keySelector"` } -type AuthMethod string +type AuthType string -const AuthMethodSecret AuthMethod = "secret" +const ( + // AuthTypeSecret is used to authenticate with a secret + // The secret must contain keys "username" and "password" + AuthTypeSecret AuthType = "secret" +) -type AuthConfig struct { +type Auth struct { // auth method to use for the connection // +kubebuilder:validation:Enum=secret - AuthMethod AuthMethod `json:"authMethod"` + Type AuthType `json:"type"` - // SecretAuth is used to provide the name of the secret to use for authentication - AuthSecret *AuthSecret `json:"authSecret,omitempty"` + // Secret is used to provide the name of the secret to use for authentication + Secret *AuthSecret `json:"secretRef,omitempty"` } type AuthSecret struct { diff --git a/operator/api/v1alpha1/zz_generated.deepcopy.go b/operator/api/v1alpha1/zz_generated.deepcopy.go index 4d8fbb2e6..4fc83d2fd 100644 --- a/operator/api/v1alpha1/zz_generated.deepcopy.go +++ b/operator/api/v1alpha1/zz_generated.deepcopy.go @@ -27,21 +27,21 @@ import ( ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *AuthConfig) DeepCopyInto(out *AuthConfig) { +func (in *Auth) DeepCopyInto(out *Auth) { *out = *in - if in.AuthSecret != nil { - in, out := &in.AuthSecret, &out.AuthSecret + if in.Secret != nil { + in, out := &in.Secret, &out.Secret *out = new(AuthSecret) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfig. -func (in *AuthConfig) DeepCopy() *AuthConfig { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth. +func (in *Auth) DeepCopy() *Auth { if in == nil { return nil } - out := new(AuthConfig) + out := new(Auth) in.DeepCopyInto(out) return out } @@ -61,6 +61,31 @@ func (in *AuthSecret) DeepCopy() *AuthSecret { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaseLedgerEndpoint) DeepCopyInto(out *BaseLedgerEndpoint) { + *out = *in + if in.Local != nil { + in, out := &in.Local, &out.Local + *out = new(LocalLedgerEndpoint) + **out = **in + } + if in.Endpoint != nil { + in, out := &in.Endpoint, &out.Endpoint + *out = new(NetworkLedgerEndpoint) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseLedgerEndpoint. +func (in *BaseLedgerEndpoint) DeepCopy() *BaseLedgerEndpoint { + if in == nil { + return nil + } + out := new(BaseLedgerEndpoint) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Besu) DeepCopyInto(out *Besu) { *out = *in @@ -311,6 +336,41 @@ func (in *LabelReference) DeepCopy() *LabelReference { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocalLedgerEndpoint) DeepCopyInto(out *LocalLedgerEndpoint) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalLedgerEndpoint. +func (in *LocalLedgerEndpoint) DeepCopy() *LocalLedgerEndpoint { + if in == nil { + return nil + } + out := new(LocalLedgerEndpoint) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkLedgerEndpoint) DeepCopyInto(out *NetworkLedgerEndpoint) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = new(Auth) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkLedgerEndpoint. +func (in *NetworkLedgerEndpoint) DeepCopy() *NetworkLedgerEndpoint { + if in == nil { + return nil + } + out := new(NetworkLedgerEndpoint) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Paladin) DeepCopyInto(out *Paladin) { *out = *in @@ -670,7 +730,12 @@ func (in *PaladinSpec) DeepCopyInto(out *PaladinSpec) { } if in.AuthConfig != nil { in, out := &in.AuthConfig, &out.AuthConfig - *out = new(AuthConfig) + *out = new(Auth) + (*in).DeepCopyInto(*out) + } + if in.BaseLedgerEndpoint != nil { + in, out := &in.BaseLedgerEndpoint, &out.BaseLedgerEndpoint + *out = new(BaseLedgerEndpoint) (*in).DeepCopyInto(*out) } in.Service.DeepCopyInto(&out.Service) diff --git a/operator/build.gradle b/operator/build.gradle index 83ad813ae..0a6c28fd4 100644 --- a/operator/build.gradle +++ b/operator/build.gradle @@ -61,6 +61,8 @@ ext { operatorImageTag = project.hasProperty('operatorImageTag') ? project.operatorImageTag : 'test' paladinImageName = project.hasProperty('paladinImageName') ? project.paladinImageName : 'paladin' paladinImageTag = project.hasProperty('paladinImageTag') ? project.paladinImageTag : 'test' + + artifactDir = project.hasProperty('artifactDir') ? project.artifactDir : 'artifacts' } def printClusterStatus(String namespace) { @@ -158,7 +160,7 @@ task copyZetoSolidity(type: Copy) { task buildContractSamples(type: Exec, dependsOn: [copySolidity, copyZetoSolidity]) { commandLine "go", "run", "./contractpkg", "generate", "./contractpkg/contract_map.json" } - + // Task to build the Paladin image from the parent project task buildPaladinImage { dependsOn ':docker' // Builds the Paladin image in the parent project @@ -216,6 +218,10 @@ task prepareOperatorChart(type: Exec, dependsOn: [buildContractSamples]) { commandLine "go", "run", "./contractpkg", "template", "config/samples", "charts/paladin-operator/templates/samples" } +task prepareArtifacts(type: Exec, dependsOn: [buildContractSamples]) { + commandLine "go", "run", "./contractpkg", "artifacts", "config/samples", "${artifactDir}" +} + // Task to install the operator using Helm task installOperator(type: Exec, dependsOn: [installCrds, promoteKindImages, prepareOperatorChart]) { executable 'make' diff --git a/operator/charts/paladin-operator-crd/Chart.yaml b/operator/charts/paladin-operator-crd/Chart.yaml index 00b5cb88c..64325520c 100644 --- a/operator/charts/paladin-operator-crd/Chart.yaml +++ b/operator/charts/paladin-operator-crd/Chart.yaml @@ -1,21 +1,13 @@ apiVersion: v2 name: paladin-operator-crd description: A Helm chart for Kubernetes -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. + type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.1 -# This is the version number of the application being deployed. This version number should be -# incremented each time you make changes to the application. Versions are not expected to -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "0.0.1" + +# The chart is a dependency of the paladin-operator chart, +# please make sure to update the paladin-operator chart dependencies if you update this chart version. +# +# This chart version is NOT overwritten at the release, if you want to release a new CRD chart you must bump the version in this file and run the release pipeline +version: 0.0.2 + +appVersion: "0.0.2" diff --git a/operator/charts/paladin-operator/.helmignore b/operator/charts/paladin-operator/.helmignore index 0e8a0eb36..260a32bbb 100644 --- a/operator/charts/paladin-operator/.helmignore +++ b/operator/charts/paladin-operator/.helmignore @@ -21,3 +21,7 @@ .idea/ *.tmproj .vscode/ + +# Ignore snapshots +*/tests/ +*.snap* diff --git a/operator/charts/paladin-operator/Chart.yaml b/operator/charts/paladin-operator/Chart.yaml index 3c654fcfe..326c7eb0d 100644 --- a/operator/charts/paladin-operator/Chart.yaml +++ b/operator/charts/paladin-operator/Chart.yaml @@ -2,30 +2,17 @@ apiVersion: v2 name: paladin-operator description: A Helm chart for Kubernetes -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.2 +# The chart version is overwritten at the release +version: 0.0.0 -# This is the version number of the application being deployed. This version number should be -# incremented each time you make changes to the application. Versions are not expected to -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "0.0.2" +# The app version is overwritten at the release +appVersion: "0.0.0" dependencies: - name: paladin-operator-crd - version: 0.0.1 + version: 0.0.2 repository: "file://../paladin-operator-crd/" condition: installCRDs diff --git a/operator/charts/paladin-operator/tests/snapshot_test.yaml b/operator/charts/paladin-operator/tests/snapshot_test.yaml index c0c83d923..945b0e7e9 100644 --- a/operator/charts/paladin-operator/tests/snapshot_test.yaml +++ b/operator/charts/paladin-operator/tests/snapshot_test.yaml @@ -1,16 +1,33 @@ suite: Snapshot tests tests: - it: Basic snapshot test - when: snapshot asserts: - matchSnapshot: {} set: unittest: true - it: Change namespace - when: snapshot asserts: - matchSnapshot: {} set: unittest: true operator.namespace: test + - it: Mode none + asserts: + - matchSnapshot: {} + set: + unittest: true + mode: none + - it: Mode basenet + asserts: + - matchSnapshot: {} + set: + unittest: true + mode: basenet + - it: Mode devnet + asserts: + - matchSnapshot: {} + set: + unittest: true + mode: devnet + diff --git a/operator/charts/paladin-operator/values.yaml b/operator/charts/paladin-operator/values.yaml index 61605ccdf..f0a5992b4 100644 --- a/operator/charts/paladin-operator/values.yaml +++ b/operator/charts/paladin-operator/values.yaml @@ -1,7 +1,7 @@ # Installation mode. This setting determines which Custom Resources (CRs) will be installed by default when deploying this chart. # Supported modes: -# - devnet: Installs a default Paladin network (3 nodes) along with the related Smart Contracts. -# - smartcontractdeployment: Deploys the Smart Contracts without installing the Paladin network. +# - devnet: Installs a default Paladin network (3 nodes) along with the related Domains and Smart Contracts CRs. +# - basenet: Deploys the Domains and Smart Contracts CRs without installing the Paladin network. # - none (or left empty): Only the operator will be installed. mode: devnet diff --git a/operator/config/crd/bases/core.paladin.io_paladins.yaml b/operator/config/crd/bases/core.paladin.io_paladins.yaml index 7f5ac99ed..0d878db77 100644 --- a/operator/config/crd/bases/core.paladin.io_paladins.yaml +++ b/operator/config/crd/bases/core.paladin.io_paladins.yaml @@ -47,16 +47,11 @@ spec: properties: authConfig: description: |- - AuthConfig is used to provide authentication details for blockchain connections - If this is set, it will override the auth details in the config + Deprecated: Use 'baseLedgerEndpoint' instead. Example: + { "baseLedgerEndpoint": {"type": "network", "network": {"auth": {}}} } properties: - authMethod: - description: auth method to use for the connection - enum: - - secret - type: string - authSecret: - description: SecretAuth is used to provide the name of the secret + secretRef: + description: Secret is used to provide the name of the secret to use for authentication properties: name: @@ -65,13 +60,76 @@ spec: required: - name type: object + type: + description: auth method to use for the connection + enum: + - secret + type: string required: - - authMethod + - type + type: object + baseLedgerEndpoint: + description: BaseLedgerEndpoint specifies the base endpoint for the + ledger + properties: + endpoint: + description: Network specifies the configuration when the type + is 'network'. + properties: + auth: + properties: + secretRef: + description: Secret is used to provide the name of the + secret to use for authentication + properties: + name: + description: The name of the secret to use for authentication + type: string + required: + - name + type: object + type: + description: auth method to use for the connection + enum: + - secret + type: string + required: + - type + type: object + jsonrpc: + type: string + ws: + type: string + required: + - jsonrpc + - ws + type: object + local: + description: Local specifies the configuration when the type is + 'local'. + properties: + nodeName: + description: NodeName specifies the name of the local node. + type: string + required: + - nodeName + type: object + type: + description: Type specifies the type of the endpoint. + enum: + - local + - network + type: string + required: + - type type: object besuNode: description: |- - Optionally bind to a local besu node deployed with this operator - (vs. configuring a connection to a production blockchain network) + Deprecated: Use 'baseLedgerEndpoint' instead. Example: + { "baseLedgerEndpoint": {"type": "local", "local": {"nodeName": "node-name"}} } + + Optionally bind to a local Besu node deployed with this operator + (vs. configuring a connection to a production blockchain network). type: string config: description: Settings from this config will be loaded as YAML and diff --git a/operator/config/samples/core_v1alpha1_paladin_node1.yaml b/operator/config/samples/core_v1alpha1_paladin_node1.yaml index cb1827b84..238ec3be3 100644 --- a/operator/config/samples/core_v1alpha1_paladin_node1.yaml +++ b/operator/config/samples/core_v1alpha1_paladin_node1.yaml @@ -19,7 +19,10 @@ spec: database: mode: sidecarPostgres migrationMode: auto - besuNode: node1 + baseLedgerEndpoint: + type: local + local: + nodeName: node1 secretBackedSigners: - name: signer-1 secret: node1.keys diff --git a/operator/config/samples/core_v1alpha1_paladin_node2.yaml b/operator/config/samples/core_v1alpha1_paladin_node2.yaml index 5b6bdf87f..7f022ffbf 100644 --- a/operator/config/samples/core_v1alpha1_paladin_node2.yaml +++ b/operator/config/samples/core_v1alpha1_paladin_node2.yaml @@ -15,7 +15,10 @@ spec: database: mode: sidecarPostgres migrationMode: auto - besuNode: node2 + baseLedgerEndpoint: + type: local + local: + nodeName: node2 secretBackedSigners: - name: signer-1 secret: node2.keys diff --git a/operator/config/samples/core_v1alpha1_paladin_node3.yaml b/operator/config/samples/core_v1alpha1_paladin_node3.yaml index 429ff09a7..73955eb26 100644 --- a/operator/config/samples/core_v1alpha1_paladin_node3.yaml +++ b/operator/config/samples/core_v1alpha1_paladin_node3.yaml @@ -15,7 +15,10 @@ spec: database: mode: sidecarPostgres migrationMode: auto - besuNode: node3 + baseLedgerEndpoint: + type: local + local: + nodeName: node3 secretBackedSigners: - name: signer-1 secret: node3.keys diff --git a/operator/contractpkg/main.go b/operator/contractpkg/main.go index d26064cc1..bcc5751ae 100644 --- a/operator/contractpkg/main.go +++ b/operator/contractpkg/main.go @@ -17,6 +17,8 @@ limitations under the License. package main import ( + "archive/tar" + "compress/gzip" "encoding/json" "fmt" "io" @@ -34,29 +36,15 @@ import ( "sigs.k8s.io/yaml" ) -func main() { +// file names that are basenet specific +var basenet = []string{"issuer", "paladindomain", "paladinregistry", "smartcontractdeployment", "transactioninvoke"} - if len(os.Args) < 2 { - fmt.Fprintln(os.Stderr, fmt.Errorf("usage: go run ./contractpkg generate|template [ARGS]")) - os.Exit(1) - return - } - switch os.Args[1] { - case "generate": - if err := generateSmartContracts(); err != nil { - fmt.Fprintln(os.Stderr, err.Error()) - os.Exit(1) - } - case "template": - if err := template(); err != nil { - fmt.Fprintln(os.Stderr, err.Error()) - os.Exit(1) - } - default: - fmt.Fprintln(os.Stderr, fmt.Errorf("usage: go run ./contractpkg generate|template [ARGS]")) - os.Exit(1) - } - os.Exit(0) +// file names that are devnet specific +var devnet = []string{"besu_node", "paladin_node", "genesis", "paladinregistration"} + +var scope = map[string][]string{ + "basenet": basenet, + "devnet": append(devnet, basenet...), } type ContractMap map[string]*ContractMapBuild @@ -67,9 +55,15 @@ type ContractMapBuild struct { Params any `json:"params"` } +var cmd = map[string]func() error{ + "generate": generateSmartContracts, + "template": template, + "artifacts": generateArtifacts, +} + func generateSmartContracts() error { if len(os.Args) < 3 { - return fmt.Errorf("usage: go run ./contractpkg generate [path/to/contractMap.json]") + return fmt.Errorf("usage: go run ./%s %s [path/to/contractMap.json]", filepath.Base(os.Args[0]), os.Args[1]) } var buildMap ContractMap @@ -197,7 +191,7 @@ func (m *ContractMap) process(name string, b *ContractMapBuild) error { // adjust all .yaml files in the directory to use the new template syntax func template() error { if len(os.Args) < 4 { - return fmt.Errorf("usage: go run ./contractpkg template [src] [dist]") + return fmt.Errorf("usage: go run ./%s %s [src] [dist]", filepath.Base(os.Args[0]), os.Args[1]) } srcDir := os.Args[2] destDir := os.Args[3] @@ -258,25 +252,26 @@ func template() error { newContent := pattern.ReplaceAllString(string(content), "{{ `{{${1}}}` }}") // Add conditional wrapper around the content - conditions := []string{"(eq .Values.mode \"devnet\")"} - - if strings.Contains(file, "smartcontractdeployment") { - // Include additional condition if file contains "smartcontractdeployment" - conditions = append(conditions, "(eq .Values.mode \"smartcontractdeployment\")") - } - - // Build the condition string for the template + vScopes := scopes(file) + conditions := []string{} var condition string - if len(conditions) == 1 { - // Single condition doesn't need 'or' - condition = conditions[0] - } else { - // Multiple conditions use 'or' to combine them - condition = fmt.Sprintf("(or %s)", strings.Join(conditions, " ")) + for _, s := range vScopes { + conditions = append(conditions, fmt.Sprintf("(eq .Values.mode \"%s\")", s)) + + // Build the condition string for the template + if len(conditions) == 1 { + // Single condition doesn't need 'or' + condition = conditions[0] + } else { + // Multiple conditions use 'or' to combine them + condition = fmt.Sprintf("(or %s)", strings.Join(conditions, " ")) + } } // Wrap newContent with the conditional template - newContent = fmt.Sprintf("{{- if %s }}\n\n%s\n{{- end }}", condition, newContent) + if len(condition) != 0 { + newContent = fmt.Sprintf("{{- if %s }}\n\n%s\n{{- end }}", condition, newContent) + } // Write the modified content back to the same file err = os.WriteFile(file, []byte(newContent), fs.FileMode(0644)) @@ -290,6 +285,150 @@ func template() error { return nil } +func generateArtifacts() error { + if len(os.Args) < 4 { + return fmt.Errorf("usage: go run ./%s %s [srcDir] [outDir]", filepath.Base(os.Args[0]), os.Args[1]) + } + srcDir := os.Args[2] + outDir := os.Args[3] + + // Create the output directory if it doesn't exist + err := os.MkdirAll(outDir, 0755) + if err != nil { + return fmt.Errorf("Error creating directory %s: %v", outDir, err) + } + + // For each scope, combine the YAML files + for scopeName := range scope { + combinedContent := "" + // Collect all files that match the scope + files, err := filepath.Glob(filepath.Join(srcDir, "*.yaml")) + if err != nil { + return fmt.Errorf("Error finding YAML files in %s: %v", srcDir, err) + } + + for _, file := range files { + filename := filepath.Base(file) + // Check if the file belongs to the current scope + if fileBelongsToScope(filename, scopeName) { + content, err := os.ReadFile(file) + if err != nil { + return fmt.Errorf("Error reading file %s: %v", file, err) + } + // Add a YAML document separator if needed + if len(combinedContent) > 0 { + combinedContent += "\n---\n" + } + combinedContent += string(content) + } + } + + // Write the combined content to a file + if combinedContent != "" { + outFile := filepath.Join(outDir, fmt.Sprintf("%s.yaml", scopeName)) + err = os.WriteFile(outFile, []byte(combinedContent), 0644) + if err != nil { + return fmt.Errorf("Error writing combined YAML file %s: %v", outFile, err) + } + fmt.Printf("Combined YAML for scope '%s' written to %s\n", scopeName, outFile) + } else { + fmt.Printf("No YAML files found for scope '%s'\n", scopeName) + } + } + + // Create a .tar.gz archive for all YAML files in the source directory + err = createTarGz(srcDir, filepath.Join(outDir, "artifacts.tar.gz")) + if err != nil { + return fmt.Errorf("Error creating tar.gz archive: %v", err) + } + + fmt.Printf("Tar.gz archive created at %s\n", filepath.Join(outDir, "artifacts.tar.gz")) + return nil +} + +// createTarGz compresses all YAML files in the source directory into a .tar.gz archive +func createTarGz(srcDir, destFile string) error { + // Create the output file + outFile, err := os.Create(destFile) + if err != nil { + return fmt.Errorf("Error creating tar.gz file %s: %v", destFile, err) + } + defer outFile.Close() + + // Create a gzip writer + gw := gzip.NewWriter(outFile) + defer gw.Close() + + // Create a tar writer + tw := tar.NewWriter(gw) + defer tw.Close() + + // Walk through the source directory and add .yaml files to the archive + err = filepath.Walk(srcDir, func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } + + // Skip directories + if info.IsDir() { + return nil + } + + // Only add YAML files + if filepath.Ext(path) == ".yaml" { + file, err := os.Open(path) + if err != nil { + return fmt.Errorf("Error opening file %s: %v", path, err) + } + defer file.Close() + + // Create a tar header for the file + header := &tar.Header{ + Name: filepath.Base(path), + Size: info.Size(), + Mode: int64(info.Mode()), + ModTime: info.ModTime(), + } + if err := tw.WriteHeader(header); err != nil { + return fmt.Errorf("Error writing tar header for file %s: %v", path, err) + } + + // Copy the file content to the tar writer + _, err = io.Copy(tw, file) + if err != nil { + return fmt.Errorf("Error writing file %s to tar: %v", path, err) + } + } + return nil + }) + if err != nil { + return fmt.Errorf("Error walking the directory %s: %v", srcDir, err) + } + + return nil +} +func fileBelongsToScope(filename, scopeName string) bool { + for _, s := range scopes(filename) { + if s == scopeName { + return true + } + } + return false +} + +func scopes(filename string) []string { + var s []string + for k, v := range scope { + for _, f := range v { + if strings.Contains(filename, f) { + s = append(s, k) + break + } + } + } + return s +} + // Helper function to copy a file from src to dst func copyFile(src, dst string) error { // Open the source file @@ -320,3 +459,28 @@ func copyFile(src, dst string) error { return nil } + +func usageMessage() string { + commands := []string{} + for k := range cmd { + commands = append(commands, k) + } + return fmt.Sprintf("usage: go run ./%s %s [ARGS]", filepath.Base(os.Args[0]), strings.Join(commands, "|")) +} + +func main() { + + if len(os.Args) < 2 { + fmt.Fprintln(os.Stderr, fmt.Errorf(usageMessage())) + os.Exit(1) + } + if f, ok := cmd[os.Args[1]]; ok { + if err := f(); err != nil { + fmt.Fprintln(os.Stderr, err.Error()) + os.Exit(1) + } + return + } + fmt.Fprintln(os.Stderr, fmt.Errorf(usageMessage())) + os.Exit(1) +} diff --git a/operator/generated-crs/basenet.yaml b/operator/generated-crs/basenet.yaml new file mode 100644 index 000000000..3a649eeb5 --- /dev/null +++ b/operator/generated-crs/basenet.yaml @@ -0,0 +1,4191 @@ +--- +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: selfsigned-issuer +spec: + selfSigned: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinDomain +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + paladin.io/domain-name: noto + name: noto +spec: + smartContractDeployment: noto-factory + plugin: + type: c-shared + library: /app/domains/libnoto.so + configJSON: | + {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinDomain +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + paladin.io/domain-name: pente + name: pente +spec: + smartContractDeployment: pente-factory + plugin: + type: jar + library: /app/domains/pente.jar + class: io.kaleido.paladin.pente.domain.PenteDomainFactory + configJSON: | + {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinDomain +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + paladin.io/domain-name: zeto + name: zeto +spec: + smartContractDeployment: zeto-factory + allowSigning: true + plugin: + type: c-shared + library: /app/domains/libzeto.so + configJSON: | + { + "domainContracts": { + "Implementations": [ + { + "CircuitId": "anon", + "Name": "Zeto_Anon" + }, + { + "CircuitId": "anon_enc", + "Name": "Zeto_AnonEnc" + }, + { + "CircuitId": "anon_nullifier", + "Name": "Zeto_AnonNullifier" + } + ] + }, + "snarkProver": { + "circuitsDir": "/app/domains/zeto/zkp", + "provingKeysDir": "/app/domains/zeto/zkp" + } + } + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinRegistry +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + paladin.io/registry-name: evm-registry + name: evm-registry +spec: + type: evm + evm: + smartContractDeployment: registry + plugin: + type: c-shared + library: /app/registries/libevm.so + configJSON: | + {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: noto-factory +spec: + abiJSON: |- + [ + { + "inputs": [], + "outputs": null, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ERC1167FailedCreateClone", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "instance", + "type": "address" + }, + { + "internalType": "bytes", + "name": "config", + "type": "bytes" + } + ], + "name": "PaladinRegisterSmartContract_V0", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "transactionId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "notaryAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deploy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "bytes32", + "name": "transactionId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "notaryAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deployImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "registerImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x608060405234801561001057600080fd5b50338061003757604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b610040816100b4565b5060405161004d90610104565b604051809103906000f080158015610069573d6000803e3d6000fd5b5060405166191959985d5b1d60ca1b815260019060070190815260405190819003602001902080546001600160a01b03929092166001600160a01b0319909216919091179055610111565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611fa48061096b83390190565b61084b806101206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063715018a61161005b578063715018a6146100d957806387fe19b5146100e15780638da5cb5b146100f4578063f2fde38b1461010557600080fd5b80632781212e146100825780635d7712dc146100975780636b683896146100aa575b600080fd5b6100956100903660046104f4565b610118565b005b6100956100a536600461054e565b610175565b6100bd6100b83660046105a2565b6101d1565b6040516001600160a01b03909116815260200160405180910390f35b610095610206565b6100956100ef3660046105e4565b61021a565b6000546001600160a01b03166100bd565b610095610113366004610671565b610237565b61016f600160405161014d907f64656661756c7400000000000000000000000000000000000000000000000000815260070190565b908152604051908190036020019020546001600160a01b031685858585610293565b50505050565b61017d610366565b8060018484604051610190929190610693565b90815260405190819003602001902080546001600160a01b039290921673ffffffffffffffffffffffffffffffffffffffff19909216919091179055505050565b6000600183836040516101e5929190610693565b908152604051908190036020019020546001600160a01b0316905092915050565b61020e610366565b61021860006103ac565b565b61022f6001878760405161014d929190610693565b505050505050565b61023f610366565b6001600160a01b038116610287576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610290816103ac565b50565b600061029e86610409565b90506000816001600160a01b031663d1f578948686866040518463ffffffff1660e01b81526004016102d2939291906106a3565b6000604051808303816000875af11580156102f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103199190810190610735565b9050816001600160a01b0316867fd77f43af9eba6f7c0ea72f4bad6bc58c3bd49e2cb299e128c91293b7ebc17f438360405161035591906107e2565b60405180910390a350505050505050565b6000546001600160a01b03163314610218576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161027e565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b03811661048f576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b80356001600160a01b038116811461048f57600080fd5b60008083601f8401126104bd57600080fd5b50813567ffffffffffffffff8111156104d557600080fd5b6020830191508360208285010111156104ed57600080fd5b9250929050565b6000806000806060858703121561050a57600080fd5b8435935061051a60208601610494565b9250604085013567ffffffffffffffff81111561053657600080fd5b610542878288016104ab565b95989497509550505050565b60008060006040848603121561056357600080fd5b833567ffffffffffffffff81111561057a57600080fd5b610586868287016104ab565b9094509250610599905060208501610494565b90509250925092565b600080602083850312156105b557600080fd5b823567ffffffffffffffff8111156105cc57600080fd5b6105d8858286016104ab565b90969095509350505050565b600080600080600080608087890312156105fd57600080fd5b863567ffffffffffffffff8082111561061557600080fd5b6106218a838b016104ab565b90985096506020890135955086915061063c60408a01610494565b9450606089013591508082111561065257600080fd5b5061065f89828a016104ab565b979a9699509497509295939492505050565b60006020828403121561068357600080fd5b61068c82610494565b9392505050565b8183823760009101908152919050565b6001600160a01b038416815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b8381101561072c578181015183820152602001610714565b50506000910152565b60006020828403121561074757600080fd5b815167ffffffffffffffff8082111561075f57600080fd5b818401915084601f83011261077357600080fd5b815181811115610785576107856106e2565b604051601f8201601f19908116603f011681019083821181831017156107ad576107ad6106e2565b816040528281528760208487010111156107c657600080fd5b6107d7836020830160208801610711565b979650505050505050565b6020815260008251806020840152610801816040850160208701610711565b601f01601f1916919091016040019291505056fea26469706673582212202de522d482a0a855fd431a78e0879eab1aac2514959cdf7de8f45fd95e599e4e64736f6c6343000814003360a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611ea76100fd60003960008181610c7c01528181610ca50152610e2b0152611ea76000f3fe6080604052600436106100d25760003560e01c80636e0f12981161007f57806384b0196e1161005957806384b0196e146102795780639e23a732146102a1578063ad3cb1cc146102c1578063d1f578941461031757600080fd5b80636e0f1298146101c257806370f17e9a1461020b578063746f6bb71461025957600080fd5b806352d1902d116100b057806352d1902d1461012c5780635adbade7146101545780635f20994d1461018257600080fd5b80630c57c6d5146100d757806325ddff73146100f95780634f1ef28614610119575b600080fd5b3480156100e357600080fd5b506100f76100f23660046116b0565b610337565b005b34801561010557600080fd5b506100f761011436600461174a565b6103f0565b6100f7610127366004611840565b6104d8565b34801561013857600080fd5b506101416104f7565b6040519081526020015b60405180910390f35b34801561016057600080fd5b50610169600081565b60405167ffffffffffffffff909116815260200161014b565b34801561018e57600080fd5b506101b261019d366004611902565b60009081526001602052604090205460ff1690565b604051901515815260200161014b565b3480156101ce57600080fd5b506101da600160f01b81565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161014b565b34801561021757600080fd5b50610241610226366004611902565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200161014b565b34801561026557600080fd5b506100f761027436600461191b565b610526565b34801561028557600080fd5b5061028e610545565b60405161014b97969594939291906119d6565b3480156102ad57600080fd5b506100f76102bc36600461174a565b610646565b3480156102cd57600080fd5b5061030a6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161014b9190611a88565b34801561032357600080fd5b5061030a610332366004611a9b565b6107da565b61034033610a09565b60606103e78188888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250610a5e92505050565b50505050505050565b6103f933610a09565b6104ce88888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250610a5e92505050565b5050505050505050565b6104e0610c71565b6104e982610d2a565b6104f38282610d33565b5050565b6000610501610e20565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b61052f33610a09565b61053d868686868686610e69565b505050505050565b600060608082808083817fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100805490915015801561058457506001810154155b6105ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a6564000000000000000000000060448201526064015b60405180910390fd5b6105f7610ee7565b6105ff610fbc565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009c939b5091995046985030975095509350915050565b600061065689898989878761100d565b6000818152600260205260409020549091506001600160a01b031633146106d257600081815260026020526040908190205490517faa3c89a1000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b0390911660248201523360448201526064016105e6565b6107a789898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250610a5e92505050565b6000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff191690555050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546060919068010000000000000000810460ff16159067ffffffffffffffff166000811580156108295750825b905060008267ffffffffffffffff1660011480156108465750303b155b905081158015610854575080155b1561088b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108bf57845468ff00000000000000001916680100000000000000001785555b6109336040518060400160405280600481526020017f6e6f746f000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f302e302e310000000000000000000000000000000000000000000000000000008152506110ee565b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038b169081178255604080516060810182529182526020808301939093528051601f8b0184900484028101840182528a81526109b093918301918c908c90819084018382808284376000920191909152505050915250611100565b955083156109fd57845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050509392505050565b6000546001600160a01b03828116911614610a5b576040517f830743c90000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024016105e6565b50565b60005b8451811015610b3f5760016000868381518110610a8057610a80611aee565b602090810291909101810151825281019190915260400160009081205460ff1615159003610af757848181518110610aba57610aba611aee565b60200260200101516040517f8b8ff76e0000000000000000000000000000000000000000000000000000000081526004016105e691815260200190565b60016000868381518110610b0d57610b0d611aee565b6020908102919091018101518252810191909152604001600020805460ff19169055610b3881611b04565b9050610a61565b5060005b8351811015610c2d5760016000858381518110610b6257610b62611aee565b60209081029190910181015182528101919091526040016000205460ff161515600103610bd857838181518110610b9b57610b9b611aee565b60200260200101516040517ff011771d0000000000000000000000000000000000000000000000000000000081526004016105e691815260200190565b6001806000868481518110610bef57610bef611aee565b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555080610c2690611b04565b9050610b43565b507f1f158419f9be0e2f7500ff70784bdcf23e591d40cf4a7903d900a5718156d26e84848484604051610c639493929190611b66565b60405180910390a150505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610d0a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610cfe7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15610d285760405163703e46dd60e11b815260040160405180910390fd5b565b610a5b33610a09565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d8d575060408051601f3d908101601f19168201909252610d8a91810190611bbe565b60015b610db557604051634c9c8ce360e01b81526001600160a01b03831660048201526024016105e6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114610e11576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016105e6565b610e1b8383611163565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d285760405163703e46dd60e11b815260040160405180910390fd5b60008581526002602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038916179055517fe1d739165793e39d23932a8bbf260ff8f37a31163cb41909361420e1e4d151aa90610ed790889088908890889088908890611c00565b60405180910390a1505050505050565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10091610f3890611c49565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6490611c49565b8015610fb15780601f10610f8657610100808354040283529160200191610fb1565b820191906000526020600020905b815481529060010190602001808311610f9457829003601f168201915b505050505091505090565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10380546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10091610f3890611c49565b6000807f8680a0f190c5d2b22fc4e0a097fdfc5c206ed94420c7f3783040268c2d95571e8888604051602001611044929190611c83565b60405160208183030381529060405280519060200120878760405160200161106d929190611c83565b604051602081830303815290604052805190602001208686604051611093929190611cc5565b6040519081900381206110c19493929160200193845260208401929092526040830152606082015260800190565b6040516020818303038152906040528051906020012090506110e2816111b9565b98975050505050505050565b6110f6611207565b6104f3828261126e565b6060600082600001518360200151846040015160405160200161112593929190611cd5565b60408051601f1981840301815290829052915061114c90600160f01b908390602001611d07565b604051602081830303815290604052915050919050565b61116c826112e1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156111b157610e1b8282611365565b6104f36113db565b60006112016111c6611413565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b92915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610d28576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611276611207565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1026112c28482611d95565b50600381016112d18382611d95565b5060008082556001909101555050565b806001600160a01b03163b60000361131757604051634c9c8ce360e01b81526001600160a01b03821660048201526024016105e6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516113829190611e55565b600060405180830381855af49150503d80600081146113bd576040519150601f19603f3d011682016040523d82523d6000602084013e6113c2565b606091505b50915091506113d2858383611422565b95945050505050565b3415610d28576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061141d61149a565b905090565b606082611437576114328261150e565b611493565b815115801561144e57506001600160a01b0384163b155b15611490576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016105e6565b50805b9392505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6114c5611550565b6114cd6115cc565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b80511561151e5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008161157c610ee7565b80519091501561159457805160209091012092915050565b815480156115a3579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100816115f8610fbc565b80519091501561161057805160209091012092915050565b600182015480156115a3579392505050565b60008083601f84011261163457600080fd5b50813567ffffffffffffffff81111561164c57600080fd5b6020830191508360208260051b850101111561166757600080fd5b9250929050565b60008083601f84011261168057600080fd5b50813567ffffffffffffffff81111561169857600080fd5b60208301915083602082850101111561166757600080fd5b600080600080600080606087890312156116c957600080fd5b863567ffffffffffffffff808211156116e157600080fd5b6116ed8a838b01611622565b9098509650602089013591508082111561170657600080fd5b6117128a838b0161166e565b9096509450604089013591508082111561172b57600080fd5b5061173889828a0161166e565b979a9699509497509295939492505050565b6000806000806000806000806080898b03121561176657600080fd5b883567ffffffffffffffff8082111561177e57600080fd5b61178a8c838d01611622565b909a50985060208b01359150808211156117a357600080fd5b6117af8c838d01611622565b909850965060408b01359150808211156117c857600080fd5b6117d48c838d0161166e565b909650945060608b01359150808211156117ed57600080fd5b506117fa8b828c0161166e565b999c989b5096995094979396929594505050565b80356001600160a01b038116811461182557600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561185357600080fd5b61185c8361180e565b9150602083013567ffffffffffffffff8082111561187957600080fd5b818501915085601f83011261188d57600080fd5b81358181111561189f5761189f61182a565b604051601f8201601f19908116603f011681019083821181831017156118c7576118c761182a565b816040528281528860208487010111156118e057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561191457600080fd5b5035919050565b6000806000806000806080878903121561193457600080fd5b61193d8761180e565b955060208701359450604087013567ffffffffffffffff8082111561196157600080fd5b61196d8a838b0161166e565b9096509450606089013591508082111561172b57600080fd5b60005b838110156119a1578181015183820152602001611989565b50506000910152565b600081518084526119c2816020860160208601611986565b601f01601f19169290920160200192915050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152611a1260e084018a6119aa565b8381036040850152611a24818a6119aa565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015611a7657835183529284019291840191600101611a5a565b50909c9b505050505050505050505050565b60208152600061149360208301846119aa565b600080600060408486031215611ab057600080fd5b611ab98461180e565b9250602084013567ffffffffffffffff811115611ad557600080fd5b611ae18682870161166e565b9497909650939450505050565b634e487b7160e01b600052603260045260246000fd5b600060018201611b2457634e487b7160e01b600052601160045260246000fd5b5060010190565b600081518084526020808501945080840160005b83811015611b5b57815187529582019590820190600101611b3f565b509495945050505050565b608081526000611b796080830187611b2b565b8281036020840152611b8b8187611b2b565b90508281036040840152611b9f81866119aa565b90508281036060840152611bb381856119aa565b979650505050505050565b600060208284031215611bd057600080fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0387168152856020820152608060408201526000611c29608083018688611bd7565b8281036060840152611c3c818587611bd7565b9998505050505050505050565b600181811c90821680611c5d57607f821691505b602082108103611c7d57634e487b7160e01b600052602260045260246000fd5b50919050565b60007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611cb257600080fd5b8260051b80858437919091019392505050565b8183823760009101908152919050565b6001600160a01b038416815267ffffffffffffffff831660208201526060604082015260006113d260608301846119aa565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251611d41816004850160208701611986565b919091016004019392505050565b601f821115610e1b57600081815260208120601f850160051c81016020861015611d765750805b601f850160051c820191505b8181101561053d57828155600101611d82565b815167ffffffffffffffff811115611daf57611daf61182a565b611dc381611dbd8454611c49565b84611d4f565b602080601f831160018114611df85760008415611de05750858301515b600019600386901b1c1916600185901b17855561053d565b600085815260208120601f198616915b82811015611e2757888601518255948401946001909101908401611e08565b5085821015611e455787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251611e67818460208701611986565b919091019291505056fea264697066735822122090a918a8065773bb424299b634489ca55cee35bee72f04f7d3897729e077b36264736f6c63430008140033 + from: noto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: pente-factory +spec: + abiJSON: |- + [ + { + "inputs": [], + "name": "ERC1167FailedCreateClone", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "instance", + "type": "address" + }, + { + "internalType": "bytes", + "name": "config", + "type": "bytes" + } + ], + "name": "PaladinRegisterSmartContract_V0", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "transactionId", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "newPrivacyGroup", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x60806040526040516100109061005f565b604051809103906000f08015801561002c573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b039290921691909117905534801561005957600080fd5b5061006c565b612a52806103c483390190565b6103498061007b6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f3a5adb214610030575b600080fd5b61004361003e36600461020a565b610045565b005b600080546100689073ffffffffffffffffffffffffffffffffffffffff16610143565b6040517f439fab9100000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063439fab91906100bd9085906004016102c5565b600060405180830381600087803b1580156100d757600080fd5b505af11580156100eb573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16837fd77f43af9eba6f7c0ea72f4bad6bc58c3bd49e2cb299e128c91293b7ebc17f438460405161013691906102c5565b60405180910390a3505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff81166101d6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561021d57600080fd5b82359150602083013567ffffffffffffffff8082111561023c57600080fd5b818501915085601f83011261025057600080fd5b813581811115610262576102626101db565b604051601f8201601f19908116603f0116810190838211818310171561028a5761028a6101db565b816040528281528860208487010111156102a357600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208083528351808285015260005b818110156102f2578581018301518582016040015282016102d6565b506000604082860101526040601f19601f830116850101925050509291505056fea26469706673582212203f2dd2442271212661deec324e9fe31d8d75c10bab2627dc354693e014f3401b64736f6c6343000814003360a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161294e6200010460003960008181611130015281816111590152611320015261294e6000f3fe6080604052600436106100b15760003560e01c806377516f8c11610069578063ac3cd44f1161004e578063ac3cd44f1461019b578063ad3cb1cc146101e7578063d3e889ce1461023d57600080fd5b806377516f8c1461015357806384b0196e1461017357600080fd5b8063439fab911161009a578063439fab91146100f85780634f1ef2861461011857806352d1902d1461012b57600080fd5b80630a78b6c5146100b6578063223ce098146100d8575b600080fd5b3480156100c257600080fd5b506100d66100d1366004611ece565b61025d565b005b3480156100e457600080fd5b506100d66100f3366004611f39565b6102a8565b34801561010457600080fd5b506100d6610113366004611fd7565b6102d7565b6100d66101263660046120e8565b610593565b34801561013757600080fd5b506101406105b2565b6040519081526020015b60405180910390f35b34801561015f57600080fd5b506100d661016e36600461214a565b6105e1565b34801561017f57600080fd5b5061018861066a565b60405161014a9796959493929190612202565b3480156101a757600080fd5b506101ce7e0100000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b0319909116815260200161014a565b3480156101f357600080fd5b506102306040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161014a91906122b4565b34801561024957600080fd5b506100d66102583660046122c7565b610766565b600061026884610802565b9050610275818484610872565b50506002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03939093169290921790915550565b60006102b5868686610b7b565b90506102c2818484610872565b6102ce87878787610d0e565b50505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156103225750825b905060008267ffffffffffffffff16600114801561033f5750303b155b90508115801561034d575080155b15610384576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103b857845468ff00000000000000001916680100000000000000001785555b61042c6040518060400160405280600581526020017f70656e74650000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f302e302e31000000000000000000000000000000000000000000000000000000815250611113565b600061043b600482898b612337565b61044491612361565b90507fffff0000000000000000000000000000000000000000000000000000000000006001600160e01b03198216016104fc57600080806104888a6004818e612337565b8101906104959190612391565b60408051808201909152838152602080820184905260038581558451959950939750919550935090916104ce9160049190870190611ddf565b5050811590506104df5760016104e2565b60005b6005805460ff19169115159190911790555061053f915050565b6040517f1eb38a7c0000000000000000000000000000000000000000000000000000000081526001600160e01b0319821660048201526024015b60405180910390fd5b5083156102ce57845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a150505050505050565b61059b611125565b6105a4826111de565b6105ae8282611228565b5050565b60006105bc611315565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6105ec838383610872565b600083815260016020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0388169081179091558251888152918201529081018490527fb9ae1f7c1a7315ba3a1ca3b57db9ff65646e18265c9b0e79e8423b0fd7c4839c9060600160405180910390a15050505050565b600060608082808083817fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10080549091501580156106a957506001810154155b61070f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610536565b61071761135e565b61071f611433565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009c939b5091995046985030975095509350915050565b6000610773848484610b7b565b6000818152600160205260409020549091506001600160a01b031633146107ef57600081815260016020526040908190205490517fa69a6005000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b039091166024820152336044820152606401610536565b6107fb85858585610d0e565b5050505050565b6000807f43c66ea365f48b9715a163ea21bbc96c68341d6bf224d1d6cb216b57b8c4ea398360405160200161084a9291909182526001600160a01b0316602082015260400190565b60405160208183030381529060405280519060200120905061086b81611484565b9392505050565b600060036001018054806020026020016040519081016040528092919081815260200182805480156108cd57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116108af575b5050505050905060008383905067ffffffffffffffff8111156108f2576108f2612049565b60405190808252806020026020018201604052801561091b578160200160208202803683370190505b5090506000805b84811015610b2857600061098e888888858181106109425761094261248a565b905060200281019061095491906124a0565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114d292505050565b905060005b83811015610a1c578481815181106109ad576109ad61248a565b60200260200101516001600160a01b0316826001600160a01b031603610a0a576040517f4f8d70160000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610536565b80610a14816124e7565b915050610993565b506000805b8651811015610a8f57868181518110610a3c57610a3c61248a565b60200260200101516001600160a01b0316836001600160a01b031603610a7d57868181518110610a6e57610a6e61248a565b60200260200101519150610a8f565b80610a87816124e7565b915050610a21565b506001600160a01b038116610adb576040517fb9cb6d180000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610536565b80858581518110610aee57610aee61248a565b6001600160a01b039092166020928302919091019091015283610b10816124e7565b94505050508080610b20906124e7565b915050610922565b50600354811015610b73576003546040517f71261549000000000000000000000000000000000000000000000000000000008152610536918391600401918252602082015260400190565b505050505050565b6000806040518060a00160405280606a8152602001612878606a91396040518060600160405280603781526020016128e260379139604051602001610bc192919061250e565b60408051601f198184030181529190528051602090910120610be3868061253d565b604051602001610bf4929190612587565b60405160208183030381529060405280519060200120868060200190610c1a919061253d565b604051602001610c2b929190612587565b60405160208183030381529060405280519060200120878060400190610c51919061253d565b604051602001610c62929190612587565b60408051601f198184030181529190528051602090910120610c8760608a018a61253d565b604051602001610c98929190612587565b60405160208183030381529060405280519060200120610cb889896114fc565b6040805160208101979097528601949094526060850192909252608084015260a083015260c082015260e001604051602081830303815290604052805190602001209050610d0581611484565b95945050505050565b60005b610d1b848061253d565b9050811015610e0857600080610d31868061253d565b84818110610d4157610d4161248a565b602090810292909201358352508101919091526040016000205460ff16610db857610d6c848061253d565b82818110610d7c57610d7c61248a565b905060200201356040517fa80f89f400000000000000000000000000000000000000000000000000000000815260040161053691815260200190565b600080610dc5868061253d565b84818110610dd557610dd561248a565b60209081029290920135835250810191909152604001600020805460ff1916905580610e00816124e7565b915050610d11565b5060005b610e19602085018561253d565b9050811015610ece57600080610e32602087018761253d565b84818110610e4257610e4261248a565b602090810292909201358352508101919091526040016000205460ff16610ebc57610e70602085018561253d565b82818110610e8057610e8061248a565b905060200201356040517fa7a3ace300000000000000000000000000000000000000000000000000000000815260040161053691815260200190565b80610ec6816124e7565b915050610e0c565b5060005b610edf604085018561253d565b9050811015610fe457600080610ef8604087018761253d565b84818110610f0857610f0861248a565b602090810292909201358352508101919091526040016000205460ff1615610f8357610f37604085018561253d565b82818110610f4757610f4761248a565b905060200201356040517ff6b3931c00000000000000000000000000000000000000000000000000000000815260040161053691815260200190565b6001600080610f95604088018861253d565b85818110610fa557610fa561248a565b90506020020135815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fdc906124e7565b915050610ed2565b507f156c14fb5e9a70b196a7d32f40d526ee002750cb79cc5be80567856f30aeab2284611011858061253d565b61101e602088018861253d565b61102b60408a018a61253d565b61103860608c018c61253d565b60405161104d99989796959493929190612614565b60405180910390a160005b818110156107fb576111018383838181106110755761107561248a565b9050602002810190611087919061267b565b61109590602081019061269b565b8484848181106110a7576110a761248a565b90506020028101906110b9919061267b565b6110c79060208101906124a0565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116a792505050565b8061110b816124e7565b915050611058565b61111b61175a565b6105ae82826117c1565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806111be57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156111dc5760405163703e46dd60e11b815260040160405180910390fd5b565b6002546001600160a01b03828116911614611225576040517fa5762b7f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611282575060408051601f3d908101601f1916820190925261127f918101906126b6565b60015b6112aa57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610536565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611306576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610536565b6113108383611834565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111dc5760405163703e46dd60e11b815260040160405180910390fd5b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100916113af906126cf565b80601f01602080910402602001604051908101604052809291908181526020018280546113db906126cf565b80156114285780601f106113fd57610100808354040283529160200191611428565b820191906000526020600020905b81548152906001019060200180831161140b57829003601f168201915b505050505091505090565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10380546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100916113af906126cf565b60006114cc61149161188a565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b92915050565b6000806000806114e28686611899565b9250925092506114f282826118e6565b5090949350505050565b6000808267ffffffffffffffff81111561151857611518612049565b604051908082528060200260200182016040528015611541578160200160208202803683370190505b50905060005b83811015611676576040518060600160405280603781526020016128e2603791396040516020016115789190612703565b604051602081830303815290604052805190602001208585838181106115a0576115a061248a565b90506020028101906115b2919061267b565b6115c090602081019061269b565b8686848181106115d2576115d261248a565b90506020028101906115e4919061267b565b6115f29060208101906124a0565b604051611600929190612715565b6040519081900381206116319392916020019283526001600160a01b03919091166020830152604082015260600190565b604051602081830303815290604052805190602001208282815181106116595761165961248a565b60209081029190910101528061166e816124e7565b915050611547565b50806040516020016116889190612725565b6040516020818303038152906040528051906020012091505092915050565b60055460ff166116e3576040517f3802fedd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080836001600160a01b0316836040516116fe9190612703565b6000604051808303816000865af19150503d806000811461173b576040519150601f19603f3d011682016040523d82523d6000602084013e611740565b606091505b509150915081611754578051602082018181fd5b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166111dc576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117c961175a565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10261181584826127a1565b506003810161182483826127a1565b5060008082556001909101555050565b61183d826119ea565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611882576113108282611a6e565b6105ae611adb565b6000611894611b13565b905090565b600080600083516041036118d35760208401516040850151606086015160001a6118c588828585611b87565b9550955095505050506118df565b50508151600091506002905b9250925092565b60008260038111156118fa576118fa612861565b03611903575050565b600182600381111561191757611917612861565b0361194e576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600282600381111561196257611962612861565b0361199c576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610536565b60038260038111156119b0576119b0612861565b036105ae576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610536565b806001600160a01b03163b600003611a2057604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610536565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611a8b9190612703565b600060405180830381855af49150503d8060008114611ac6576040519150601f19603f3d011682016040523d82523d6000602084013e611acb565b606091505b5091509150610d05858383611c56565b34156111dc576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611b3e611ccb565b611b46611d47565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611bc25750600091506003905082611c4c565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611c16573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611c4257506000925060019150829050611c4c565b9250600091508190505b9450945094915050565b606082611c6b57611c6682611d9d565b61086b565b8151158015611c8257506001600160a01b0384163b155b15611cc4576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610536565b508061086b565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10081611cf761135e565b805190915015611d0f57805160209091012092915050565b81548015611d1e579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10081611d73611433565b805190915015611d8b57805160209091012092915050565b60018201548015611d1e579392505050565b805115611dad5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828054828255906000526020600020908101928215611e41579160200282015b82811115611e41578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116178255602090920191600190910190611dff565b50611e4d929150611e51565b5090565b5b80821115611e4d5760008155600101611e52565b80356001600160a01b0381168114611e7d57600080fd5b919050565b60008083601f840112611e9457600080fd5b50813567ffffffffffffffff811115611eac57600080fd5b6020830191508360208260051b8501011115611ec757600080fd5b9250929050565b600080600060408486031215611ee357600080fd5b611eec84611e66565b9250602084013567ffffffffffffffff811115611f0857600080fd5b611f1486828701611e82565b9497909650939450505050565b600060808284031215611f3357600080fd5b50919050565b60008060008060008060808789031215611f5257600080fd5b86359550602087013567ffffffffffffffff80821115611f7157600080fd5b611f7d8a838b01611f21565b96506040890135915080821115611f9357600080fd5b611f9f8a838b01611e82565b90965094506060890135915080821115611fb857600080fd5b50611fc589828a01611e82565b979a9699509497509295939492505050565b60008060208385031215611fea57600080fd5b823567ffffffffffffffff8082111561200257600080fd5b818501915085601f83011261201657600080fd5b81358181111561202557600080fd5b86602082850101111561203757600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561208857612088612049565b604052919050565b600067ffffffffffffffff8311156120aa576120aa612049565b6120bd601f8401601f191660200161205f565b90508281528383830111156120d157600080fd5b828260208301376000602084830101529392505050565b600080604083850312156120fb57600080fd5b61210483611e66565b9150602083013567ffffffffffffffff81111561212057600080fd5b8301601f8101851361213157600080fd5b61214085823560208401612090565b9150509250929050565b60008060008060006080868803121561216257600080fd5b8535945061217260208701611e66565b935060408601359250606086013567ffffffffffffffff81111561219557600080fd5b6121a188828901611e82565b969995985093965092949392505050565b60005b838110156121cd5781810151838201526020016121b5565b50506000910152565b600081518084526121ee8160208601602086016121b2565b601f01601f19169290920160200192915050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261223e60e084018a6121d6565b8381036040850152612250818a6121d6565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156122a257835183529284019291840191600101612286565b50909c9b505050505050505050505050565b60208152600061086b60208301846121d6565b600080600080606085870312156122dd57600080fd5b84359350602085013567ffffffffffffffff808211156122fc57600080fd5b61230888838901611f21565b9450604087013591508082111561231e57600080fd5b5061232b87828801611e82565b95989497509550505050565b6000808585111561234757600080fd5b8386111561235457600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123895780818660040360031b1b83161692505b505092915050565b600080600080608085870312156123a757600080fd5b843567ffffffffffffffff808211156123bf57600080fd5b818701915087601f8301126123d357600080fd5b60206123e3898435838601612090565b965080880135955060408801359250818311156123ff57600080fd5b828801925088601f84011261241357600080fd5b82358281111561242557612425612049565b8060051b925061243682840161205f565b818152928401820192828101908b85111561245057600080fd5b948301945b848610156124755761246686611e66565b82529483019490830190612455565b989b979a509798606001359750505050505050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126124b757600080fd5b83018035915067ffffffffffffffff8211156124d257600080fd5b602001915036819003821315611ec757600080fd5b60006001820161250757634e487b7160e01b600052601160045260246000fd5b5060010190565b600083516125208184602088016121b2565b8351908301906125348183602088016121b2565b01949350505050565b6000808335601e1984360301811261255457600080fd5b83018035915067ffffffffffffffff82111561256f57600080fd5b6020019150600581901b3603821315611ec757600080fd5b60007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156125b657600080fd5b8260051b80858437919091019392505050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156125fb57600080fd5b8260051b80836020870137939093016020019392505050565b89815260a06020820152600061262e60a083018a8c6125c9565b828103604084015261264181898b6125c9565b905082810360608401526126568187896125c9565b9050828103608084015261266b8185876125c9565b9c9b505050505050505050505050565b60008235603e1983360301811261269157600080fd5b9190910192915050565b6000602082840312156126ad57600080fd5b61086b82611e66565b6000602082840312156126c857600080fd5b5051919050565b600181811c908216806126e357607f821691505b602082108103611f3357634e487b7160e01b600052602260045260246000fd5b600082516126918184602087016121b2565b8183823760009101908152919050565b815160009082906020808601845b8381101561274f57815185529382019390820190600101612733565b50929695505050505050565b601f82111561131057600081815260208120601f850160051c810160208610156127825750805b601f850160051c820191505b81811015610b735782815560010161278e565b815167ffffffffffffffff8111156127bb576127bb612049565b6127cf816127c984546126cf565b8461275b565b602080601f83116001811461280457600084156127ec5750858301515b600019600386901b1c1916600185901b178555610b73565b600085815260208120601f198616915b8281101561283357888601518255948401946001909101908401612814565b50858210156128515787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fdfe5472616e736974696f6e28627974657333325b5d20696e707574732c627974657333325b5d2072656164732c627974657333325b5d206f7574707574732c627974657333325b5d20696e666f2c45787465726e616c43616c6c5b5d2065787465726e616c43616c6c732945787465726e616c43616c6c286164647265737320636f6e7472616374416464726573732c627974657320656e636f64656443616c6c29a26469706673582212201b7d509ddb9722990e0682d7930b68ee210f1b077f55d281259c08a709bec6a064736f6c63430008140033 + from: pente.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: registry +spec: + abiJSON: |- + [ + { + "inputs": [], + "outputs": null, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "parentIdentityHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "IdentityRegistered", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "name": "PropertySet", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + } + ], + "name": "getIdentity", + "outputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "parent", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "children", + "type": "bytes32[]" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "internalType": "struct IdentityRegistry.Identity", + "name": "identity", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "propertyNameHash", + "type": "bytes32" + } + ], + "name": "getIdentityPropertyByHash", + "outputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "getIdentityPropertyValueByName", + "outputs": [ + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRootIdentity", + "outputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "parent", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "children", + "type": "bytes32[]" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "internalType": "struct IdentityRegistry.Identity", + "name": "identity", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + } + ], + "name": "listIdentityPropertyHashes", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "hashes", + "type": "bytes32[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "parentIdentityHash", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "registerIdentity", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "name": "setIdentityProperty", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x60806040523480156200001157600080fd5b506040805160808101825260008082528251818152602080820185528084019182528451808601865260048152631c9bdbdd60e21b818301529484019490945233606084015281805290835281516000805160206200169383398151915290815590518051929384936200009892600080516020620016b38339815191529201906200026a565b5060408201516002820190620000af908262000376565b5060609190910151600390910180546001600160a01b0319166001600160a01b03909216919091179055805160408083015190517f3d53136f51ff700c3bd3048163e7b95ffaf4195cb3e8366fbd351df9bd117cfe92916002916200011991849160200162000468565b60408051601f1981840301815290829052620001359162000490565b602060405180830381855afa15801562000153573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190620001789190620004ae565b83604001518460600151604051620001949493929190620004c8565b60405180910390a16040805160808101825260008082528251818152602080820185528084019182528451808601865260048152631c9bdbdd60e21b818301529484019490945233606084015281805290835281516000805160206200169383398151915290815590518051929391926200022292600080516020620016b38339815191529201906200026a565b506040820151600282019062000239908262000376565b5060609190910151600390910180546001600160a01b0319166001600160a01b03909216919091179055506200051c565b828054828255906000526020600020908101928215620002a8579160200282015b82811115620002a85782518255916020019190600101906200028b565b50620002b6929150620002ba565b5090565b5b80821115620002b65760008155600101620002bb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002fc57607f821691505b6020821081036200031d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200037157600081815260208120601f850160051c810160208610156200034c5750805b601f850160051c820191505b818110156200036d5782815560010162000358565b5050505b505050565b81516001600160401b03811115620003925762000392620002d1565b620003aa81620003a38454620002e7565b8462000323565b602080601f831160018114620003e25760008415620003c95750858301515b600019600386901b1c1916600185901b1785556200036d565b600085815260208120601f198616915b828110156200041357888601518255948401946001909101908401620003f2565b5085821015620004325787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60005b838110156200045f57818101518382015260200162000445565b50506000910152565b828152600082516200048281602085016020870162000442565b919091016020019392505050565b60008251620004a481846020870162000442565b9190910192915050565b600060208284031215620004c157600080fd5b5051919050565b8481528360208201526080604082015260008351806080840152620004f58160a085016020880162000442565b6001600160a01b0393909316606083015250601f91909101601f19160160a0019392505050565b611167806200052c6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063665b04d21161005b578063665b04d2146100e157806376e04159146100f45780638b8d314714610109578063a78672121461012957600080fd5b806323ed787c1461008257806339047bb9146100ac578063593a3333146100cc575b600080fd5b610095610090366004610be6565b61013c565b6040516100a3929190610c58565b60405180910390f35b6100bf6100ba366004610c7d565b610303565b6040516100a39190610cd1565b6100df6100da366004610d8e565b610365565b005b6100df6100ef366004610dfb565b610558565b6100fc6107e9565b6040516100a39190610e62565b61011c610117366004610ec5565b610967565b6040516100a39190610f0c565b6100fc610137366004610c7d565b6109ed565b606080600060026000868152602001908152602001600020600085815260200190815260200160002060405180604001604052908160008201805461018090610f1f565b80601f01602080910402602001604051908101604052809291908181526020018280546101ac90610f1f565b80156101f95780601f106101ce576101008083540402835291602001916101f9565b820191906000526020600020905b8154815290600101906020018083116101dc57829003601f168201915b5050505050815260200160018201805461021290610f1f565b80601f016020809104026020016040519081016040528092919081815260200182805461023e90610f1f565b801561028b5780601f106102605761010080835404028352916020019161028b565b820191906000526020600020905b81548152906001019060200180831161026e57829003601f168201915b50505050508152505090506000816000015151116102f05760405162461bcd60e51b815260206004820152601260248201527f50726f7065727479206e6f7420666f756e64000000000000000000000000000060448201526064015b60405180910390fd5b8051602090910151909590945092505050565b60008181526001602090815260409182902080548351818402810184019094528084526060939283018282801561035957602002820191906000526020600020905b815481526020019060010190808311610345575b50505050509050919050565b81516000036103b65760405162461bcd60e51b815260206004820152601460248201527f4e616d652063616e6e6f7420626520656d70747900000000000000000000000060448201526064016102e7565b6000838152602081905260409020600301546001600160a01b0316331461040b5760405162461bcd60e51b81526020600482015260096024820152682337b93134b23232b760b91b60448201526064016102e7565b60006002836040516020016104209190610f59565b60408051601f198184030181529082905261043a91610f59565b602060405180830381855afa158015610457573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061047a9190610f75565b600085815260026020908152604080832084845290915290208054919250906104a290610f1f565b90506000036104f057600084815260026020908152604080832084845290915290206104ce8482610fdd565b5060008481526001602081815260408320805492830181558352909120018190555b600084815260026020908152604080832084845290915290206001016105168382610fdd565b507f1399563bb1c8d7dfc7c4043f42271383bca68e140e5323ec27adbb6907d4d4c984848460405161054a9392919061109d565b60405180910390a150505050565b81516000036105a95760405162461bcd60e51b815260206004820152601460248201527f4e616d652063616e6e6f7420626520656d70747900000000000000000000000060448201526064016102e7565b6000838152602081905260409020600301546001600160a01b031633146105fe5760405162461bcd60e51b81526020600482015260096024820152682337b93134b23232b760b91b60448201526064016102e7565b6000600284846040516020016106159291906110d2565b60408051601f198184030181529082905261062f91610f59565b602060405180830381855afa15801561064c573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061066f9190610f75565b600081815260208190526040902060020180549192509061068f90610f1f565b1590506106de5760405162461bcd60e51b815260206004820152601260248201527f4e616d6520616c72656164792074616b656e000000000000000000000000000060448201526064016102e7565b6040805160808101825285815281516000808252602080830185528084019283528385018890526001600160a01b03871660608501528582528181529390208251815590518051929391926107399260018501920190610b86565b506040820151600282019061074e9082610fdd565b5060609190910151600390910180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0390921691909117905560008481526020818152604080832060019081018054918201815584529190922001829055517f3d53136f51ff700c3bd3048163e7b95ffaf4195cb3e8366fbd351df9bd117cfe9061054a9086908490879087906110f8565b6040805160808101825260008082526060602083018190529282018390529181019190915260008080526020908152604080516080810182527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5805482527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb68054845181870281018701909552808552929491938583019390928301828280156108b257602002820191906000526020600020905b81548152602001906001019080831161089e575b505050505081526020016002820180546108cb90610f1f565b80601f01602080910402602001604051908101604052809291908181526020018280546108f790610f1f565b80156109445780601f1061091957610100808354040283529160200191610944565b820191906000526020600020905b81548152906001019060200180831161092757829003601f168201915b5050509183525050600391909101546001600160a01b0316602090910152919050565b6060600060028360405160200161097e9190610f59565b60408051601f198184030181529082905261099891610f59565b602060405180830381855afa1580156109b5573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906109d89190610f75565b90506109e4848261013c565b95945050505050565b604080516080810182526000808252606060208301819052928201839052918101919091526000828152602081815260409182902082516080810184528154815260018201805485518186028101860190965280865291949293858101939290830182828015610a7c57602002820191906000526020600020905b815481526020019060010190808311610a68575b50505050508152602001600282018054610a9590610f1f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac190610f1f565b8015610b0e5780601f10610ae357610100808354040283529160200191610b0e565b820191906000526020600020905b815481529060010190602001808311610af157829003601f168201915b5050509183525050600391909101546001600160a01b0316602090910152604081015151909150610b815760405162461bcd60e51b815260206004820152601260248201527f4964656e74697479206e6f7420666f756e64000000000000000000000000000060448201526064016102e7565b919050565b828054828255906000526020600020908101928215610bc1579160200282015b82811115610bc1578251825591602001919060010190610ba6565b50610bcd929150610bd1565b5090565b5b80821115610bcd5760008155600101610bd2565b60008060408385031215610bf957600080fd5b50508035926020909101359150565b60005b83811015610c23578181015183820152602001610c0b565b50506000910152565b60008151808452610c44816020860160208601610c08565b601f01601f19169290920160200192915050565b604081526000610c6b6040830185610c2c565b82810360208401526109e48185610c2c565b600060208284031215610c8f57600080fd5b5035919050565b600081518084526020808501945080840160005b83811015610cc657815187529582019590820190600101610caa565b509495945050505050565b602081526000610ce46020830184610c96565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610d1257600080fd5b813567ffffffffffffffff80821115610d2d57610d2d610ceb565b604051601f8301601f19908116603f01168101908282118183101715610d5557610d55610ceb565b81604052838152866020858801011115610d6e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215610da357600080fd5b83359250602084013567ffffffffffffffff80821115610dc257600080fd5b610dce87838801610d01565b93506040860135915080821115610de457600080fd5b50610df186828701610d01565b9150509250925092565b600080600060608486031215610e1057600080fd5b83359250602084013567ffffffffffffffff811115610e2e57600080fd5b610e3a86828701610d01565b92505060408401356001600160a01b0381168114610e5757600080fd5b809150509250925092565b60208152815160208201526000602083015160806040840152610e8860a0840182610c96565b90506040840151601f19848303016060850152610ea58282610c2c565b9150506001600160a01b0360608501511660808401528091505092915050565b60008060408385031215610ed857600080fd5b82359150602083013567ffffffffffffffff811115610ef657600080fd5b610f0285828601610d01565b9150509250929050565b602081526000610ce46020830184610c2c565b600181811c90821680610f3357607f821691505b602082108103610f5357634e487b7160e01b600052602260045260246000fd5b50919050565b60008251610f6b818460208701610c08565b9190910192915050565b600060208284031215610f8757600080fd5b5051919050565b601f821115610fd857600081815260208120601f850160051c81016020861015610fb55750805b601f850160051c820191505b81811015610fd457828155600101610fc1565b5050505b505050565b815167ffffffffffffffff811115610ff757610ff7610ceb565b61100b816110058454610f1f565b84610f8e565b602080601f83116001811461104057600084156110285750858301515b600019600386901b1c1916600185901b178555610fd4565b600085815260208120601f198616915b8281101561106f57888601518255948401946001909101908401611050565b508582101561108d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8381526060602082015260006110b66060830185610c2c565b82810360408401526110c88185610c2c565b9695505050505050565b828152600082516110ea816020850160208701610c08565b919091016020019392505050565b8481528360208201526080604082015260006111176080830185610c2c565b90506001600160a01b03831660608301529594505050505056fea2646970667358221220eb464c31c84fd423b157a3a5f88321adc30ce938fbdcaf4d9c1c4546ce0d532a64736f6c63430008140033ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb6 + from: registry.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-factory +spec: + abiJSON: |- + [ + { + "inputs": [], + "name": "ERC1167FailedCreateClone", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "instance", + "type": "address" + }, + { + "internalType": "bytes", + "name": "config", + "type": "bytes" + } + ], + "name": "PaladinRegisterSmartContract_V0", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "zetoToken", + "type": "address" + } + ], + "name": "ZetoTokenDeployed", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "transactionId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deploy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + } + ], + "name": "deployZetoFungibleToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + } + ], + "name": "deployZetoNonFungibleToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "internalType": "address", + "name": "depositVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "withdrawVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "verifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchWithdrawVerifier", + "type": "address" + } + ], + "internalType": "struct ZetoTokenFactory.ImplementationInfo", + "name": "implementation", + "type": "tuple" + } + ], + "name": "registerImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x608060405234801561001057600080fd5b50338061003757604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61004081610046565b50610096565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610e26806100a56000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063c100c69d1161005b578063c100c69d146100cc578063d7c567d6146100df578063e83b3f66146100f2578063f2fde38b1461010557600080fd5b8063157d4e2114610082578063715018a6146100b15780638da5cb5b146100bb575b600080fd5b610095610090366004610bbf565b610118565b6040516001600160a01b03909116815260200160405180910390f35b6100b961032a565b005b6000546001600160a01b0316610095565b6100b96100da366004610c0d565b61033e565b6100956100ed366004610bbf565b610395565b6100b9610100366004610c9f565b61076a565b6100b9610113366004610d62565b61092e565b60008060018460405161012b9190610da1565b908152604080516020928190038301812060c08201835280546001600160a01b03908116808452600183015482169584019590955260028201548116938301939093526003810154831660608301526004810154831660808301526005015490911660a082015291506101f45760405162461bcd60e51b815260206004820152602660248201527f466163746f72793a206661696c656420746f2066696e6420696d706c656d656e6044820152653a30ba34b7b760d11b60648201526084015b60405180910390fd5b60006102038260000151610985565b90506001600160a01b03811661026b5760405162461bcd60e51b815260206004820152602760248201527f466163746f72793a206661696c656420746f20636c6f6e6520696d706c656d65604482015266373a30ba34b7b760c91b60648201526084016101eb565b60608201516040517f485cc9550000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015291821660248201529082169063485cc955906044015b600060405180830381600087803b1580156102d657600080fd5b505af11580156102ea573d6000803e3d6000fd5b50506040516001600160a01b03841692507f61a122822c33eb587240ac03c263df8e525c975793c9d3118d54888abdb036279150600090a2949350505050565b610332610a10565b61033c6000610a56565b565b600061034a8484610395565b9050806001600160a01b0316857fd77f43af9eba6f7c0ea72f4bad6bc58c3bd49e2cb299e128c91293b7ebc17f43846040516103869190610dbd565b60405180910390a35050505050565b6000806001846040516103a89190610da1565b908152604080516020928190038301812060c08201835280546001600160a01b03908116808452600183015482169584019590955260028201548116938301939093526003810154831660608301526004810154831660808301526005015490911660a0820152915061046c5760405162461bcd60e51b815260206004820152602660248201527f466163746f72793a206661696c656420746f2066696e6420696d706c656d656e6044820152653a30ba34b7b760d11b60648201526084016101eb565b60208101516001600160a01b03166104ec5760405162461bcd60e51b815260206004820152602c60248201527f466163746f72793a206465706f7369745665726966696572206164647265737360448201527f206973207265717569726564000000000000000000000000000000000000000060648201526084016101eb565b60408101516001600160a01b031661056c5760405162461bcd60e51b815260206004820152602d60248201527f466163746f72793a20776974686472617756657269666965722061646472657360448201527f732069732072657175697265640000000000000000000000000000000000000060648201526084016101eb565b60808101516001600160a01b03166105ec5760405162461bcd60e51b815260206004820152602a60248201527f466163746f72793a20626174636856657269666965722061646472657373206960448201527f732072657175697265640000000000000000000000000000000000000000000060648201526084016101eb565b60a08101516001600160a01b031661066c5760405162461bcd60e51b815260206004820152603260248201527f466163746f72793a20626174636857697468647261775665726966696572206160448201527f646472657373206973207265717569726564000000000000000000000000000060648201526084016101eb565b600061067b8260000151610985565b90506001600160a01b0381166106e35760405162461bcd60e51b815260206004820152602760248201527f466163746f72793a206661696c656420746f20636c6f6e6520696d706c656d65604482015266373a30ba34b7b760c91b60648201526084016101eb565b60608201516020830151604080850151608086015160a087015192517fcc2a9a5b0000000000000000000000000000000000000000000000000000000081526001600160a01b038a8116600483015295861660248201529385166044850152908416606484015283166084830152821660a48201529082169063cc2a9a5b9060c4016102bc565b610772610a10565b80516001600160a01b03166107ef5760405162461bcd60e51b815260206004820152602b60248201527f466163746f72793a20696d706c656d656e746174696f6e20616464726573732060448201527f697320726571756972656400000000000000000000000000000000000000000060648201526084016101eb565b60608101516001600160a01b031661086f5760405162461bcd60e51b815260206004820152602560248201527f466163746f72793a20766572696669657220616464726573732069732072657160448201527f756972656400000000000000000000000000000000000000000000000000000060648201526084016101eb565b806001836040516108809190610da1565b90815260408051602092819003830190208351815473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03928316178355938501516001830180548616918316919091179055918401516002820180548516918416919091179055606084015160038201805485169184169190911790556080840151600482018054851691841691909117905560a0909301516005909301805490921692169190911790555050565b610936610a10565b6001600160a01b038116610979576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024016101eb565b61098281610a56565b50565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116610a0b576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000546001600160a01b0316331461033c576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016101eb565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610b0557610b05610ab3565b60405290565b600067ffffffffffffffff80841115610b2657610b26610ab3565b604051601f8501601f19908116603f01168101908282118183101715610b4e57610b4e610ab3565b81604052809350858152868686011115610b6757600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112610b9257600080fd5b610ba183833560208501610b0b565b9392505050565b80356001600160a01b0381168114610a0b57600080fd5b60008060408385031215610bd257600080fd5b823567ffffffffffffffff811115610be957600080fd5b610bf585828601610b81565b925050610c0460208401610ba8565b90509250929050565b60008060008060808587031215610c2357600080fd5b84359350602085013567ffffffffffffffff80821115610c4257600080fd5b610c4e88838901610b81565b9450610c5c60408801610ba8565b93506060870135915080821115610c7257600080fd5b508501601f81018713610c8457600080fd5b610c9387823560208401610b0b565b91505092959194509250565b60008082840360e0811215610cb357600080fd5b833567ffffffffffffffff811115610cca57600080fd5b610cd686828701610b81565b93505060c0601f1982011215610ceb57600080fd5b50610cf4610ae2565b610d0060208501610ba8565b8152610d0e60408501610ba8565b6020820152610d1f60608501610ba8565b6040820152610d3060808501610ba8565b6060820152610d4160a08501610ba8565b6080820152610d5260c08501610ba8565b60a0820152809150509250929050565b600060208284031215610d7457600080fd5b610ba182610ba8565b60005b83811015610d98578181015183820152602001610d80565b50506000910152565b60008251610db3818460208701610d7d565b9190910192915050565b6020815260008251806020840152610ddc816040850160208701610d7d565b601f01601f1916919091016040019291505056fea26469706673582212202a3bd3ee29b85c9d651b5b98025cc58d24c4240352a45a6e6d48528e9d431a5064736f6c63430008140033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-check-hashes-value +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2]", + "name": "_pubSignals", + "type": "uint256[2]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b5061063b8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004a60048036038101906100459190610566565b610060565b60405161005791906105ea565b60405180910390f35b60006104dc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f0c24983138eee0db0ec113bb8abc3010600b70c710b572f6e656acebe38874c481527ee6496758069ae75ab5842ba40e67e3f8f87f837272397842739abae350d8a660208201526101a860008801357f1e087a4acb54d6e8f9050fc6775e03bfe48d50f4763c1fdf96d0f7cdb77c30bf7f11c4233295814bf04c3c2c5e31d01f664d56cfe58c48660501cd143a6d6335708461009b565b6101f860208801357f2349d935afdffe08b9aa3ce71e9ccc8ae440c45b06ea0d31b40c30635ddc7c8d7f14ba9f76b09885cfe773cba1eae07bf6879835f069af1b383a8ad8c5bb2bf48e8461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526104f46000840135610067565b6105016020840135610067565b61050e818486888a610106565b8060005260206000f35b600080fd5b600080fd5b60008190508260206002028201111561053e5761053d61051d565b5b92915050565b6000819050826040600202820111156105605761055f61051d565b5b92915050565b600080600080610140858703121561058157610580610518565b5b600061058f87828801610522565b94505060406105a087828801610544565b93505060c06105b187828801610522565b9250506101006105c387828801610522565b91505092959194509250565b60008115159050919050565b6105e4816105cf565b82525050565b60006020820190506105ff60008301846105db565b9291505056fea264697066735822122023411ad636e67b43ace4cdf3ed84efdb89161d0af62b19ab5a9a6d42fad4227564736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-check-inputs-outputs +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[4]", + "name": "_pubSignals", + "type": "uint256[4]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b506107188061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635fe8c13b14610030575b600080fd5b61004a60048036038101906100459190610643565b610060565b60405161005791906106c7565b60405180910390f35b600061057d565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f21d87b71c29696959843a6c9aa30ca3942b98f90164fa9f739261f1669bf44e581527f13601462636f13db8925872b0ecedf9148ab5583cbaeb1f7ee4e2fed0a91dbfe60208201526101a960008801357f2516e0cac0a658b9d263781189097ed8df46ac2be936479823a96b54983acb697f1a95ccedffe091d0fe0dc3b04dc47f31cda255bf44dfe08d38b3f9e536a73de18461009b565b6101f960208801357f1cf86ead3dea91f289c13d15168df8dec5be45cfffdee6d966bf21934d04587e7f211a7916e42ec241fa365f578f5c6ebcf7e5034f1b0abff10cb258c24240c2458461009b565b61024960408801357f1b3d82dac35e07cff0e3fb8d4b775567912747b5af3bb9bc2708732f04150a8b7f263bceb993cd691c47791332d8ae496ea88ecb50317651fe310d27a38c5fb82a8461009b565b61029960608801357f013c6bc7fd5fd0db0e50624414af03a7de16702e7e493881c631d9228322a04f7f246349cc34ca45d467709c4a7ee512d917b9ac629922c7f442a047377e490f1a8461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526105956000840135610067565b6105a26020840135610067565b6105af6040840135610067565b6105bc6060840135610067565b6105c9818486888a610106565b8060005260206000f35b600080fd5b600080fd5b6000819050826020600202820111156105f9576105f86105d8565b5b92915050565b60008190508260406002028201111561061b5761061a6105d8565b5b92915050565b60008190508260206004028201111561063d5761063c6105d8565b5b92915050565b600080600080610180858703121561065e5761065d6105d3565b5b600061066c878288016105dd565b945050604061067d878288016105ff565b93505060c061068e878288016105dd565b9250506101006106a087828801610621565b91505092959194509250565b60008115159050919050565b6106c1816106ac565b82525050565b60006020820190506106dc60008301846106b8565b9291505056fea2646970667358221220cdc32fed491d5934beaecba037a1585f3392a33fcfa7ac323f98b2f0d4d175a464736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-check-inputs-outputs-batch +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[12]", + "name": "_pubSignals", + "type": "uint256[12]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b50610a088061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80638cbac0fa14610030575b600080fd5b61004a60048036038101906100459190610933565b610060565b60405161005791906109b7565b60405180910390f35b6000610801565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f0b180906f2977a3e4845ae48586ffc1de210eda17fe2b41c55e2bf2954ecd10781527f0dd4fb13441a3aa78b54ad0e6357490288bd71f3a25fb7d500cd132a1431b3be60208201526101a960008801357f18486c8cd1e8c082e50b97ad632e9e91e01ff6b8c186c923910245c84ff8b2157f204fd64bd0f9cbc18072b9cd8b8f79bbbde5ce00709f4f42371a42bfe2047b338461009b565b6101f960208801357f082cfc99548fdf6f5a31304a992d3bb07c82c01e297694a196fb0bdfa2c1258f7f23643f9caa08371372722a50998d2cd44c9581ae32dad4e8898cc64f2de428928461009b565b61024960408801357f1c2e5a56f1e5a3fd07a808775ed5e6331c66950e1f00c8f54256ec4d381684e37f184581fcd9617281243afa427fa5fc3d543aed9d560ddd2ba75bf7cad4029df68461009b565b61029960608801357f07451f8c545ef717663568a740c8e971167a6723707e9d8f69316d0c726675887f2bf0e44121013675027fcfaf23ada203d1e400f0d1294797685aa88c59456f6a8461009b565b6102e960808801357f12a205a85b89a25d0942b4040a554875edddc666449a1927110338ed114a8ed87f1697089df17fd6b4fb65bbcbf63eef418015146a3549cad75d576437843caa278461009b565b61033960a08801357f2ccc6ea9c908187172384e9e77ea521647f9894868d660f5526430e9fa07d67c7f2cd96cdb1a516e14f16b319bc0ec5f0fde320d398239d7a57d0d416a96ba96268461009b565b61038960c08801357f1ae6142f522708571a00e8dd93cdd4b7ccfb1aa564616bfe37dd0ed5fe640a9c7f2242c5825b3b23cd05bd60da6f21beaf360af9c859a1d1714d655aed1379bdbb8461009b565b6103d960e08801357f29baaab3210320a153d5eb261c4037ddda2858b70e98de8e1f141056f0f94ce27f1db96777cfcd4ac714f617179b217a142d95136d86140c0a5f0e61a09b760d118461009b565b61042a6101008801357f0d41e7c42ddba4f9cc174b8129e3ed8e5b0d2a45fc90c863f9f0e5b083f8d5857f1da1289124183048c2f4c72ffa29e66f1b88e39e06117e2b462475db305b0a048461009b565b61047b6101208801357f1173c9bc4fbcb72a28c499627f6683b90c47a922cba70b35d355ff8bc45337547f17c5b5b03757d2e8d08ff1c3a1fabd12c05ce3b4b82af1a50cc5763c0542a3f08461009b565b6104cc6101408801357f23d0888a72db4e65b3083a8f69c9de8dee983fb15ed7e01df2db1810871647187f03b213b1ad999552a55de53b651d5ed029b7eff7e62dc85befd6dcb0dd0259e88461009b565b61051d6101608801357f03cfb5c7d335db1c4325222e60569a3b3087ae26681ec105c3cf3f06d6fe76c37f1d97394c144f85a96a6dc10aebdc0516170fa694757841ca6e8f679d7bb3d3778461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526108196000840135610067565b6108266020840135610067565b6108336040840135610067565b6108406060840135610067565b61084d6080840135610067565b61085a60a0840135610067565b61086760c0840135610067565b61087460e0840135610067565b610882610100840135610067565b610890610120840135610067565b61089e610140840135610067565b6108ac610160840135610067565b6108b9818486888a610106565b8060005260206000f35b600080fd5b600080fd5b6000819050826020600202820111156108e9576108e86108c8565b5b92915050565b60008190508260406002028201111561090b5761090a6108c8565b5b92915050565b6000819050826020600c028201111561092d5761092c6108c8565b5b92915050565b600080600080610280858703121561094e5761094d6108c3565b5b600061095c878288016108cd565b945050604061096d878288016108ef565b93505060c061097e878288016108cd565b92505061010061099087828801610911565b91505092959194509250565b60008115159050919050565b6109b18161099c565b82525050565b60006020820190506109cc60008301846109a8565b9291505056fea264697066735822122066f47e7501a29500f95a5edda5b501ae6121bd64945c6d682bc7d600c4b1214264736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[4]", + "name": "_pubSignals", + "type": "uint256[4]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b506107188061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635fe8c13b14610030575b600080fd5b61004a60048036038101906100459190610643565b610060565b60405161005791906106c7565b60405180910390f35b600061057d565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f0b6ae4f6ad012c9e297620ff57d6dc5c5825cd24f093162808fe7bb7ed24aa4581527f1b50a4264ee5154c1ecbe42b5e19c94c917a2a0d266fc6a16d6118254c9cf0cb60208201526101a960008801357f11758b69415af177026c417556c0c8eb82d797b4dc1f88d54eea76255a16ddfb7f2cb574ea54359b225bb4bf58aa21b90f9bd5fa20f0cce85a95160c7a2ea26a198461009b565b6101f960208801357f01e5cac7ec5adb519bb42ea50e44f3ed4e8ecf9a0af0a838b746095d551c1bc37f03534e0ba318729692342b12a5be6b98ea65aad0ae6b84f67848efa98366734c8461009b565b61024960408801357f19058cf5d52bd8cff8a8a49e01b1f3e0295023a49023a8424ea14982cfbbc6b97f0c2531bef5dcdfe08e08f9f6139b902720d6d9dcd8b668cca70d64db1ac8f7ef8461009b565b61029960608801357f120ca9db9dcbdfd1ec4df783d8d17b0450f3ccc4814b0323332971bb0ee2041f7f2f6340eff31768060b3691c9457dba1290ca0acb90fd4966ba5146cdb4078c898461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526105956000840135610067565b6105a26020840135610067565b6105af6040840135610067565b6105bc6060840135610067565b6105c9818486888a610106565b8060005260206000f35b600080fd5b600080fd5b6000819050826020600202820111156105f9576105f86105d8565b5b92915050565b60008190508260406002028201111561061b5761061a6105d8565b5b92915050565b60008190508260206004028201111561063d5761063c6105d8565b5b92915050565b600080600080610180858703121561065e5761065d6105d3565b5b600061066c878288016105dd565b945050604061067d878288016105ff565b93505060c061068e878288016105dd565b9250506101006106a087828801610621565b91505092959194509250565b60008115159050919050565b6106c1816106ac565b82525050565b60006020820190506106dc60008301846106b8565b9291505056fea264697066735822122097ea2ff9caa51e7aa42a0c11b8b0aef83808390cb1b2ffa2205cfcc18087833764736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon-batch +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[20]", + "name": "_pubSignals", + "type": "uint256[20]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b50610cff8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e56ac42f14610030575b600080fd5b61004a60048036038101906100459190610c2a565b610060565b6040516100579190610cae565b60405180910390f35b6000610a88565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f0cf5b651aba78dbf4b5080401bdd14921eee786fcd9b73072e22f6dd3e4deb3581527f202dce62b80c449fb5e96f11cdd8715eebebfd264fc9e95b265d52d0b7209f6560208201526101a960008801357f273dc9c59fd3bb1089bbffc10f77457f75ffc487caa3eebb7848ed3c0e8b5ab87f0a7a977443fedfbbb2953ec4009b3dac0e172bf85304baf922076a4d574029e38461009b565b6101f960208801357f2656adf839086ed6af3d74f180fd4789d182bf07569a73738c222b78d54370227f1efb500a74ab568b4a98ac16bf3b3761b4e8534c51461485bf7b38be62ae19528461009b565b61024960408801357f24f12b5fa467b7a2bb20909a8c9990ec7fc6a091b97193bd9bae77cfc93229197f241deb51deaf91e0f850dff914d0a82329503baaf1c4ecb736852ced5eff39998461009b565b61029960608801357f2de0429b7ba1820951e2da83a820b61bfec21ddb01058d17f73a0439326204637f02fc99fe286781341eb5f2c0e7d4a7406ebe789568ad87de0992b9053f5d11868461009b565b6102e960808801357f24809f80a210ab9967db3e4384efd2f89248f3cf7eb17ff5d7e70b6f50f685427f28e7536a6b1d07f39ecc3a058aed854b3a032bb9130db6af3213a1ba5f39240d8461009b565b61033860a08801357f167a5b9403c41428e44b2ad458c7d357c2294acafe52aaf98512f8e6b95f92a07ef1e83b20fa36d098d53115833edec7fcf7a30ec034bcf199d8d73a27a5c9048461009b565b61038860c08801357f0620593bfa22a21e676d39b142b5175663eed16a70d392ebaed0904887dccde07f2fee9fcd75d38280563b33df4fa79bca18c32c3786cde1a4f65a68c62bfae33c8461009b565b6103d860e08801357f23018752082fc90d442c0a1d588479973ddb37ca001ca0b923a0ec310478c0057f038384aec2adbeaf003f990e1cb48b7ccf45b83072a16f171935700b9298f2f28461009b565b6104296101008801357f0f6be7a2374ef7b6344907c28fa1e36f53546a0a4cc403289e36f676687e54b77f2fd6fef6f41267d986f45ffc5375569623ed82e05981dd462c9e432b1e974ba88461009b565b61047a6101208801357f232f70630d0cfd4f68556216c61ca0780967c0adfcc880cb8a4fb3a788cb72a97f226a951b90ff41e7b1d116eb7b51ac4d88cc20c2205f89ba2198af0cef817c148461009b565b6104cb6101408801357f24a5d5f894ecb81fa82d1c950efc75cf9ebe99b0d3cf8e332fe2749dd6375bfc7f139ccd0a40d9c2f15954959ffc1743b9cac0390d84c11f28036f708c80eda0ca8461009b565b61051c6101608801357f1727d9972654818b9ba639183ebdf4323a3cf7db52e54fb7d6f24ebe51a40ca57f0983340c98c05717130d736ede455a57795cc81361795c1ebb3823c627a6521f8461009b565b61056d6101808801357f20763110bed2807eb8c23db521e0d3816a782ee0fffaebac6c5387f94ac8b7807f17654a0888278f866ccb6f7f7121115d67507b5bef7067e5e9e0f79ca993fc308461009b565b6105be6101a08801357f238f76c5be04b81d3bd6cc52d0c8b47cc0bf2fe43cfe0698d9007562079e3c657f186280b7e02744e852cafe00f56c4ff07fcaceda4d6f905bb85cd5c291790d8a8461009b565b61060f6101c08801357f024583e124b8ccb95d2a50595ea748d6315a7badba5729cd24c576a48811c4af7f0280ae4459030043e7a1d21f934baa78c9a80e017486ffbc9aedbb1b85babf3b8461009b565b6106606101e08801357f1653dbf00f3eeae618919cd034959a2531a576a5263e118599a0beba64eea3ac7f1e739c389343dc522b71e8a79b0f0ecbbeba620a3f03640ec3613cfd789887ed8461009b565b6106b16102008801357f1f6369c98fe5d4fdc3c22a5e3659ed943e9f0f04fecbf0bc7549aebadd7b97b17f100de03b141575634b04eeea9159b1b5f4f4d0e06407464f5a6483c834c7610b8461009b565b6107026102208801357f096cec0b41e78f24b76ddac60e44771d4da8a4c16270b8b32fa1c203b9c847a07f2526e3e52e2a8be73b5e2e3c2c19cb3693f043827d7603959c9a89eaf8ce56f18461009b565b6107536102408801357f0db8fdb19030c641cb2cabcee1123acf0c4b11409507bb300082ef947d1c5b3e7f015103ff9fca506fcfa858781b5dc3b17a4e5ec85854dc460342879c1752bbf28461009b565b6107a46102608801357f2c04009719c4c6c336cac6d8e1411b7d6b26a27840a035a1ec9dbcca66196f6b7f19a1907cf1e6422ba718a571bd43e0a26a33d5ade2b9018e9ee04559002eb9228461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b6040516103808101604052610aa06000840135610067565b610aad6020840135610067565b610aba6040840135610067565b610ac76060840135610067565b610ad46080840135610067565b610ae160a0840135610067565b610aee60c0840135610067565b610afb60e0840135610067565b610b09610100840135610067565b610b17610120840135610067565b610b25610140840135610067565b610b33610160840135610067565b610b41610180840135610067565b610b4f6101a0840135610067565b610b5d6101c0840135610067565b610b6b6101e0840135610067565b610b79610200840135610067565b610b87610220840135610067565b610b95610240840135610067565b610ba3610260840135610067565b610bb0818486888a610106565b8060005260206000f35b600080fd5b600080fd5b600081905082602060020282011115610be057610bdf610bbf565b5b92915050565b600081905082604060020282011115610c0257610c01610bbf565b5b92915050565b600081905082602060140282011115610c2457610c23610bbf565b5b92915050565b6000806000806103808587031215610c4557610c44610bba565b5b6000610c5387828801610bc4565b9450506040610c6487828801610be6565b93505060c0610c7587828801610bc4565b925050610100610c8787828801610c08565b91505092959194509250565b60008115159050919050565b610ca881610c93565b82525050565b6000602082019050610cc36000830184610c9f565b9291505056fea26469706673582212208038095e100705f90aab36a7bc1376edd9dd3423a15d3afca4948e7d34a19c0364736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon-enc +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[15]", + "name": "_pubSignals", + "type": "uint256[15]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b50610b258061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f054a9a314610030575b600080fd5b61004a60048036038101906100459190610a50565b610060565b6040516100579190610ad4565b60405180910390f35b60006108f4565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f1188f69e1d4712623d099fd31afe29e584aecb81e4ee66f589c3b2a37135d1e581527f0d22f30f9395948453687ded507e795b157c91484a17dccc111b9f6d9f58684160208201526101a960008801357f2a1a133cb3c870a8e0f06eb6251b59d7dd24ce86a982d5995b4192258aaf1ae77f256d0e164e66a2f29166533f07ba52c58dff89594933dbc826f123619efeb9d58461009b565b6101f960208801357f1b8c9be710e503f97d312cc573f0c93d17545b1932f5dd4e12d5269e115ac6307f1eb7a2a98ff25e975d6f716437a9a04ce379a7f6e8aa5b8a856311350a27c7f68461009b565b61024960408801357f0c6575bc22bd707ebf0338d05b9c99f6a7673cd3f28150b7c61629b42cf02ec67f2f69dc4d82e0faead7ac3974c15884f5255a893262b975cbbb9647e5485afe9a8461009b565b61029960608801357f14555f14b26a4621b991d21e95873e652c475d917ebd38abc8fa65812851342e7f0622cc00ee122e58e0471928e7a0db5e48bc9d0f6986011f8b77e5f45121891d8461009b565b6102e960808801357f0a56fff8d8a8176fa7e92af19380086ef6fc33cd4fd571e8c6678608e40a32657f2ce1e1818e48da02f1913ae94ea270495d508198665de79a80e737abbb8208be8461009b565b61033960a08801357f0fec244726845819a126a02721288eeebee7e0fff862ff9802902a76edd6a7e37f221338574bb956150ba3ce181a9d9f2d9809a8617ac18caeb6eb52f98c4208998461009b565b61038960c08801357f1159f5f19fa4cd1177b6df6c66e921bace3bc091c52496955e493764b9e18c517f11bdcf2fa00bcf4aad428641991b916d172bdf84ae29bf71b61a97e9b29809e28461009b565b6103d960e08801357f0cde8c3fe634d04ef6f3e9473d81e84d351ab1c71cda1137e26d26bf00f55d567f1c8ce81012eee68771d6e54d1c7da3f71dd621158a648f2d03ec18ac1de5757f8461009b565b61042a6101008801357f19c1a7b5bc53adcc2510a0ace41d2e2734e235ba840972c5bc3aefa4aefd4ae87f1f6ae3430edd8acedd655f9e0fde4e13a414ffee386bfb0c2f4d82e775865a3d8461009b565b61047b6101208801357f01862f69f4a05091582a091a4eaeab10dedaeab09a7bb5b8096abaae18323acb7f0d1bf58357efd14b176e14013fd3a2bd1fcb5bcc3314ac7fcfc87ca815e864908461009b565b6104cc6101408801357f23c15e90730366912ddc7e7e12acbf7520a832660d9aedc9e9b7ed6498a662347f0afbf0a94f65db8fdd0038030d444a318ce4de1f62f549db9181713d92426da88461009b565b61051d6101608801357f14622f632e117140cfd04d52c1fd92f572e00cdcab608237da3bb41edf64e09f7f20a178d48deb837f4c50a491752498e32a03cd4fa41f62a8d6868fcd49f38b918461009b565b61056e6101808801357f09a9bc7d4060032ad8a76d55157c263bfc38272779774fd1ebb3e7f0ebe8c9047f15a7b6f3a535c26a238ccbdcf942ebf4f6f9d850e0e1008167032cca8a05a73a8461009b565b6105bf6101a08801357f19a1acade80e95d5e4444a385e3e535c5e1403ef7f0beb78c8d65c2f453e25097f243124dcaa1d2dd51bd44871c64941f37068dbee31346013c4b837a71d340a778461009b565b6106106101c08801357f1ce42a933d793eec89a5d7e92dbe316ae9365bc5c6e9ee6caf5718ce31653ade7f02d678025d7b9331d1400761353be4450f6e0654480d0e581478c0a75016a8d28461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b604051610380810160405261090c6000840135610067565b6109196020840135610067565b6109266040840135610067565b6109336060840135610067565b6109406080840135610067565b61094d60a0840135610067565b61095a60c0840135610067565b61096760e0840135610067565b610975610100840135610067565b610983610120840135610067565b610991610140840135610067565b61099f610160840135610067565b6109ad610180840135610067565b6109bb6101a0840135610067565b6109c96101c0840135610067565b6109d6818486888a610106565b8060005260206000f35b600080fd5b600080fd5b600081905082602060020282011115610a0657610a056109e5565b5b92915050565b600081905082604060020282011115610a2857610a276109e5565b5b92915050565b6000819050826020600f0282011115610a4a57610a496109e5565b5b92915050565b6000806000806102e08587031215610a6b57610a6a6109e0565b5b6000610a79878288016109ea565b9450506040610a8a87828801610a0c565b93505060c0610a9b878288016109ea565b925050610100610aad87828801610a2e565b91505092959194509250565b60008115159050919050565b610ace81610ab9565b82525050565b6000602082019050610ae96000830184610ac5565b9291505056fea26469706673582212204afcbe5d3f2bf76be7f25602ff882e75b269fa8df42fa783c152420e25b6d11464736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon-enc-batch +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[63]", + "name": "_pubSignals", + "type": "uint256[63]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b50611cf18061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80637d40902614610030575b600080fd5b61004a60048036038101906100459190611c1c565b610060565b6040516100579190611ca0565b60405180910390f35b6000611820565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f26019833a89b9d26746d673e03556cff3f807ee6b9451a4995d2a3f1945dfac481527f075a97b7ad45e62e5106e453827454216224fd5d01f6a2b041e75c4246c09beb60208201526101a960008801357f301a2b3915fee3defff5bb58601da5b8b31bfada68c5519dd02d1430cf80db6e7f1405bc406f7bfb48b455319e0ad299b32a6e51423de268d9dfdcc5a7de0409ef8461009b565b6101f860208801357e762321243e30bfa2e40bc2708008846967d71dc1edbe5d25cd462ab426d6477f04930e7c542f6e957f4ffe23f7cc4eeb94a814c4a67a7b31aae983e50dcf52878461009b565b61024860408801357f159416ac4e54fe83e0ff8aecfc07b4c46b674c763ad27bf0ff64524814841e517f0746740ec9cb549f4934e2cb9d38b34519ecb11464f05bb3c18e7006df9456488461009b565b61029860608801357f10065c64d22bf62ac46a25fc815db988f74378a5597ce284476504a849937a9a7f1c90682c7d0d050bc21e9f81ab596ae2991b6c50956f7a880d6945d6bdb1ea178461009b565b6102e760808801357ec7c4ca4c24cdd4b3e392223699d1bcffc979fcf44f0a26999ed3eb1ebe9f337f05f35e3d73c73a46c4046ac415364cb16c44ea0fadd35a327e1639bcbc9f03288461009b565b61033760a08801357f2d24e9814189dedffbc2695662d7a9f26cf86a67e07e2d603363d9c941c8a23a7f28f23cf0168dc7ff266ab5cc926301ab2846847d311986733708f7e3bd423b988461009b565b61038760c08801357f05528aa0c07a168a006d5236edd0cfd44a098392c3fe6e9f47cf0b2c61fab1fb7f1099cc183a1949185c50305f4e693eea18d106afb2cbc8bd7eaaa5fa7035e9278461009b565b6103d660e08801357e7d113e031b48b51b19804ff1632d07677f81c7d17f20553b5b183a1590a0887f28d6982e1142cc66e67ed4d0d331f5879bfab66f43f072b2809e6a42d4df8a638461009b565b6104276101008801357f10c96f4dc1cc9ac0de2b0f6d1d08dbb51d3ce8ccef408d5457867dfdc85dbd4a7f1d812dc36171fbb3bb04da82e98ef7ed39a9467edbafae82620882933d48fd6f8461009b565b6104786101208801357f280bccaeee2a4f883a96a76aa430af50c46b9911eee5813b0b6f6675dd66bef27f1d592beb747e290303e490bcd2003211d6804b94c583f0d5e41cb0893837c3218461009b565b6104c96101408801357f0b0d1b41e5220ccbad387fe560828288941e1785b04f719907ad85ffd76f125a7f1ea797c78a52a634dec51c239f981c5a95e4b755adc7d4c78b13442d0180bbad8461009b565b61051a6101608801357f2d0bef699121261df37d1ded67cc4b2a2bc3364f57f1bc24365260a12f58e9ed7f235296e80414db08131de5812c999c2d05606eb0bfb639295035823be0f948878461009b565b61056b6101808801357f19c17b2c11383ea9f635d572765781293120f4bf09a6875c82d1fc1d7d942f5f7f2db21794db17a441fb4fcf142cf75313f61b9fed27cce2abd6b0fce318d5bec38461009b565b6105bc6101a08801357f2237a86f6f311a28faf83f04bedadddfe4f85f54ee8bc10fcabb3f808b24bf797f2c9c9cbac5c12d99383bfc7e3c9732669f9c0d119b66a706a79cd80e4f530ed78461009b565b61060d6101c08801357f073c4578a991ef14dcf96ec9a06a2eda259ed4cd84deb36be8a5007464813a6f7f1b48403bea56728b2088a42f81b277697df6d1469ce1768f8c046bbefbbeca538461009b565b61065e6101e08801357f08133336dea7bc4b96ee8225846d22800e42fef6b0bda39bf8ca9d00d778430b7f13241b65ba855c080aa81031f3406e372b5c43ffc534027cc023ec27d42a1c7b8461009b565b6106af6102008801357f1609d76aae945142057564b792c688a29f63202dd5f0e05be031c0b5df10f3697f054861d633ab112666fae3dc3eee6ba4f459ca2e17fdadcfacdc470a2a3269338461009b565b6107006102208801357f22eb9cad8c7f8591f30aea42685d1d9b80d6999f582ba40f4eaa3b54f07d44df7f09a4c4226dad86524ce991111e79d7224f8d9a8cb0756352a45fb81cdce361878461009b565b6107516102408801357f0eb06e80f4ca7c3ac664f22ed0aaf1b4b2bbe9a9fd97a3330e78da955ca163637f28d728ab9f51156bcbf349a9d618c7bba0d494ec32139e09f809ba0ea7724dfc8461009b565b6107a26102608801357f1ece3139b86ebd0a7b8fcdef0fdd5eae5f9721d0636c0359fc6df9d99c950b8c7f15bb5d742bd6bbafe7dc4e5bfe606e6aef782cd728fa969020a209f3dcc1d0888461009b565b6107f36102808801357f1075ea62d6710ac166ef7310dfe5d4044ff475f4a59c9f70ae037d6d69f353967f02a1937d2937163f65bc0c0aeea0fe262d1d555c5d07c39c806699e60890fe3d8461009b565b6108446102a08801357f20a0ebcbc10b4c64848bc6ecb653795805e686a81abaea3350ff6792a54b8d667f1dfafb0f17270a96dca737bacf9e161be3a4754746e7141261b4f5f4fc7b92d38461009b565b6108956102c08801357f05dcad2fd909804e789adc94f1f6b010f800cbe4f86f562b898a28aff2885ad27f0d8849d5d8c8aae68c632d994b2024e6dfc6b2514a257b82d688b351cd1828008461009b565b6108e66102e08801357f1c3a67592dd66d9eb118eb1f59a90ebefeb148b4f442c79c4a7e268ceef92c337f2098f91ae6f792994fe6637f3a9420360726b496ce4e278273459e2199c7011c8461009b565b6109376103008801357f17ba89877e5b5aaf1c0e9e383e2022e9176d963a8fdad93ae6baaaf0e13180c47f03f34c50f32e2f72022493ff23253d75e60349542f87ac5e0afdc0641d4890358461009b565b6109886103208801357f0dbd3e6c9baafedf67fb52281597f36064e6bc08dbb4052cbea05b68464238cb7f211f23fc7a75cda912a14eafdf088ad7d8c6dff31533cc65926eb298b1f87a018461009b565b6109d96103408801357f2973ef4d66b8ae3696080db3c7ba7824a0c91b0ab17a6cdc5f6b6abf59aa120f7f0d07b8ee9cad96537fe452fe037a420ac8345ea987760591aab4d5e7e34c3f168461009b565b610a2a6103608801357f118bbc4a2045fe650c92a45c94952204894d610d21382acba634ba6dd79e720a7f2e7cf71dfdf029222dcd58bb5b51b5767fbcc93ba6df8ab64d2ee7785230f3948461009b565b610a7b6103808801357f04b9d16f008446c23b4b286626bc631e1b1f823d51ba56b7c8196d7dea52ce167f2459227b117377008602c6e3ecf105ddd30b980c76580af7744c73055957a31a8461009b565b610acc6103a08801357f01e74ce56b9eebac857558a8ae2384f5bf4d38110ac0a83ead51d115597b1d437f13b4798dae2cbaa310e4d63fa125452e10867166549d3b31bad4def84e8bcc3b8461009b565b610b1d6103c08801357f2e85d0cb9b53e6bd0612943eeb0477c4b0f4a73856fd2feaac6a7351c5972bde7f2eecd520dd28d5c650d3bc86b3ae0414f368632bc98501fce915d3e470e6c8658461009b565b610b6e6103e08801357f0ad0bf88487912f5acf8825e3491fd52ee9689b6aeb3e48688206dd32453cf9e7f144b5e0217f06ad5452e8e419c12beaea5b1833eb734ec9be9aa7e8da0216a3f8461009b565b610bbf6104008801357f22b9ced3e726839adeef46fcec71cea2fc30e17b4b0ac9f60d18c61b56511ec67f05e1cb855a73f1b0a8c07f48623d885a10fc9bb8674d0f7b1b3ace307ce0bc098461009b565b610c106104208801357f164bee99faf84acac01e2882a731a6e770302fc6f571978bb5f827a3ac73fccb7f0bb70768351be462297ad72038890b61f10ff0f1454d0dcc428a3571294a997b8461009b565b610c616104408801357f0808a7d11215cd8be579641406f2c7417a211083c0e6749e6080aaa5596813a17f1f8e70c452d9815e41f6a054132c9762411ade1c67aeeccf4d247aa4cff9d81c8461009b565b610cb26104608801357f046765b38879ff87f090abaecb5bb0ba6ff8fb1bd3dd27b815fc719b185ab5e87f1eca3dff1a06bbb297c0933198f14309db1d7ced324bd18f2f5b516a7caa6fa88461009b565b610d036104808801357f1b5ee7345d8ec92ba9e611aa2a02eaf120da3f69ef5337e745e8af96c6d2c9957f24e2f425c926b88810a6bf58970de5ac51986431c35168ed3ba16e564b2d61068461009b565b610d546104a08801357f24074f7f7e6cab058584e5f9738a24a1f838e32a86d2434a02e0f2305eb4b2667f0ff7dc9bd66a4b4a697be8e1fe2966e12f8db3406a2364f2d34398b0e915df008461009b565b610da56104c08801357f161f10fb27bf4433c6ca4804e52999f759557dcf922d15b9703cf1c4b6a0a9b87f2cb0c4f607e73da07c25808863ff28cd975a4b11ac9d0ade3ba6ce5a1c900d258461009b565b610df66104e08801357f093614fb40a689278dc53b04fbd430b41f3b5de423d843714a1ec76e12dbdd9f7f135776131bdfefb51f4c0d2554a90f3474d97ad2db01849bcb59f2b95741e5088461009b565b610e476105008801357f258eff86b6426ba5a166416676385d9fbe27354be1f0f646eec7d956fadd8b737f2a66e40f0b9a5082cfa9d7b634c6ae32b812032ac65f99c947dcfcbb0d592f328461009b565b610e986105208801357f0ed6880449ac56099b22a40d1686b51037a6976ce95fbf9e2759eba999aaba0f7f2d972eab8fd7ac5e42bcd8839b2e76c20461011d10fc211d5e31315bd9a617a28461009b565b610ee96105408801357f14d3f13a81726fd562e4000c601924b58d0678aca58e19d590eed4ba051ae4f17f221533f9b3fb2fed4b1625898c32835ccd9aa55fb7fa86ef342016b0db53b0f48461009b565b610f3a6105608801357f0760df8c841480f49146fcf141915abbaf5279f2abb7b85a30d3aecc974479877f164d90ce7f187179f301be3f356b32625683a122ce5b4052c95b247cdb4172de8461009b565b610f8b6105808801357f0cb87fac5328ec3430b48b585465525a0d59017691a49b1e39bd0e18543abd677f21b435397258658cb09bdba814745d5fe1c266f0d44fc06d8372834a3d23ef398461009b565b610fdc6105a08801357f0da8797a1220c9cd64d1041cbbfb9f93ebfb721da7f424b98492121af9952b457f29dbb93f405287772a099139e2a40fd0f973446891bd7b6755477999b6e239088461009b565b61102c6105c08801357e98584f828059a21030602359df4834d2d8909d44b04084ee72e63cf77e18757f1bca1eeafcf2231292c45933179ebae708574747789cc52639c5ab8d6a39a43d8461009b565b61107d6105e08801357f2d3e41a4439c0e473a95ea235c768088123d001077e1535193d65b3791add15b7f067ef42037c0b5c67e1cab07003a2b6e4d11dc366e907babe7a33378bbb10b2d8461009b565b6110ce6106008801357f1024d0c580820bb9497c1b65bf69dea4b34572a45cba8b2d9c5052da4b2816007f0fcfe8e284a48f6ba1131f41bdac1a797279916e4071f6c3d8d24d43bc7ec6a18461009b565b61111f6106208801357f0e52ba18c1784432103ccd7d8be36cccc0166bc83ba23f08542bae0ec4958c7d7f06ef36fdcd18c34a29468150b77a70bf385fa843f49e91d5f67cefa7b1603e598461009b565b6111706106408801357f1c1be4f5caab17c22edfa2ceb56199d8f0043164cebb2ab78f7d4990fd4705bf7f235c4d07f0d1c06e32323d4ad50ce9b81d07efb25e02bb217b3757f55c0d9c348461009b565b6111c16106608801357f1a1cb0e30b7d8c2e775563fa2c2d9ea1a50afa3734c38f38f262ac4a3b650b4e7f20cef7396b39ae6022d793c65905fcc79c6115b2f02cad63bf1b36a2c68202108461009b565b6112126106808801357f1097ae2696c5b13fa197decf5fe984fe4d5faeabb0d4da2377b4d4ac28bf8b967f19d125a9bfc6531dc85c723ca59bf9dfea82789a0b0afd434333c1319986decb8461009b565b6112636106a08801357f129d90b5a3eaa27f1f850600b79cfe480e8babe47bac7bd7967f35f8f60970007f1c8911eaad13a570edfbc3007bb6a981578a68a7b34a3223f39e29a2afce35538461009b565b6112b46106c08801357f13540123d79d8aa7ab7cc8721efb2da31eea8dbb03b67a48035b49460fa88e3a7f251370ce37a9a6ced46bff10fdcc399c0dfb1035121174aff5e2523c7c27f2e78461009b565b6113056106e08801357f1ff7dd20eeb47d8211bd3c6a726d786a8969b256da73ebd747139fb68a8700537f241017f82aba563e87d5c742711dbcd0826d72d48d5178beb702e563091898b08461009b565b6113566107008801357f0bdd4895ecf56f4d68bf664c4d24cd6b334342dba351e3c2b7acce0757f86ac57f0f3306cc598c0bed892327ae4b92640ecb480fad04a9e4083d4ec53449c1d9658461009b565b6113a76107208801357f11d97cec40eb3cf47fc6c552cd999cd441ec8a5b205a0dd0f08a2fe7eeb76dcf7f25e213c74aecb06d90969034083d4935ca05a1c3ee748879fb63d4700cec14718461009b565b6113f86107408801357f06c34b4055b7b0fc13e3d9d3d09cc5dd583a3efe26c1f8210d988450f0fbcc197f10bca771b290dc05e5055611620e39890e621947a57b794b6a962e70dcdaf7dd8461009b565b6114496107608801357f178abc4754361407a350950531881f929d33213ecc5f9fe1203e97cca4703efd7f2d220e28431d50e83f56c77758de2fcd446b0c5de442790d299896e0c578d4bd8461009b565b61149a6107808801357f0df1e31241fe1f2d8ce5730f620c988fe9adc5c4d96386d2fee25abdb6123c5f7f1c5afaa4b03a81a9df6282239bc24ec1eba64241635dde30a96aa35fe2bfd3508461009b565b6114eb6107a08801357f0124532d60a8f0b3319f8630c0aaf0de5265179bb207cd3de9035570b80846ba7f1556d5d02df917973fd6f5a8fc4fc15499799e9af4a710840504f628e52d76428461009b565b61153c6107c08801357f06860f27e7cd66bd351850f284ab3903b52d725991cb25412e2bbf2330cdff717f2f876c623ce5fceb012804742d85d2c0b0c1c25ab5363bc0baa1d3ab76a2d3e08461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526118386000840135610067565b6118456020840135610067565b6118526040840135610067565b61185f6060840135610067565b61186c6080840135610067565b61187960a0840135610067565b61188660c0840135610067565b61189360e0840135610067565b6118a1610100840135610067565b6118af610120840135610067565b6118bd610140840135610067565b6118cb610160840135610067565b6118d9610180840135610067565b6118e76101a0840135610067565b6118f56101c0840135610067565b6119036101e0840135610067565b611911610200840135610067565b61191f610220840135610067565b61192d610240840135610067565b61193b610260840135610067565b611949610280840135610067565b6119576102a0840135610067565b6119656102c0840135610067565b6119736102e0840135610067565b611981610300840135610067565b61198f610320840135610067565b61199d610340840135610067565b6119ab610360840135610067565b6119b9610380840135610067565b6119c76103a0840135610067565b6119d56103c0840135610067565b6119e36103e0840135610067565b6119f1610400840135610067565b6119ff610420840135610067565b611a0d610440840135610067565b611a1b610460840135610067565b611a29610480840135610067565b611a376104a0840135610067565b611a456104c0840135610067565b611a536104e0840135610067565b611a61610500840135610067565b611a6f610520840135610067565b611a7d610540840135610067565b611a8b610560840135610067565b611a99610580840135610067565b611aa76105a0840135610067565b611ab56105c0840135610067565b611ac36105e0840135610067565b611ad1610600840135610067565b611adf610620840135610067565b611aed610640840135610067565b611afb610660840135610067565b611b09610680840135610067565b611b176106a0840135610067565b611b256106c0840135610067565b611b336106e0840135610067565b611b41610700840135610067565b611b4f610720840135610067565b611b5d610740840135610067565b611b6b610760840135610067565b611b79610780840135610067565b611b876107a0840135610067565b611b956107c0840135610067565b611ba2818486888a610106565b8060005260206000f35b600080fd5b600080fd5b600081905082602060020282011115611bd257611bd1611bb1565b5b92915050565b600081905082604060020282011115611bf457611bf3611bb1565b5b92915050565b6000819050826020603f0282011115611c1657611c15611bb1565b5b92915050565b6000806000806108e08587031215611c3757611c36611bac565b5b6000611c4587828801611bb6565b9450506040611c5687828801611bd8565b93505060c0611c6787828801611bb6565b925050610100611c7987828801611bfa565b91505092959194509250565b60008115159050919050565b611c9a81611c85565b82525050565b6000602082019050611cb56000830184611c91565b9291505056fea2646970667358221220273d6f835e88050549abeba2b71afa1d81803271c693ef1772f88496cea03a7564736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon-nullifier +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[7]", + "name": "_pubSignals", + "type": "uint256[7]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b5061082f8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c894e75714610030575b600080fd5b61004a6004803603810190610045919061075a565b610060565b60405161005791906107de565b60405180910390f35b600061066d565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f23e261ff6227d7ced5de8c0cbdd69f97ee73b8aa5950ee95ea7b686957f6589381527f1587eddadf33489d360b501c4f6d23f51e1dc283a5d6617e74ad4676b0bcfb0b60208201526101a960008801357f30090055e59bc613858a4b4092ecb6fe365ee78299bb348b1550874d9d355fee7f0292b62411021303475adbc56e311846a3f0df000a3090b72b72572042e4a3148461009b565b6101f960208801357f2ef6ffb1cf7e5dc1328bb1ff10f6dab3d6a5d6fa65d01b57bdc33f369faa0dec7f02b5c47baf15fbcdc096563e8fa133a547116dff8cbbefbf3e57db7f45cd61d08461009b565b61024960408801357f1789f6480b2c0e5b41cc269b412553f5708349c28e36cb7ec94a4fafcd1396b77f120b8f71622cf2e6a8ab0fe510d570b9d4d7546e24a3ea5e2ec6c48526847db58461009b565b61029960608801357f2bf13168b64f9444372ff2ad2e13fea2dc30e54320e43e6c9d6e39ab59e71f0d7f2646c00178064f64b9ce27c0f1b3426592a03c692ff56a27f6319e8698b438228461009b565b6102e960808801357f1a745db17f69eb8bc5df51e11153e0e34a263c089e927249d0c426468b8317ac7f199b15c2922dd6f350d29404a850216155e09b11db6628d8808d416118fe48738461009b565b61033960a08801357f0a370ba45b5d20eab92a6379f953ae4b60c200f029b268459c6f977b57dfa09e7f228b729130c41748eb5d6385b889b3dbfdbb13a8795aee64316f3cb4b3ce86198461009b565b61038960c08801357f169b22d88ffb6421c6ddd9a2aee011e3d0f03d0e87b71b1650f639d78c57b91a7f2b960b033439b1d29a338c059b4995b5f03ba1b409c2f4cf72e76e4c0c0ea9de8461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526106856000840135610067565b6106926020840135610067565b61069f6040840135610067565b6106ac6060840135610067565b6106b96080840135610067565b6106c660a0840135610067565b6106d360c0840135610067565b6106e0818486888a610106565b8060005260206000f35b600080fd5b600080fd5b6000819050826020600202820111156107105761070f6106ef565b5b92915050565b600081905082604060020282011115610732576107316106ef565b5b92915050565b600081905082602060070282011115610754576107536106ef565b5b92915050565b6000806000806101e08587031215610775576107746106ea565b5b6000610783878288016106f4565b945050604061079487828801610716565b93505060c06107a5878288016106f4565b9250506101006107b787828801610738565b91505092959194509250565b60008115159050919050565b6107d8816107c3565b82525050565b60006020820190506107f360008301846107cf565b9291505056fea264697066735822122029f722439dba206ce8bdb2cbcdb0a4814798e8bcf010affe9e7700297f3400c864736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon-nullifier-batch +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[31]", + "name": "_pubSignals", + "type": "uint256[31]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b506111158061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806344a173dd14610030575b600080fd5b61004a60048036038101906100459190611040565b610060565b60405161005791906110c4565b60405180910390f35b6000610e04565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f2b4e506bd45402912e98f484f935a2baf0ef7bc90b9d42ce5c81a499a61eacf081527f1bac2d772286fa5933527913fe06461c0c5e4ff623465ba2a829cedf743d93a260208201526101a960008801357f23acb1797e4c344a06f04a51f7c1edb0bc0ae3febcbc13386ba1568fbbfc85c17f258b41c770055e612fcdef6dfb28c12edba623c7cf0f82be04e42988e9a8453e8461009b565b6101f960208801357f26b6901f26755a09c3b05060299f1e0634d7679f5bb6da53b0163a022a754d157f1aad262909af50afcdd406851c2560c56f35523b3a29ce3b6ce69848657105248461009b565b61024960408801357f275abae820fa5439f7a399db1576a43e063f4513a9e40d734bcd62a2ad98dcba7f1ad1ae74b02fd3afce2cbf146e1053c6e98dc6cd390cab43b8986d0e2b15fd618461009b565b61029960608801357f266255fe17b18e63000fe783b9222021ab44c7a863d0e42239f4b0141a3f8a907f0df0fcc2e519db91406d1ddbbcd32acb2e9bc42f5734c7aa4a8726a88c9e35798461009b565b6102e960808801357f1bbcb24b03c8aa6acb692b9b9d3c958bbe8ff244794a1ffa1c4d9a84d9e7404b7f02456f255a3af9a84234495a9d91c0e0ebf585b967d32af2e0129c7b5931635b8461009b565b61033960a08801357f018e0c4c2c0074ee0c6a9efc1eb6cade11b989073f5ca41cc149be1a8aa6e4af7f0d2b2c12b0f5419cb5219b65adc6af8b9bc4eb59cddb6b2c0f10e5af9f2457988461009b565b61038960c08801357f1c4afd871a75b4947295b72694afe55898e5fbdd709761aaebe18504d293ccf87f01d2f88211e9a581b05ab4dd1d729fe81c8ead89c99b18f91dba85959c7cba188461009b565b6103d960e08801357f04147f433b3494171646751d7dfbc75d4a16123504bd8e0b89c60fc9c4e83a8f7f0f8b0cf5bcc961aff8f907fe57c17ef4454c04993b44487b64a1d5ffc46280368461009b565b61042a6101008801357f064c2729ee36909be0a23172996cbb53be7c48f851387eccae11219354935d697f12dd41080bc4a8c1cce02f30db96b2a43ce477b3da40680ea77699e22178636e8461009b565b61047b6101208801357f14efed7ffc68fdd3c5261f781f5d9f34a7dcbcb128c77e56ef0f6c89d918a7c07f0e38af5e669aaac57757714446eecf9a4225d364f0257b709ec4018b504d2bc58461009b565b6104cc6101408801357f2c92a50fbe9d76cdbfc7c31edb620008e0ccbb05b635bee13f6ef526c00691b67f0a8af0b236e92e631ca6ffbf5976d07440f3db2c66c42e748097fd6fd90799af8461009b565b61051d6101608801357f1f5351d8ff1cd9c1c5269157ce9c4cae675177851c98906b526676b1eb4ff32a7f14fa968fc89f5cf8a3bca94df59b0ad9b1320a1d724afab424ff425e3b22c53c8461009b565b61056e6101808801357f1c65c67142d2e48b281ec3522c85d317fe840b554f648f0ddcf7a753879065107f018e7d42efb653c03fd27c34b40d699a049633d5ee183c2fca09d37e411a4c5b8461009b565b6105bf6101a08801357f2f0a400cf7e67760989b265e61827b2d54508b25fd4f84d551bb8d8556eb6a187f1df6ab10f60130759e9c80ffa0abbfb11d9e3c18a6ba74c0cf8b2daf226555ab8461009b565b6106106101c08801357f28aa34581e0f7d563c3038e6fbbe8dc77d7d8fcd5f11165b8bc0fa1d32ce51f87f18d66db8d7485ea8a3bb7c5761b61a6251226736b411e9f11569778211d5c3a38461009b565b6106616101e08801357f0eded6628ac0e70c523498e42fe3585a4953d03473e43863cdfd0324b779b8a47f03fbc1e256475cd5a0556511f1efb883ac30379251073fa2f41ec90019e900938461009b565b6106b26102008801357f02bd79417f48cfce15a151b7cb775888d739cd430541bb1fca9860ddabf003427f2d0e6b447b64184e559eed0d1111ab11719df308f74cd6f4869cddf23c7075248461009b565b6107036102208801357f028123c10e9553486454941a4f2af228e78f0369208c404eaa7237407d5836997f23653fee6521583a518b9ebf01b7cf899e082fc9f8affcaec5de58e62b4b84ac8461009b565b6107546102408801357f0f35ef1061f67984a7e39999bbb036524e78be4e256d8393943af4158b54ab3b7f27bd0c47d713f03d8cc1746d11a9da0554dd854e24826389b008299601c502088461009b565b6107a56102608801357f1233b80ee81c310a9d3793a5308dd1016cda557331ae9fbc623d4fbcee5423cf7f07dde92d188d5e2182fcb1e0a83e91113434369cb93b8324becdf38357b4ed908461009b565b6107f66102808801357f1a006b2a2d09e74053f823a6fafa9ad1b74b838691d8088ffba7de194283884f7f26b08ca5e668c9e05517d4f6f038a34e2edbd0f799c277662119ceccdb2f23f68461009b565b6108476102a08801357f12640f2ad8f71fd744c70bdbc9a23eca5b82597da84f687c1fab7fb49b8a47f47f1b81f92a0efe17529b48eeaa89a6abeb126047b545550d13f60b61c642704f328461009b565b6108986102c08801357f12e2f459dc317d375aa964cf8b0161b273097dab626e5da50a9c36f5babd4d697f1e72f4a921f525364826503044dfc576d6283e8c5b20e4f588a8f4208b533ffe8461009b565b6108e96102e08801357f133f06de6de187d6bc1882b10b509c2347023ee4ac25f263f145adf46ce9e5df7f0415e1fd50c09337d8367f1df14d6f894225f3fc275a291763cf16476b71ba118461009b565b61093a6103008801357f1d545632d6479b043fdf44772eeffa4c35e151a85a791090e3f2e0fcd869650d7f023e9567a0c43dd9e13557a7c43986b3a289be488d11a8bfb686aed0961ff99d8461009b565b61098b6103208801357f14ad7e0b85d316a448d839d8b53386a7b9a26175eb8730832fb12040ffd53b807f07c52997abe64712fecb8edb693ef53726812cee1edf0fa06acd1ca6aa5459ba8461009b565b6109dc6103408801357f061a2fab0634905cb2b87a465f37962b6ca98d2953b4cfea2bb7944170217ba97f0908847e5fa0fe9ce43545c9f33b8ece9a6024d131c5cf6f0f5b638f8506077e8461009b565b610a2d6103608801357f146da95351bcb882a0b16585a74f8cb217fb1ef6fc83f63da95346d16660fc537f056f0e2d636546b4c190d354befe4407cd6f9f19e9675f594e2230b4537abfc48461009b565b610a7e6103808801357f27e77663bb38a982134c5b474ef874189c74c56278290f11295fd02e8256b3d97f2e25cb17314dcbabdce60cfd3bc1a4b0dc5ba96cb5cb6938a8a555c966909dc58461009b565b610acf6103a08801357f113b73b3de557a718387fe70124568793d817b8b5b6868eee35d35ad0019b1e07f17b1943d87b90ee36bfffa4b6bd76264fe2ef984a03a0fa71863b8c51f560e288461009b565b610b206103c08801357f220c5709aab40acfc85293a1e6b56062acab9390294474d359c041e1f2b709e27f15f2f79df1a7b5333db9c6ff4b917ccabc8fdf4fc3ad91d2a69d11fa9a1fe4b38461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b6040516103808101604052610e1c6000840135610067565b610e296020840135610067565b610e366040840135610067565b610e436060840135610067565b610e506080840135610067565b610e5d60a0840135610067565b610e6a60c0840135610067565b610e7760e0840135610067565b610e85610100840135610067565b610e93610120840135610067565b610ea1610140840135610067565b610eaf610160840135610067565b610ebd610180840135610067565b610ecb6101a0840135610067565b610ed96101c0840135610067565b610ee76101e0840135610067565b610ef5610200840135610067565b610f03610220840135610067565b610f11610240840135610067565b610f1f610260840135610067565b610f2d610280840135610067565b610f3b6102a0840135610067565b610f496102c0840135610067565b610f576102e0840135610067565b610f65610300840135610067565b610f73610320840135610067565b610f81610340840135610067565b610f8f610360840135610067565b610f9d610380840135610067565b610fab6103a0840135610067565b610fb96103c0840135610067565b610fc6818486888a610106565b8060005260206000f35b600080fd5b600080fd5b600081905082602060020282011115610ff657610ff5610fd5565b5b92915050565b60008190508260406002028201111561101857611017610fd5565b5b92915050565b6000819050826020601f028201111561103a57611039610fd5565b5b92915050565b6000806000806104e0858703121561105b5761105a610fd0565b5b600061106987828801610fda565b945050604061107a87828801610ffc565b93505060c061108b87828801610fda565b92505061010061109d8782880161101e565b91505092959194509250565b60008115159050919050565b6110be816110a9565b82525050565b60006020820190506110d960008301846110b5565b9291505056fea2646970667358221220a64017355ddb8c52e911c7fa66732034e8748f856d1b3c0ba09bf4bd49d33d9c64736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-impl-anon +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "IdentityNotRegistered", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadyOwned", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadySpent", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "UTXOArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXODuplicate", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXONotMinted", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "WithdrawArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOMint", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOTransfer", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "outputs": null, + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValue", + "name": "_withdrawVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValueBatch", + "name": "_batchWithdrawVerifier", + "type": "address" + } + ], + "name": "__ZetoFungibleWithdraw_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + } + ], + "name": "__ZetoFungible_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_Anon", + "name": "_verifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValue", + "name": "_withdrawVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_AnonBatch", + "name": "_batchVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValueBatch", + "name": "_batchWithdrawVerifier", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "lockProof", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "utxos", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_erc20", + "type": "address" + } + ], + "name": "setERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "txo", + "type": "uint256" + } + ], + "name": "spent", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015604257600080fd5b5060805161471961006c6000396000818161221f01528181612274015261242f01526147196000f3fe6080604052600436106101295760003560e01c80638da5cb5b116100a5578063c29a6fda11610074578063d5b5cc2311610059578063d5b5cc2314610390578063f2fde38b146103cd578063f756356a146103f657610129565b8063c29a6fda1461033e578063cc2a9a5b1461036757610129565b80638da5cb5b146102965780639b2e8b52146102c15780639fcc50af146102ea578063ad3cb1cc1461031357610129565b80634f1ef286116100fc578063715018a6116100e1578063715018a61461022d578063788c0456146102445780638bb2513b1461026d57610129565b80634f1ef286146101e657806352d1902d1461020257610129565b80630107eb4a1461012e57806312c0fed2146101575780633e96e273146101805780634ad89929146101bd575b600080fd5b34801561013a57600080fd5b5061015560048036038101906101509190613165565b61041f565b005b34801561016357600080fd5b5061017e60048036038101906101799190613209565b6104b7565b005b34801561018c57600080fd5b506101a760048036038101906101a29190613435565b610623565b6040516101b49190613512565b60405180910390f35b3480156101c957600080fd5b506101e460048036038101906101df919061352d565b610ade565b005b61020060048036038101906101fb9190613666565b610ec7565b005b34801561020e57600080fd5b50610217610ee6565b60405161022491906136db565b60405180910390f35b34801561023957600080fd5b50610242610f19565b005b34801561025057600080fd5b5061026b6004803603810190610266919061352d565b610f2d565b005b34801561027957600080fd5b50610294600480360381019061028f91906136f6565b610fd9565b005b3480156102a257600080fd5b506102ab610ff1565b6040516102b89190613781565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e3919061379c565b611029565b005b3480156102f657600080fd5b50610311600480360381019061030c9190613826565b6110b6565b005b34801561031f57600080fd5b50610328611102565b60405161033591906138d2565b60405180910390f35b34801561034a57600080fd5b5061036560048036038101906103609190613932565b61113b565b005b34801561037357600080fd5b5061038e600480360381019061038991906139db565b611187565b005b34801561039c57600080fd5b506103b760048036038101906103b29190613a68565b6113a8565b6040516103c49190613512565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190613a95565b6113f8565b005b34801561040257600080fd5b5061041d60048036038101906104189190613ac2565b61147e565b005b610427611693565b610430836110b6565b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006104c2836116d3565b9050600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061058e57503373ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6105cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c490613b88565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006106318686600a611875565b8096508197505050610644868686611923565b610683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067a90613bf4565b60405180910390fd5b600286511180610694575060028551115b156107f35760006106a787876014611f18565b90506106b1612fdb565b60005b6014811015610701578281815181106106d0576106cf613c14565b5b60200260200101518282601481106106eb576106ea613c14565b5b60200201818152505080806001019150506106b4565b50600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56ac42f87600001886040018960c001856040518563ffffffff1660e01b815260040161076c9493929190613dc6565b602060405180830381865afa158015610789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ad9190613e39565b6107ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e390613eb2565b60405180910390fd5b5050610949565b600061080187876004611f18565b905061080b612ffe565b60005b600481101561085b5782818151811061082a57610829613c14565b5b602002602001015182826004811061084557610844613c14565b5b602002018181525050808060010191505061080e565b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fe8c13b87600001886040018960c001856040518563ffffffff1660e01b81526004016108c69493929190613f56565b602060405180830381865afa1580156108e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109079190613e39565b610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d90613eb2565b60405180910390fd5b50505b610953868661202e565b6000865167ffffffffffffffff8111156109705761096f613261565b5b60405190808252806020026020018201604052801561099e5781602001602082028036833780820191505090505b5090506000865167ffffffffffffffff8111156109be576109bd613261565b5b6040519080825280602002602001820160405280156109ec5781602001602082028036833780820191505090505b50905060005b8851811015610a7a57888181518110610a0e57610a0d613c14565b5b6020026020010151838281518110610a2957610a28613c14565b5b602002602001018181525050878181518110610a4857610a47613c14565b5b6020026020010151828281518110610a6357610a62613c14565b5b6020026020010181815250508060010190506109f2565b503373ffffffffffffffffffffffffffffffffffffffff167fcb56a7130431b68e0e636f24584d40580490c1bf882bef3701f317d47ba98c3883838888604051610ac79493929190614072565b60405180910390a260019250505095945050505050565b600283511115610c8b57600c83511115610b3057600c6040517f71798fb5000000000000000000000000000000000000000000000000000000008152600401610b2791906140cf565b60405180910390fd5b6000610b3f858585600c61210d565b9050610b49613020565b60005b600c811015610b9957828181518110610b6857610b67613c14565b5b60200260200101518282600c8110610b8357610b82613c14565b5b6020020181815250508080600101915050610b4c565b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638cbac0fa84600001856040018660c001856040518563ffffffff1660e01b8152600401610c04949392919061416e565b602060405180830381865afa158015610c21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c459190613e39565b610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7b90613eb2565b60405180910390fd5b5050610de2565b6000610c9a858585600461210d565b9050610ca4612ffe565b60005b6004811015610cf457828181518110610cc357610cc2613c14565b5b6020026020010151828260048110610cde57610cdd613c14565b5b6020020181815250508080600101915050610ca7565b50600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fe8c13b84600001856040018660c001856040518563ffffffff1660e01b8152600401610d5f9493929190613f56565b602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da09190613e39565b610ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd690613eb2565b60405180910390fd5b50505b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33866040518363ffffffff1660e01b8152600401610e3f9291906141b5565b6020604051808303816000875af1158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190613e39565b610ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb89061422a565b60405180910390fd5b50505050565b610ecf61221d565b610ed882612303565b610ee2828261230e565b5050565b6000610ef061242d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b610f216124b4565b610f2b600061253b565b565b6000835167ffffffffffffffff811115610f4a57610f49613261565b5b604051908082528060200260200182016040528015610f785781602001602082028036833780820191505090505b5090508281600081518110610f9057610f8f613c14565b5b602002602001018181525050610fa88482600a611875565b8092508195505050610fbb848284611923565b50610fc885858585610ade565b610fd2848261202e565b5050505050565b610fe16124b4565b610fec838383612612565b505050565b600080610ffc6127ed565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b61103485858561147e565b6000600167ffffffffffffffff81111561105157611050613261565b5b60405190808252806020026020018201604052801561107f5781602001602082028036833780820191505090505b509050848160008151811061109757611096613c14565b5b6020026020010181815250506110ae818484612612565b505050505050565b6110be611693565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6111436124b4565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611191612815565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff161480156111df5750825b9050600060018367ffffffffffffffff16148015611214575060003073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015611222575080155b15611259576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083156112a95760018560000160086101000a81548160ff0219169083151502179055505b6112b28b61283d565b6112bd89898861041f565b89600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550831561139b5760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2600160405161139291906142a3565b60405180910390a15b5050505050505050505050565b60006002808111156113bd576113bc6142be565b5b6001600084815260200190815260200160002060009054906101000a900460ff1660028111156113f0576113ef6142be565b5b149050919050565b6114006124b4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114725760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016114699190613781565b60405180910390fd5b61147b8161253b565b50565b611486613043565b838160006002811061149b5761149a613c14565b5b60200201818152505082816001600281106114b9576114b8613c14565b5b602002018181525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f5c9d69e83600001846040018560c001856040518563ffffffff1660e01b815260040161152c9493929190614371565b602060405180830381865afa158015611549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156d9190613e39565b6115ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a390613eb2565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b815260040161160b939291906143b8565b6020604051808303816000875af115801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e9190613e39565b61168d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116849061422a565b60405180910390fd5b50505050565b61169b612851565b6116d1576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600080604051806101000160405280846000016000600281106116f9576116f8613c14565b5b602002013581526020018460000160016002811061171a57611719613c14565b5b602002013581526020018460400160006002811061173b5761173a613c14565b5b6040020160006002811061175257611751613c14565b5b602002013581526020018460400160006002811061177357611772613c14565b5b6040020160016002811061178a57611789613c14565b5b60200201358152602001846040016001600281106117ab576117aa613c14565b5b604002016000600281106117c2576117c1613c14565b5b60200201358152602001846040016001600281106117e3576117e2613c14565b5b604002016001600281106117fa576117f9613c14565b5b602002013581526020018460c00160006002811061181b5761181a613c14565b5b602002013581526020018460c00160016002811061183c5761183b613c14565b5b6020020135815250905080604051602001611857919061449a565b60405160208183030381529060405280519060200120915050919050565b6060806000855190506000855190508482118061189157508481115b156118d357846040517f9ebbc98e0000000000000000000000000000000000000000000000000000000081526004016118ca91906140cf565b60405180910390fd5b600060028311806118e45750600282115b156118f1578590506118f6565b600290505b61190288826000612871565b975061191087826000612871565b9650878794509450505050935093915050565b6000806000611932868661296d565b9150915060005b8251811015611b9557600083828151811061195757611956613c14565b5b60200260200101510315611b8a576000811180156119b457508260018261197e91906144e5565b8151811061198f5761198e613c14565b5b60200260200101518382815181106119aa576119a9613c14565b5b6020026020010151145b15611a10578281815181106119cc576119cb613c14565b5b60200260200101516040517fdd574831000000000000000000000000000000000000000000000000000000008152600401611a0791906140cf565b60405180910390fd5b60006002811115611a2457611a236142be565b5b60016000858481518110611a3b57611a3a613c14565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611a7157611a706142be565b5b03611acd57828181518110611a8957611a88613c14565b5b60200260200101516040517f83925127000000000000000000000000000000000000000000000000000000008152600401611ac491906140cf565b60405180910390fd5b600280811115611ae057611adf6142be565b5b60016000858481518110611af757611af6613c14565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611b2d57611b2c6142be565b5b03611b8957828181518110611b4557611b44613c14565b5b60200260200101516040517f41a06d28000000000000000000000000000000000000000000000000000000008152600401611b8091906140cf565b60405180910390fd5b5b806001019050611939565b5060005b8151811015611df5576000828281518110611bb757611bb6613c14565b5b60200260200101510315611dea57600081118015611c14575081600182611bde91906144e5565b81518110611bef57611bee613c14565b5b6020026020010151828281518110611c0a57611c09613c14565b5b6020026020010151145b15611c7057818181518110611c2c57611c2b613c14565b5b60200260200101516040517fdd574831000000000000000000000000000000000000000000000000000000008152600401611c6791906140cf565b60405180910390fd5b600280811115611c8357611c826142be565b5b60016000848481518110611c9a57611c99613c14565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611cd057611ccf6142be565b5b03611d2c57818181518110611ce857611ce7613c14565b5b60200260200101516040517f41a06d28000000000000000000000000000000000000000000000000000000008152600401611d2391906140cf565b60405180910390fd5b60016002811115611d4057611d3f6142be565b5b60016000848481518110611d5757611d56613c14565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611d8d57611d8c6142be565b5b03611de957818181518110611da557611da4613c14565b5b60200260200101516040517f79e1da47000000000000000000000000000000000000000000000000000000008152600401611de091906140cf565b60405180910390fd5b5b806001019050611b99565b506000611e01856116d3565b9050600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f0a573373ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f009061458b565b60405180910390fd5b5b600193505050509392505050565b60608167ffffffffffffffff811115611f3457611f33613261565b5b604051908082528060200260200182016040528015611f625781602001602082028036833780820191505090505b5090506000805b8551811015611fc557858181518110611f8557611f84613c14565b5b6020026020010151838380611f99906145ab565b945081518110611fac57611fab613c14565b5b6020026020010181815250508080600101915050611f69565b5060005b845181101561202557848181518110611fe557611fe4613c14565b5b6020026020010151838380611ff9906145ab565b94508151811061200c5761200b613c14565b5b6020026020010181815250508080600101915050611fc9565b50509392505050565b60005b825181101561209b5760026001600085848151811061205357612052613c14565b5b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083600281111561208b5761208a6142be565b5b0217905550806001019050612031565b5060005b81518110156121085760018060008484815181106120c0576120bf613c14565b5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908360028111156120f8576120f76142be565b5b021790555080600101905061209f565b505050565b60608167ffffffffffffffff81111561212957612128613261565b5b6040519080825280602002602001820160405280156121575781602001602082028036833780820191505090505b509050600085828280612169906145ab565b93508151811061217c5761217b613c14565b5b60200260200101818152505060005b85518110156121e7578581815181106121a7576121a6613c14565b5b60200260200101518383806121bb906145ab565b9450815181106121ce576121cd613c14565b5b602002602001018181525050808060010191505061218b565b50838282806121f5906145ab565b93508151811061220857612207613c14565b5b60200260200101818152505050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614806122ca57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166122b1612ad5565b73ffffffffffffffffffffffffffffffffffffffff1614155b15612301576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61230b6124b4565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561237657506040513d601f19601f82011682018060405250810190612373919061461f565b60015b6123b757816040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526004016123ae9190613781565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b811461241e57806040517faa1d49a400000000000000000000000000000000000000000000000000000000815260040161241591906136db565b60405180910390fd5b6124288383612b2c565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16146124b2576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6124bc612b9f565b73ffffffffffffffffffffffffffffffffffffffff166124da610ff1565b73ffffffffffffffffffffffffffffffffffffffff1614612539576124fd612b9f565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016125309190613781565b60405180910390fd5b565b60006125456127ed565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b835181101561279557600084828151811061263357612632613c14565b5b6020026020010151905060016002811115612651576126506142be565b5b6001600083815260200190815260200160002060009054906101000a900460ff166002811115612684576126836142be565b5b036126c657806040517f79e1da470000000000000000000000000000000000000000000000000000000081526004016126bd91906140cf565b60405180910390fd5b6002808111156126d9576126d86142be565b5b6001600083815260200190815260200160002060009054906101000a900460ff16600281111561270c5761270b6142be565b5b0361274e57806040517f41a06d2800000000000000000000000000000000000000000000000000000000815260040161274591906140cf565b60405180910390fd5b600180600083815260200190815260200160002060006101000a81548160ff02191690836002811115612784576127836142be565b5b021790555050806001019050612615565b503373ffffffffffffffffffffffffffffffffffffffff167f7ff08e0ca1fce6b202b83128811e4f6ceda54930aa074cd365bf68f95c20ce198484846040516127e09392919061464c565b60405180910390a2505050565b60007f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b612845611693565b61284e81612ba7565b50565b600061285b612815565b60000160089054906101000a900460ff16905090565b60608284510361288357839050612966565b60008367ffffffffffffffff81111561289f5761289e613261565b5b6040519080825280602002602001820160405280156128cd5781602001602082028036833780820191505090505b50905060005b8551811015612923578581815181106128ef576128ee613c14565b5b602002602001015182828151811061290a57612909613c14565b5b60200260200101818152505080806001019150506128d3565b506000855190505b84811015612960578382828151811061294757612946613c14565b5b602002602001018181525050808060010191505061292b565b50809150505b9392505050565b6060806000845167ffffffffffffffff81111561298d5761298c613261565b5b6040519080825280602002602001820160405280156129bb5781602001602082028036833780820191505090505b5090506000845167ffffffffffffffff8111156129db576129da613261565b5b604051908082528060200260200182016040528015612a095781602001602082028036833780820191505090505b50905060005b8651811015612a5d57868181518110612a2b57612a2a613c14565b5b6020026020010151838281518110612a4657612a45613c14565b5b602002602001018181525050806001019050612a0f565b5060005b8551811015612aaf57858181518110612a7d57612a7c613c14565b5b6020026020010151828281518110612a9857612a97613c14565b5b602002602001018181525050806001019050612a61565b50612ab982612bbb565b9150612ac481612bbb565b905081819350935050509250929050565b6000612b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612bd2565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612b3582612bdc565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a2600081511115612b9257612b8c8282612ca9565b50612b9b565b612b9a612d2d565b5b5050565b600033905090565b612baf611693565b612bb881612d6a565b50565b6060612bc982612d7e612d8b565b50819050919050565b6000819050919050565b60008173ffffffffffffffffffffffffffffffffffffffff163b03612c3857806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401612c2f9190613781565b60405180910390fd5b80612c657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612bd2565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051612cd391906146cc565b600060405180830381855af49150503d8060008114612d0e576040519150601f19603f3d011682016040523d82523d6000602084013e612d13565b606091505b5091509150612d23858383612db1565b9250505092915050565b6000341115612d68576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612d72611693565b612d7b81612e40565b50565b6000818310905092915050565b6060612da8612d9984612ec6565b612da285612ed3565b84612eeb565b82905092915050565b606082612dc657612dc182612f7b565b612e38565b60008251148015612dee575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15612e3057836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401612e279190613781565b60405180910390fd5b819050612e39565b5b9392505050565b612e48611693565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612eba5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612eb19190613781565b60405180910390fd5b612ec38161253b565b50565b6000602082019050919050565b60006020825102612ee383612ec6565b019050919050565b604083830310612f76576000612f0084612fc0565b9050600084905060006020860190505b84811015612f4f57612f2e612f2482612fc0565b848663ffffffff16565b15612f4457602082019150612f438282612fcb565b5b602081019050612f10565b50612f5a8582612fcb565b612f65858285612eeb565b612f73602082018585612eeb565b50505b505050565b600081511115612f8e5780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081519050919050565b8151815180845281835250505050565b604051806102800160405280601490602082028036833780820191505090505090565b6040518060800160405280600490602082028036833780820191505090505090565b604051806101800160405280600c90602082028036833780820191505090505090565b6040518060400160405280600290602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130a482613079565b9050919050565b60006130b682613099565b9050919050565b6130c6816130ab565b81146130d157600080fd5b50565b6000813590506130e3816130bd565b92915050565b60006130f482613099565b9050919050565b613104816130e9565b811461310f57600080fd5b50565b600081359050613121816130fb565b92915050565b600061313282613099565b9050919050565b61314281613127565b811461314d57600080fd5b50565b60008135905061315f81613139565b92915050565b60008060006060848603121561317e5761317d61306f565b5b600061318c868287016130d4565b935050602061319d86828701613112565b92505060406131ae86828701613150565b9150509250925092565b600080fd5b600061010082840312156131d4576131d36131b8565b5b81905092915050565b6131e681613099565b81146131f157600080fd5b50565b600081359050613203816131dd565b92915050565b60008061012083850312156132215761322061306f565b5b600061322f858286016131bd565b925050610100613241858286016131f4565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61329982613250565b810181811067ffffffffffffffff821117156132b8576132b7613261565b5b80604052505050565b60006132cb613065565b90506132d78282613290565b919050565b600067ffffffffffffffff8211156132f7576132f6613261565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b6133208161330d565b811461332b57600080fd5b50565b60008135905061333d81613317565b92915050565b6000613356613351846132dc565b6132c1565b9050808382526020820190506020840283018581111561337957613378613308565b5b835b818110156133a2578061338e888261332e565b84526020840193505060208101905061337b565b5050509392505050565b600082601f8301126133c1576133c061324b565b5b81356133d1848260208601613343565b91505092915050565b600080fd5b60008083601f8401126133f5576133f461324b565b5b8235905067ffffffffffffffff811115613412576134116133da565b5b60208301915083600182028301111561342e5761342d613308565b5b9250929050565b600080600080600061016086880312156134525761345161306f565b5b600086013567ffffffffffffffff8111156134705761346f613074565b5b61347c888289016133ac565b955050602086013567ffffffffffffffff81111561349d5761349c613074565b5b6134a9888289016133ac565b94505060406134ba888289016131bd565b93505061014086013567ffffffffffffffff8111156134dc576134db613074565b5b6134e8888289016133df565b92509250509295509295909350565b60008115159050919050565b61350c816134f7565b82525050565b60006020820190506135276000830184613503565b92915050565b60008060008061016085870312156135485761354761306f565b5b60006135568782880161332e565b945050602085013567ffffffffffffffff81111561357757613576613074565b5b613583878288016133ac565b93505060406135948782880161332e565b92505060606135a5878288016131bd565b91505092959194509250565b600080fd5b600067ffffffffffffffff8211156135d1576135d0613261565b5b6135da82613250565b9050602081019050919050565b82818337600083830152505050565b6000613609613604846135b6565b6132c1565b905082815260208101848484011115613625576136246135b1565b5b6136308482856135e7565b509392505050565b600082601f83011261364d5761364c61324b565b5b813561365d8482602086016135f6565b91505092915050565b6000806040838503121561367d5761367c61306f565b5b600061368b858286016131f4565b925050602083013567ffffffffffffffff8111156136ac576136ab613074565b5b6136b885828601613638565b9150509250929050565b6000819050919050565b6136d5816136c2565b82525050565b60006020820190506136f060008301846136cc565b92915050565b60008060006040848603121561370f5761370e61306f565b5b600084013567ffffffffffffffff81111561372d5761372c613074565b5b613739868287016133ac565b935050602084013567ffffffffffffffff81111561375a57613759613074565b5b613766868287016133df565b92509250509250925092565b61377b81613099565b82525050565b60006020820190506137966000830184613772565b92915050565b600080600080600061016086880312156137b9576137b861306f565b5b60006137c78882890161332e565b95505060206137d88882890161332e565b94505060406137e9888289016131bd565b93505061014086013567ffffffffffffffff81111561380b5761380a613074565b5b613817888289016133df565b92509250509295509295909350565b60006020828403121561383c5761383b61306f565b5b600061384a848285016130d4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561388d578082015181840152602081019050613872565b60008484015250505050565b60006138a482613853565b6138ae818561385e565b93506138be81856020860161386f565b6138c781613250565b840191505092915050565b600060208201905081810360008301526138ec8184613899565b905092915050565b60006138ff82613099565b9050919050565b61390f816138f4565b811461391a57600080fd5b50565b60008135905061392c81613906565b92915050565b6000602082840312156139485761394761306f565b5b60006139568482850161391d565b91505092915050565b600061396a82613099565b9050919050565b61397a8161395f565b811461398557600080fd5b50565b60008135905061399781613971565b92915050565b60006139a882613099565b9050919050565b6139b88161399d565b81146139c357600080fd5b50565b6000813590506139d5816139af565b92915050565b60008060008060008060c087890312156139f8576139f761306f565b5b6000613a0689828a016131f4565b9650506020613a1789828a01613988565b9550506040613a2889828a016130d4565b9450506060613a3989828a01613112565b9350506080613a4a89828a016139c6565b92505060a0613a5b89828a01613150565b9150509295509295509295565b600060208284031215613a7e57613a7d61306f565b5b6000613a8c8482850161332e565b91505092915050565b600060208284031215613aab57613aaa61306f565b5b6000613ab9848285016131f4565b91505092915050565b60008060006101408486031215613adc57613adb61306f565b5b6000613aea8682870161332e565b9350506020613afb8682870161332e565b9250506040613b0c868287016131bd565b9150509250925092565b7f50726f6f6620616c7265616479206c6f636b656420627920616e6f746865722060008201527f7061727479000000000000000000000000000000000000000000000000000000602082015250565b6000613b7260258361385e565b9150613b7d82613b16565b604082019050919050565b60006020820190508181036000830152613ba181613b65565b9050919050565b7f496e76616c6964207472616e73616374696f6e2070726f706f73616c00000000600082015250565b6000613bde601c8361385e565b9150613be982613ba8565b602082019050919050565b60006020820190508181036000830152613c0d81613bd1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b82818337505050565b613c5860408383613c43565b5050565b600060029050919050565b600081905092915050565b6000819050919050565b613c8860408383613c43565b5050565b6000613c988383613c7c565b60408301905092915050565b600082905092915050565b6000604082019050919050565b613cc581613c5c565b613ccf8184613c67565b9250613cda82613c72565b8060005b83811015613d1357613cf08284613ca4565b613cfa8782613c8c565b9650613d0583613caf565b925050600181019050613cde565b505050505050565b600060149050919050565b600081905092915050565b6000819050919050565b613d448161330d565b82525050565b6000613d568383613d3b565b60208301905092915050565b6000602082019050919050565b613d7881613d1b565b613d828184613d26565b9250613d8d82613d31565b8060005b83811015613dbe578151613da58782613d4a565b9650613db083613d62565b925050600181019050613d91565b505050505050565b600061038082019050613ddc6000830187613c4c565b613de96040830186613cbc565b613df660c0830185613c4c565b613e04610100830184613d6f565b95945050505050565b613e16816134f7565b8114613e2157600080fd5b50565b600081519050613e3381613e0d565b92915050565b600060208284031215613e4f57613e4e61306f565b5b6000613e5d84828501613e24565b91505092915050565b7f496e76616c69642070726f6f6600000000000000000000000000000000000000600082015250565b6000613e9c600d8361385e565b9150613ea782613e66565b602082019050919050565b60006020820190508181036000830152613ecb81613e8f565b9050919050565b600060049050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b613f0881613ed2565b613f128184613edd565b9250613f1d82613ee8565b8060005b83811015613f4e578151613f358782613d4a565b9650613f4083613ef2565b925050600181019050613f21565b505050505050565b600061018082019050613f6c6000830187613c4c565b613f796040830186613cbc565b613f8660c0830185613c4c565b613f94610100830184613eff565b95945050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000602082019050919050565b6000613fe182613f9d565b613feb8185613fa8565b9350613ff683613fb9565b8060005b8381101561402757815161400e8882613d4a565b975061401983613fc9565b925050600181019050613ffa565b5085935050505092915050565b600082825260208201905092915050565b60006140518385614034565b935061405e8385846135e7565b61406783613250565b840190509392505050565b6000606082019050818103600083015261408c8187613fd6565b905081810360208301526140a08186613fd6565b905081810360408301526140b5818486614045565b905095945050505050565b6140c98161330d565b82525050565b60006020820190506140e460008301846140c0565b92915050565b6000600c9050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b614120816140ea565b61412a81846140f5565b925061413582614100565b8060005b8381101561416657815161414d8782613d4a565b96506141588361410a565b925050600181019050614139565b505050505050565b6000610280820190506141846000830187613c4c565b6141916040830186613cbc565b61419e60c0830185613c4c565b6141ac610100830184614117565b95945050505050565b60006040820190506141ca6000830185613772565b6141d760208301846140c0565b9392505050565b7f4661696c656420746f207472616e7366657220455243323020746f6b656e7300600082015250565b6000614214601f8361385e565b915061421f826141de565b602082019050919050565b6000602082019050818103600083015261424381614207565b9050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000819050919050565b600061428d6142886142838461424a565b614268565b614254565b9050919050565b61429d81614272565b82525050565b60006020820190506142b86000830184614294565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060029050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b614323816142ed565b61432d81846142f8565b925061433882614303565b8060005b838110156143695781516143508782613d4a565b965061435b8361430d565b92505060018101905061433c565b505050505050565b6000610140820190506143876000830187613c4c565b6143946040830186613cbc565b6143a160c0830185613c4c565b6143af61010083018461431a565b95945050505050565b60006060820190506143cd6000830186613772565b6143da6020830185613772565b6143e760408301846140c0565b949350505050565b600060089050919050565b600081905092915050565b6000819050919050565b6144188161330d565b82525050565b600061442a838361440f565b60208301905092915050565b6000602082019050919050565b61444c816143ef565b61445681846143fa565b925061446182614405565b8060005b83811015614492578151614479878261441e565b965061448483614436565b925050600181019050614465565b505050505050565b60006144a68284614443565b6101008201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006144f08261330d565b91506144fb8361330d565b9250828203905081811115614513576145126144b6565b5b92915050565b7f4c6f636b65642070726f6f662063616e206f6e6c79206265207375626d69747460008201527f656420627920746865206c6f636b657220616464726573730000000000000000602082015250565b600061457560388361385e565b915061458082614519565b604082019050919050565b600060208201905081810360008301526145a481614568565b9050919050565b60006145b68261330d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036145e8576145e76144b6565b5b600182019050919050565b6145fc816136c2565b811461460757600080fd5b50565b600081519050614619816145f3565b92915050565b6000602082840312156146355761463461306f565b5b60006146438482850161460a565b91505092915050565b600060408201905081810360008301526146668186613fd6565b9050818103602083015261467b818486614045565b9050949350505050565b600081519050919050565b600081905092915050565b60006146a682614685565b6146b08185614690565b93506146c081856020860161386f565b80840191505092915050565b60006146d8828461469b565b91508190509291505056fea26469706673582212205fb47fc58cfe8406b0221742bc2c462f224b8676d4eb5783cbdca9bc53e3b54364736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-impl-anon-enc +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "IdentityNotRegistered", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadyOwned", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadySpent", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "UTXOArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXODuplicate", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXONotMinted", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "WithdrawArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOMint", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "encryptionNonce", + "type": "uint256" + }, + { + "internalType": "uint256[2]", + "name": "ecdhPublicKey", + "type": "uint256[2]" + }, + { + "internalType": "uint256[]", + "name": "encryptedValues", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOTransferWithEncryptedValues", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "outputs": null, + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValue", + "name": "_withdrawVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValueBatch", + "name": "_batchWithdrawVerifier", + "type": "address" + } + ], + "name": "__ZetoFungibleWithdraw_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + } + ], + "name": "__ZetoFungible_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_AnonEnc", + "name": "_verifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValue", + "name": "_withdrawVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_AnonEncBatch", + "name": "_batchVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValueBatch", + "name": "_batchWithdrawVerifier", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "lockProof", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "utxos", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_erc20", + "type": "address" + } + ], + "name": "setERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "txo", + "type": "uint256" + } + ], + "name": "spent", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "encryptionNonce", + "type": "uint256" + }, + { + "internalType": "uint256[2]", + "name": "ecdhPublicKey", + "type": "uint256[2]" + }, + { + "internalType": "uint256[]", + "name": "encryptedValues", + "type": "uint256[]" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015604257600080fd5b506080516149ee61006c6000396000818161194e015281816119a30152611b5e01526149ee6000f3fe6080604052600436106101295760003560e01c80639b2e8b52116100a5578063cc2a9a5b11610074578063e4e3842a11610059578063e4e3842a14610390578063f2fde38b146103cd578063f756356a146103f657610129565b8063cc2a9a5b1461032a578063d5b5cc231461035357610129565b80639b2e8b52146102845780639fcc50af146102ad578063ad3cb1cc146102d6578063c29a6fda1461030157610129565b806352d1902d116100fc578063788c0456116100e1578063788c0456146102075780638bb2513b146102305780638da5cb5b1461025957610129565b806352d1902d146101c5578063715018a6146101f057610129565b80630107eb4a1461012e57806312c0fed2146101575780634ad89929146101805780634f1ef286146101a9575b600080fd5b34801561013a57600080fd5b5061015560048036038101906101509190613237565b61041f565b005b34801561016357600080fd5b5061017e600480360381019061017991906132db565b6104b7565b005b34801561018c57600080fd5b506101a760048036038101906101a291906134ac565b610623565b005b6101c360048036038101906101be91906135e5565b610a0c565b005b3480156101d157600080fd5b506101da610a2b565b6040516101e7919061365a565b60405180910390f35b3480156101fc57600080fd5b50610205610a5e565b005b34801561021357600080fd5b5061022e600480360381019061022991906134ac565b610a72565b005b34801561023c57600080fd5b50610257600480360381019061025291906136d0565b610b1e565b005b34801561026557600080fd5b5061026e610b36565b60405161027b919061375b565b60405180910390f35b34801561029057600080fd5b506102ab60048036038101906102a69190613776565b610b6e565b005b3480156102b957600080fd5b506102d460048036038101906102cf9190613800565b610bfb565b005b3480156102e257600080fd5b506102eb610c47565b6040516102f891906138ac565b60405180910390f35b34801561030d57600080fd5b506103286004803603810190610323919061390c565b610c80565b005b34801561033657600080fd5b50610351600480360381019061034c91906139b5565b610ccc565b005b34801561035f57600080fd5b5061037a60048036038101906103759190613a42565b610f2e565b6040516103879190613a8a565b60405180910390f35b34801561039c57600080fd5b506103b760048036038101906103b29190613b56565b610f7e565b6040516103c49190613a8a565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190613c6e565b6113bf565b005b34801561040257600080fd5b5061041d60048036038101906104189190613c9b565b611445565b005b61042761165a565b61043083610bfb565b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006104c28361169a565b9050600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061058e57503373ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6105cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c490613d61565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6002835111156107d057600c8351111561067557600c6040517f71798fb500000000000000000000000000000000000000000000000000000000815260040161066c9190613d90565b60405180910390fd5b6000610684858585600c61183c565b905061068e61308a565b60005b600c8110156106de578281815181106106ad576106ac613dab565b5b60200260200101518282600c81106106c8576106c7613dab565b5b6020020181815250508080600101915050610691565b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638cbac0fa84600001856040018660c001856040518563ffffffff1660e01b81526004016107499493929190613f5d565b602060405180830381865afa158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a9190613fd0565b6107c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c090614049565b60405180910390fd5b5050610927565b60006107df858585600461183c565b90506107e96130ad565b60005b60048110156108395782818151811061080857610807613dab565b5b602002602001015182826004811061082357610822613dab565b5b60200201818152505080806001019150506107ec565b50600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fe8c13b84600001856040018660c001856040518563ffffffff1660e01b81526004016108a494939291906140ed565b602060405180830381865afa1580156108c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e59190613fd0565b610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b90614049565b60405180910390fd5b50505b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33866040518363ffffffff1660e01b8152600401610984929190614134565b6020604051808303816000875af11580156109a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190613fd0565b610a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fd906141a9565b60405180910390fd5b50505050565b610a1461194c565b610a1d82611a32565b610a278282611a3d565b5050565b6000610a35611b5c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b610a66611be3565b610a706000611c6a565b565b6000835167ffffffffffffffff811115610a8f57610a8e613369565b5b604051908082528060200260200182016040528015610abd5781602001602082028036833780820191505090505b5090508281600081518110610ad557610ad4613dab565b5b602002602001018181525050610aed8482600a611d41565b8092508195505050610b00848284611def565b50610b0d85858585610623565b610b1784826123e4565b5050505050565b610b26611be3565b610b318383836124c3565b505050565b600080610b4161269e565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b610b79858585611445565b6000600167ffffffffffffffff811115610b9657610b95613369565b5b604051908082528060200260200182016040528015610bc45781602001602082028036833780820191505090505b5090508481600081518110610bdc57610bdb613dab565b5b602002602001018181525050610bf38184846124c3565b505050505050565b610c0361165a565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b610c88611be3565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610cd66126c6565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff16148015610d245750825b9050600060018367ffffffffffffffff16148015610d59575060003073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015610d67575080155b15610d9e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315610dee5760018560000160086101000a81548160ff0219169083151502179055505b610df78b6126ee565b610e0289898861041f565b89600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508315610f215760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d26001604051610f189190614222565b60405180910390a15b5050505050505050505050565b6000600280811115610f4357610f4261423d565b5b6001600084815260200190815260200160002060009054906101000a900460ff166002811115610f7657610f7561423d565b5b149050919050565b6000610f8c8989600a611d41565b809950819a505050610f9f898986611def565b610fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd5906142b8565b60405180910390fd5b600289511180610fef575060028851115b156111515760006110058a8a8a8a8a603f612702565b905061100f6130cf565b60005b603f81101561105f5782818151811061102e5761102d613dab565b5b60200260200101518282603f811061104957611048613dab565b5b6020020181815250508080600101915050611012565b50600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d40902687600001886040018960c001856040518563ffffffff1660e01b81526004016110ca949392919061435c565b602060405180830381865afa1580156110e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110b9190613fd0565b61114a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114190614049565b60405180910390fd5b50506112aa565b60006111628a8a8a8a8a600f612702565b905061116c6130f2565b60005b600f8110156111bc5782818151811061118b5761118a613dab565b5b60200260200101518282600f81106111a6576111a5613dab565b5b602002018181525050808060010191505061116f565b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f054a9a387600001886040018960c001856040518563ffffffff1660e01b81526004016112279493929190614427565b602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112689190613fd0565b6112a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129e90614049565b60405180910390fd5b50505b6112b489896123e4565b6000855167ffffffffffffffff8111156112d1576112d0613369565b5b6040519080825280602002602001820160405280156112ff5781602001602082028036833780820191505090505b50905060005b86518110156113535786818151811061132157611320613dab565b5b602002602001015182828151811061133c5761133b613dab565b5b602002602001018181525050806001019050611305565b503373ffffffffffffffffffffffffffffffffffffffff167f18fd5042f65c100c3eb616143f0e3d2d83f7efe63df2a868b19f0b823c08a21b8b8b8b8b868a8a6040516113a697969594939291906145c7565b60405180910390a2600191505098975050505050505050565b6113c7611be3565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114395760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401611430919061375b565b60405180910390fd5b61144281611c6a565b50565b61144d613115565b838160006002811061146257611461613dab565b5b60200201818152505082816001600281106114805761147f613dab565b5b602002018181525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f5c9d69e83600001846040018560c001856040518563ffffffff1660e01b81526004016114f39493929190614646565b602060405180830381865afa158015611510573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115349190613fd0565b611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156a90614049565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b81526004016115d29392919061468d565b6020604051808303816000875af11580156115f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116159190613fd0565b611654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164b906141a9565b60405180910390fd5b50505050565b611662612900565b611698576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600080604051806101000160405280846000016000600281106116c0576116bf613dab565b5b60200201358152602001846000016001600281106116e1576116e0613dab565b5b602002013581526020018460400160006002811061170257611701613dab565b5b6040020160006002811061171957611718613dab565b5b602002013581526020018460400160006002811061173a57611739613dab565b5b6040020160016002811061175157611750613dab565b5b602002013581526020018460400160016002811061177257611771613dab565b5b6040020160006002811061178957611788613dab565b5b60200201358152602001846040016001600281106117aa576117a9613dab565b5b604002016001600281106117c1576117c0613dab565b5b602002013581526020018460c0016000600281106117e2576117e1613dab565b5b602002013581526020018460c00160016002811061180357611802613dab565b5b602002013581525090508060405160200161181e919061476f565b60405160208183030381529060405280519060200120915050919050565b60608167ffffffffffffffff81111561185857611857613369565b5b6040519080825280602002602001820160405280156118865781602001602082028036833780820191505090505b509050600085828280611898906147ba565b9350815181106118ab576118aa613dab565b5b60200260200101818152505060005b8551811015611916578581815181106118d6576118d5613dab565b5b60200260200101518383806118ea906147ba565b9450815181106118fd576118fc613dab565b5b60200260200101818152505080806001019150506118ba565b5083828280611924906147ba565b93508151811061193757611936613dab565b5b60200260200101818152505050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614806119f957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166119e0612920565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611a30576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b611a3a611be3565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611aa557506040513d601f19601f82011682018060405250810190611aa2919061482e565b60015b611ae657816040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401611add919061375b565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611b4d57806040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600401611b44919061365a565b60405180910390fd5b611b578383612977565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614611be1576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b611beb6129ea565b73ffffffffffffffffffffffffffffffffffffffff16611c09610b36565b73ffffffffffffffffffffffffffffffffffffffff1614611c6857611c2c6129ea565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611c5f919061375b565b60405180910390fd5b565b6000611c7461269e565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60608060008551905060008551905084821180611d5d57508481115b15611d9f57846040517f9ebbc98e000000000000000000000000000000000000000000000000000000008152600401611d969190613d90565b60405180910390fd5b60006002831180611db05750600282115b15611dbd57859050611dc2565b600290505b611dce888260006129f2565b9750611ddc878260006129f2565b9650878794509450505050935093915050565b6000806000611dfe8686612aee565b9150915060005b8251811015612061576000838281518110611e2357611e22613dab565b5b6020026020010151031561205657600081118015611e80575082600182611e4a919061485b565b81518110611e5b57611e5a613dab565b5b6020026020010151838281518110611e7657611e75613dab565b5b6020026020010151145b15611edc57828181518110611e9857611e97613dab565b5b60200260200101516040517fdd574831000000000000000000000000000000000000000000000000000000008152600401611ed39190613d90565b60405180910390fd5b60006002811115611ef057611eef61423d565b5b60016000858481518110611f0757611f06613dab565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611f3d57611f3c61423d565b5b03611f9957828181518110611f5557611f54613dab565b5b60200260200101516040517f83925127000000000000000000000000000000000000000000000000000000008152600401611f909190613d90565b60405180910390fd5b600280811115611fac57611fab61423d565b5b60016000858481518110611fc357611fc2613dab565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611ff957611ff861423d565b5b036120555782818151811061201157612010613dab565b5b60200260200101516040517f41a06d2800000000000000000000000000000000000000000000000000000000815260040161204c9190613d90565b60405180910390fd5b5b806001019050611e05565b5060005b81518110156122c157600082828151811061208357612082613dab565b5b602002602001015103156122b6576000811180156120e05750816001826120aa919061485b565b815181106120bb576120ba613dab565b5b60200260200101518282815181106120d6576120d5613dab565b5b6020026020010151145b1561213c578181815181106120f8576120f7613dab565b5b60200260200101516040517fdd5748310000000000000000000000000000000000000000000000000000000081526004016121339190613d90565b60405180910390fd5b60028081111561214f5761214e61423d565b5b6001600084848151811061216657612165613dab565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff16600281111561219c5761219b61423d565b5b036121f8578181815181106121b4576121b3613dab565b5b60200260200101516040517f41a06d280000000000000000000000000000000000000000000000000000000081526004016121ef9190613d90565b60405180910390fd5b6001600281111561220c5761220b61423d565b5b6001600084848151811061222357612222613dab565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff1660028111156122595761225861423d565b5b036122b55781818151811061227157612270613dab565b5b60200260200101516040517f79e1da470000000000000000000000000000000000000000000000000000000081526004016122ac9190613d90565b60405180910390fd5b5b806001019050612065565b5060006122cd8561169a565b9050600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123d6573373ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123cc90614901565b60405180910390fd5b5b600193505050509392505050565b60005b82518110156124515760026001600085848151811061240957612408613dab565b5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908360028111156124415761244061423d565b5b02179055508060010190506123e7565b5060005b81518110156124be57600180600084848151811061247657612475613dab565b5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908360028111156124ae576124ad61423d565b5b0217905550806001019050612455565b505050565b60005b83518110156126465760008482815181106124e4576124e3613dab565b5b60200260200101519050600160028111156125025761250161423d565b5b6001600083815260200190815260200160002060009054906101000a900460ff1660028111156125355761253461423d565b5b0361257757806040517f79e1da4700000000000000000000000000000000000000000000000000000000815260040161256e9190613d90565b60405180910390fd5b60028081111561258a5761258961423d565b5b6001600083815260200190815260200160002060009054906101000a900460ff1660028111156125bd576125bc61423d565b5b036125ff57806040517f41a06d280000000000000000000000000000000000000000000000000000000081526004016125f69190613d90565b60405180910390fd5b600180600083815260200190815260200160002060006101000a81548160ff021916908360028111156126355761263461423d565b5b0217905550508060010190506124c6565b503373ffffffffffffffffffffffffffffffffffffffff167f7ff08e0ca1fce6b202b83128811e4f6ceda54930aa074cd365bf68f95c20ce1984848460405161269193929190614921565b60405180910390a2505050565b60007f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b6126f661165a565b6126ff81612c56565b50565b60608167ffffffffffffffff81111561271e5761271d613369565b5b60405190808252806020026020018201604052801561274c5781602001602082028036833780820191505090505b5090506000805b60028110156127aa5785816002811061276f5761276e613dab565b5b6020020151838380612780906147ba565b94508151811061279357612792613dab565b5b602002602001018181525050806001019050612753565b5060005b8451811015612808578481815181106127ca576127c9613dab565b5b60200260200101518383806127de906147ba565b9450815181106127f1576127f0613dab565b5b6020026020010181815250508060010190506127ae565b5060005b88518110156128685788818151811061282857612827613dab565b5b602002602001015183838061283c906147ba565b94508151811061284f5761284e613dab565b5b602002602001018181525050808060010191505061280c565b5060005b87518110156128c85787818151811061288857612887613dab565b5b602002602001015183838061289c906147ba565b9450815181106128af576128ae613dab565b5b602002602001018181525050808060010191505061286c565b50858282806128d6906147ba565b9350815181106128e9576128e8613dab565b5b602002602001018181525050509695505050505050565b600061290a6126c6565b60000160089054906101000a900460ff16905090565b600061294e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612c6a565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61298082612c74565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a26000815111156129dd576129d78282612d41565b506129e6565b6129e5612dc5565b5b5050565b600033905090565b606082845103612a0457839050612ae7565b60008367ffffffffffffffff811115612a2057612a1f613369565b5b604051908082528060200260200182016040528015612a4e5781602001602082028036833780820191505090505b50905060005b8551811015612aa457858181518110612a7057612a6f613dab565b5b6020026020010151828281518110612a8b57612a8a613dab565b5b6020026020010181815250508080600101915050612a54565b506000855190505b84811015612ae15783828281518110612ac857612ac7613dab565b5b6020026020010181815250508080600101915050612aac565b50809150505b9392505050565b6060806000845167ffffffffffffffff811115612b0e57612b0d613369565b5b604051908082528060200260200182016040528015612b3c5781602001602082028036833780820191505090505b5090506000845167ffffffffffffffff811115612b5c57612b5b613369565b5b604051908082528060200260200182016040528015612b8a5781602001602082028036833780820191505090505b50905060005b8651811015612bde57868181518110612bac57612bab613dab565b5b6020026020010151838281518110612bc757612bc6613dab565b5b602002602001018181525050806001019050612b90565b5060005b8551811015612c3057858181518110612bfe57612bfd613dab565b5b6020026020010151828281518110612c1957612c18613dab565b5b602002602001018181525050806001019050612be2565b50612c3a82612e02565b9150612c4581612e02565b905081819350935050509250929050565b612c5e61165a565b612c6781612e19565b50565b6000819050919050565b60008173ffffffffffffffffffffffffffffffffffffffff163b03612cd057806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401612cc7919061375b565b60405180910390fd5b80612cfd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612c6a565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051612d6b91906149a1565b600060405180830381855af49150503d8060008114612da6576040519150601f19603f3d011682016040523d82523d6000602084013e612dab565b606091505b5091509150612dbb858383612e2d565b9250505092915050565b6000341115612e00576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6060612e1082612ebc612ec9565b50819050919050565b612e2161165a565b612e2a81612eef565b50565b606082612e4257612e3d82612f75565b612eb4565b60008251148015612e6a575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15612eac57836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401612ea3919061375b565b60405180910390fd5b819050612eb5565b5b9392505050565b6000818310905092915050565b6060612ee6612ed784612fba565b612ee085612fc7565b84612fdf565b82905092915050565b612ef761165a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612f695760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612f60919061375b565b60405180910390fd5b612f7281611c6a565b50565b600081511115612f885780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602082019050919050565b60006020825102612fd783612fba565b019050919050565b60408383031061306a576000612ff48461306f565b9050600084905060006020860190505b84811015613043576130226130188261306f565b848663ffffffff16565b1561303857602082019150613037828261307a565b5b602081019050613004565b5061304e858261307a565b613059858285612fdf565b613067602082018585612fdf565b50505b505050565b600081519050919050565b8151815180845281835250505050565b604051806101800160405280600c90602082028036833780820191505090505090565b6040518060800160405280600490602082028036833780820191505090505090565b604051806107e00160405280603f90602082028036833780820191505090505090565b604051806101e00160405280600f90602082028036833780820191505090505090565b6040518060400160405280600290602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006131768261314b565b9050919050565b60006131888261316b565b9050919050565b6131988161317d565b81146131a357600080fd5b50565b6000813590506131b58161318f565b92915050565b60006131c68261316b565b9050919050565b6131d6816131bb565b81146131e157600080fd5b50565b6000813590506131f3816131cd565b92915050565b60006132048261316b565b9050919050565b613214816131f9565b811461321f57600080fd5b50565b6000813590506132318161320b565b92915050565b6000806000606084860312156132505761324f613141565b5b600061325e868287016131a6565b935050602061326f868287016131e4565b925050604061328086828701613222565b9150509250925092565b600080fd5b600061010082840312156132a6576132a561328a565b5b81905092915050565b6132b88161316b565b81146132c357600080fd5b50565b6000813590506132d5816132af565b92915050565b60008061012083850312156132f3576132f2613141565b5b60006133018582860161328f565b925050610100613313858286016132c6565b9150509250929050565b6000819050919050565b6133308161331d565b811461333b57600080fd5b50565b60008135905061334d81613327565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6133a182613358565b810181811067ffffffffffffffff821117156133c0576133bf613369565b5b80604052505050565b60006133d3613137565b90506133df8282613398565b919050565b600067ffffffffffffffff8211156133ff576133fe613369565b5b602082029050602081019050919050565b600080fd5b6000613428613423846133e4565b6133c9565b9050808382526020820190506020840283018581111561344b5761344a613410565b5b835b818110156134745780613460888261333e565b84526020840193505060208101905061344d565b5050509392505050565b600082601f83011261349357613492613353565b5b81356134a3848260208601613415565b91505092915050565b60008060008061016085870312156134c7576134c6613141565b5b60006134d58782880161333e565b945050602085013567ffffffffffffffff8111156134f6576134f5613146565b5b6135028782880161347e565b93505060406135138782880161333e565b92505060606135248782880161328f565b91505092959194509250565b600080fd5b600067ffffffffffffffff8211156135505761354f613369565b5b61355982613358565b9050602081019050919050565b82818337600083830152505050565b600061358861358384613535565b6133c9565b9050828152602081018484840111156135a4576135a3613530565b5b6135af848285613566565b509392505050565b600082601f8301126135cc576135cb613353565b5b81356135dc848260208601613575565b91505092915050565b600080604083850312156135fc576135fb613141565b5b600061360a858286016132c6565b925050602083013567ffffffffffffffff81111561362b5761362a613146565b5b613637858286016135b7565b9150509250929050565b6000819050919050565b61365481613641565b82525050565b600060208201905061366f600083018461364b565b92915050565b600080fd5b60008083601f8401126136905761368f613353565b5b8235905067ffffffffffffffff8111156136ad576136ac613675565b5b6020830191508360018202830111156136c9576136c8613410565b5b9250929050565b6000806000604084860312156136e9576136e8613141565b5b600084013567ffffffffffffffff81111561370757613706613146565b5b6137138682870161347e565b935050602084013567ffffffffffffffff81111561373457613733613146565b5b6137408682870161367a565b92509250509250925092565b6137558161316b565b82525050565b6000602082019050613770600083018461374c565b92915050565b6000806000806000610160868803121561379357613792613141565b5b60006137a18882890161333e565b95505060206137b28882890161333e565b94505060406137c38882890161328f565b93505061014086013567ffffffffffffffff8111156137e5576137e4613146565b5b6137f18882890161367a565b92509250509295509295909350565b60006020828403121561381657613815613141565b5b6000613824848285016131a6565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561386757808201518184015260208101905061384c565b60008484015250505050565b600061387e8261382d565b6138888185613838565b9350613898818560208601613849565b6138a181613358565b840191505092915050565b600060208201905081810360008301526138c68184613873565b905092915050565b60006138d98261316b565b9050919050565b6138e9816138ce565b81146138f457600080fd5b50565b600081359050613906816138e0565b92915050565b60006020828403121561392257613921613141565b5b6000613930848285016138f7565b91505092915050565b60006139448261316b565b9050919050565b61395481613939565b811461395f57600080fd5b50565b6000813590506139718161394b565b92915050565b60006139828261316b565b9050919050565b61399281613977565b811461399d57600080fd5b50565b6000813590506139af81613989565b92915050565b60008060008060008060c087890312156139d2576139d1613141565b5b60006139e089828a016132c6565b96505060206139f189828a01613962565b9550506040613a0289828a016131a6565b9450506060613a1389828a016131e4565b9350506080613a2489828a016139a0565b92505060a0613a3589828a01613222565b9150509295509295509295565b600060208284031215613a5857613a57613141565b5b6000613a668482850161333e565b91505092915050565b60008115159050919050565b613a8481613a6f565b82525050565b6000602082019050613a9f6000830184613a7b565b92915050565b600067ffffffffffffffff821115613ac057613abf613369565b5b602082029050919050565b6000613ade613ad984613aa5565b6133c9565b90508060208402830185811115613af857613af7613410565b5b835b81811015613b215780613b0d888261333e565b845260208401935050602081019050613afa565b5050509392505050565b600082601f830112613b4057613b3f613353565b5b6002613b4d848285613acb565b91505092915050565b6000806000806000806000806101e0898b031215613b7757613b76613141565b5b600089013567ffffffffffffffff811115613b9557613b94613146565b5b613ba18b828c0161347e565b985050602089013567ffffffffffffffff811115613bc257613bc1613146565b5b613bce8b828c0161347e565b9750506040613bdf8b828c0161333e565b9650506060613bf08b828c01613b2b565b95505060a089013567ffffffffffffffff811115613c1157613c10613146565b5b613c1d8b828c0161347e565b94505060c0613c2e8b828c0161328f565b9350506101c089013567ffffffffffffffff811115613c5057613c4f613146565b5b613c5c8b828c0161367a565b92509250509295985092959890939650565b600060208284031215613c8457613c83613141565b5b6000613c92848285016132c6565b91505092915050565b60008060006101408486031215613cb557613cb4613141565b5b6000613cc38682870161333e565b9350506020613cd48682870161333e565b9250506040613ce58682870161328f565b9150509250925092565b7f50726f6f6620616c7265616479206c6f636b656420627920616e6f746865722060008201527f7061727479000000000000000000000000000000000000000000000000000000602082015250565b6000613d4b602583613838565b9150613d5682613cef565b604082019050919050565b60006020820190508181036000830152613d7a81613d3e565b9050919050565b613d8a8161331d565b82525050565b6000602082019050613da56000830184613d81565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b82818337505050565b613def60408383613dda565b5050565b600060029050919050565b600081905092915050565b6000819050919050565b613e1f60408383613dda565b5050565b6000613e2f8383613e13565b60408301905092915050565b600082905092915050565b6000604082019050919050565b613e5c81613df3565b613e668184613dfe565b9250613e7182613e09565b8060005b83811015613eaa57613e878284613e3b565b613e918782613e23565b9650613e9c83613e46565b925050600181019050613e75565b505050505050565b6000600c9050919050565b600081905092915050565b6000819050919050565b613edb8161331d565b82525050565b6000613eed8383613ed2565b60208301905092915050565b6000602082019050919050565b613f0f81613eb2565b613f198184613ebd565b9250613f2482613ec8565b8060005b83811015613f55578151613f3c8782613ee1565b9650613f4783613ef9565b925050600181019050613f28565b505050505050565b600061028082019050613f736000830187613de3565b613f806040830186613e53565b613f8d60c0830185613de3565b613f9b610100830184613f06565b95945050505050565b613fad81613a6f565b8114613fb857600080fd5b50565b600081519050613fca81613fa4565b92915050565b600060208284031215613fe657613fe5613141565b5b6000613ff484828501613fbb565b91505092915050565b7f496e76616c69642070726f6f6600000000000000000000000000000000000000600082015250565b6000614033600d83613838565b915061403e82613ffd565b602082019050919050565b6000602082019050818103600083015261406281614026565b9050919050565b600060049050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b61409f81614069565b6140a98184614074565b92506140b48261407f565b8060005b838110156140e55781516140cc8782613ee1565b96506140d783614089565b9250506001810190506140b8565b505050505050565b6000610180820190506141036000830187613de3565b6141106040830186613e53565b61411d60c0830185613de3565b61412b610100830184614096565b95945050505050565b6000604082019050614149600083018561374c565b6141566020830184613d81565b9392505050565b7f4661696c656420746f207472616e7366657220455243323020746f6b656e7300600082015250565b6000614193601f83613838565b915061419e8261415d565b602082019050919050565b600060208201905081810360008301526141c281614186565b9050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000819050919050565b600061420c614207614202846141c9565b6141e7565b6141d3565b9050919050565b61421c816141f1565b82525050565b60006020820190506142376000830184614213565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f496e76616c6964207472616e73616374696f6e2070726f706f73616c00000000600082015250565b60006142a2601c83613838565b91506142ad8261426c565b602082019050919050565b600060208201905081810360008301526142d181614295565b9050919050565b6000603f9050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b61430e816142d8565b61431881846142e3565b9250614323826142ee565b8060005b8381101561435457815161433b8782613ee1565b9650614346836142f8565b925050600181019050614327565b505050505050565b60006108e0820190506143726000830187613de3565b61437f6040830186613e53565b61438c60c0830185613de3565b61439a610100830184614305565b95945050505050565b6000600f9050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b6143d9816143a3565b6143e381846143ae565b92506143ee826143b9565b8060005b8381101561441f5781516144068782613ee1565b9650614411836143c3565b9250506001810190506143f2565b505050505050565b60006102e08201905061443d6000830187613de3565b61444a6040830186613e53565b61445760c0830185613de3565b6144656101008301846143d0565b95945050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000602082019050919050565b60006144b28261446e565b6144bc8185614479565b93506144c78361448a565b8060005b838110156144f85781516144df8882613ee1565b97506144ea8361449a565b9250506001810190506144cb565b5085935050505092915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b61453b81614505565b6145458184614510565b92506145508261451b565b8060005b838110156145815781516145688782613ee1565b965061457383614525565b925050600181019050614554565b505050505050565b600082825260208201905092915050565b60006145a68385614589565b93506145b3838584613566565b6145bc83613358565b840190509392505050565b600060e08201905081810360008301526145e1818a6144a7565b905081810360208301526145f581896144a7565b90506146046040830188613d81565b6146116060830187614532565b81810360a083015261462381866144a7565b905081810360c083015261463881848661459a565b905098975050505050505050565b60006101408201905061465c6000830187613de3565b6146696040830186613e53565b61467660c0830185613de3565b614684610100830184614532565b95945050505050565b60006060820190506146a2600083018661374c565b6146af602083018561374c565b6146bc6040830184613d81565b949350505050565b600060089050919050565b600081905092915050565b6000819050919050565b6146ed8161331d565b82525050565b60006146ff83836146e4565b60208301905092915050565b6000602082019050919050565b614721816146c4565b61472b81846146cf565b9250614736826146da565b8060005b8381101561476757815161474e87826146f3565b96506147598361470b565b92505060018101905061473a565b505050505050565b600061477b8284614718565b6101008201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006147c58261331d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036147f7576147f661478b565b5b600182019050919050565b61480b81613641565b811461481657600080fd5b50565b60008151905061482881614802565b92915050565b60006020828403121561484457614843613141565b5b600061485284828501614819565b91505092915050565b60006148668261331d565b91506148718361331d565b92508282039050818111156148895761488861478b565b5b92915050565b7f4c6f636b65642070726f6f662063616e206f6e6c79206265207375626d69747460008201527f656420627920746865206c6f636b657220616464726573730000000000000000602082015250565b60006148eb603883613838565b91506148f68261488f565b604082019050919050565b6000602082019050818103600083015261491a816148de565b9050919050565b6000604082019050818103600083015261493b81866144a7565b9050818103602083015261495081848661459a565b9050949350505050565b600081519050919050565b600081905092915050565b600061497b8261495a565b6149858185614965565b9350614995818560208601613849565b80840191505092915050565b60006149ad8284614970565b91508190509291505056fea26469706673582212200c95893e0fffa35f9182616d575ffab8e9b15dcc05cd34a7c68e68b1c41400a964736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-impl-anon-nullifier +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "IdentityNotRegistered", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadyOwned", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadySpent", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "UTXOArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXODuplicate", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXONotMinted", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "root", + "type": "uint256" + } + ], + "name": "UTXORootNotFound", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "WithdrawArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOMint", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOTransfer", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "outputs": null, + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + } + ], + "name": "__ZetoFungible_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "nullifiers", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "root", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_withdrawWithNullifiers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRoot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_AnonNullifier", + "name": "_verifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckNullifierValue", + "name": "_withdrawVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_AnonNullifierBatch", + "name": "_batchVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckNullifierValueBatch", + "name": "_batchWithdrawVerifier", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "lockProof", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "utxos", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_erc20", + "type": "address" + } + ], + "name": "setERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "nullifiers", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "root", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "nullifiers", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "root", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015604257600080fd5b50608051614a1261006c60003960008181611fc40152818161201901526121d40152614a126000f3fe60806040526004361061010e5760003560e01c80638da5cb5b116100a5578063ad3cb1cc11610074578063cc2a9a5b11610059578063cc2a9a5b1461034e578063f2fde38b14610377578063f756356a146103a05761010e565b8063ad3cb1cc146102fa578063c29a6fda146103255761010e565b80638da5cb5b146102545780639b2e8b521461027f5780639e2a7194146102a85780639fcc50af146102d15761010e565b80635ca1e165116100e15780635ca1e165146101c0578063715018a6146101eb57806373295241146102025780638bb2513b1461022b5761010e565b806312c0fed21461011357806322414cf31461013c5780634f1ef2861461017957806352d1902d14610195575b600080fd5b34801561011f57600080fd5b5061013a60048036038101906101359190613265565b6103c9565b005b34801561014857600080fd5b50610163600480360381019061015e9190613491565b610535565b6040516101709190613580565b60405180910390f35b610193600480360381019061018e9190613650565b6109f3565b005b3480156101a157600080fd5b506101aa610a12565b6040516101b791906136c5565b60405180910390f35b3480156101cc57600080fd5b506101d5610a45565b6040516101e291906136ef565b60405180910390f35b3480156101f757600080fd5b50610200610ac7565b005b34801561020e57600080fd5b506102296004803603810190610224919061370a565b610adb565b005b34801561023757600080fd5b50610252600480360381019061024d91906137a2565b610b89565b005b34801561026057600080fd5b50610269610ba1565b604051610276919061382d565b60405180910390f35b34801561028b57600080fd5b506102a660048036038101906102a19190613848565b610bd9565b005b3480156102b457600080fd5b506102cf60048036038101906102ca919061370a565b610c66565b005b3480156102dd57600080fd5b506102f860048036038101906102f39190613910565b611052565b005b34801561030657600080fd5b5061030f61109e565b60405161031c91906139bc565b60405180910390f35b34801561033157600080fd5b5061034c60048036038101906103479190613a1c565b6110d7565b005b34801561035a57600080fd5b5061037560048036038101906103709190613b41565b611123565b005b34801561038357600080fd5b5061039e60048036038101906103999190613bce565b611344565b005b3480156103ac57600080fd5b506103c760048036038101906103c29190613bfb565b6113ca565b005b60006103d4836115df565b9050600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806104a057503373ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6104df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d690613cc1565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006105438787600a611781565b809750819850505061055687878761182f565b610595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058c90613d2d565b60405180910390fd5b6002875111806105a6575060028651115b156107065760006105ba888888601f611ca9565b90506105c4613144565b60005b601f811015610614578281815181106105e3576105e2613d4d565b5b60200260200101518282601f81106105fe576105fd613d4d565b5b60200201818152505080806001019150506105c7565b50603960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166344a173dd87600001886040018960c001856040518563ffffffff1660e01b815260040161067f9493929190613eff565b602060405180830381865afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c09190613f72565b6106ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f690613feb565b60405180910390fd5b505061085d565b60006107158888886007611ca9565b905061071f613167565b60005b600781101561076f5782818151811061073e5761073d613d4d565b5b602002602001015182826007811061075957610758613d4d565b5b6020020181815250508080600101915050610722565b50603860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c894e75787600001886040018960c001856040518563ffffffff1660e01b81526004016107da949392919061408f565b602060405180830381865afa1580156107f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081b9190613f72565b61085a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085190613feb565b60405180910390fd5b50505b6108678787611e60565b6000875167ffffffffffffffff811115610884576108836132bd565b5b6040519080825280602002602001820160405280156108b25781602001602082028036833780820191505090505b5090506000875167ffffffffffffffff8111156108d2576108d16132bd565b5b6040519080825280602002602001820160405280156109005781602001602082028036833780820191505090505b50905060005b895181101561098e5789818151811061092257610921613d4d565b5b602002602001015183828151811061093d5761093c613d4d565b5b60200260200101818152505088818151811061095c5761095b613d4d565b5b602002602001015182828151811061097757610976613d4d565b5b602002602001018181525050806001019050610906565b503373ffffffffffffffffffffffffffffffffffffffff167fcb56a7130431b68e0e636f24584d40580490c1bf882bef3701f317d47ba98c38838388886040516109db94939291906141ab565b60405180910390a26001925050509695505050505050565b6109fb611fc2565b610a04826120a8565b610a0e82826120b3565b5050565b6000610a1c6121d2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b6000600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__6379f9712590916040518263ffffffff1660e01b8152600401610a819190614200565b602060405180830381865af4158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac29190614230565b905090565b610acf612259565b610ad960006122e0565b565b6000845167ffffffffffffffff811115610af857610af76132bd565b5b604051908082528060200260200182016040528015610b265781602001602082028036833780820191505090505b5090508381600081518110610b3e57610b3d613d4d565b5b602002602001018181525050610b568582600a611781565b8092508196505050610b6985828561182f565b50610b778686868686610c66565b610b818582611e60565b505050505050565b610b91612259565b610b9c8383836123b7565b505050565b600080610bac6125c0565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b610be48585856113ca565b6000600167ffffffffffffffff811115610c0157610c006132bd565b5b604051908082528060200260200182016040528015610c2f5781602001602082028036833780820191505090505b5090508481600081518110610c4757610c46613d4d565b5b602002602001018181525050610c5e8184846123b7565b505050505050565b600284511115610e1457601784511115610cb85760176040517f71798fb5000000000000000000000000000000000000000000000000000000008152600401610caf91906136ef565b60405180910390fd5b6000610cc88686868660176125e8565b9050610cd2613189565b60005b6017811015610d2257828181518110610cf157610cf0613d4d565b5b6020026020010151828260178110610d0c57610d0b613d4d565b5b6020020181815250508080600101915050610cd5565b50603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a0c2a19a84600001856040018660c001856040518563ffffffff1660e01b8152600401610d8d94939291906142e1565b602060405180830381865afa158015610daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dce9190613f72565b610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0490613feb565b60405180910390fd5b5050610f6c565b6000610e248686868660076125e8565b9050610e2e613167565b60005b6007811015610e7e57828181518110610e4d57610e4c613d4d565b5b6020026020010151828260078110610e6857610e67613d4d565b5b6020020181815250508080600101915050610e31565b50603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c894e75784600001856040018660c001856040518563ffffffff1660e01b8152600401610ee9949392919061408f565b602060405180830381865afa158015610f06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2a9190613f72565b610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6090613feb565b60405180910390fd5b50505b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33876040518363ffffffff1660e01b8152600401610fc9929190614328565b6020604051808303816000875af1158015610fe8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100c9190613f72565b61104b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110429061439d565b60405180910390fd5b5050505050565b61105a612799565b80603460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6110df612259565b80603560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061112d6127d9565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff1614801561117b5750825b9050600060018367ffffffffffffffff161480156111b0575060003073ffffffffffffffffffffffffffffffffffffffff163b145b9050811580156111be575080155b156111f5576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083156112455760018560000160086101000a81548160ff0219169083151502179055505b61124e8b612801565b611259898988612881565b89603860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086603960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083156113375760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2600160405161132e9190614416565b60405180910390a15b5050505050505050505050565b61134c612259565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113be5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016113b5919061382d565b60405180910390fd5b6113c7816122e0565b50565b6113d26131ac565b83816000600281106113e7576113e6613d4d565b5b602002018181525050828160016002811061140557611404613d4d565b5b602002018181525050603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f5c9d69e83600001846040018560c001856040518563ffffffff1660e01b815260040161147894939291906144b5565b602060405180830381865afa158015611495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b99190613f72565b6114f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ef90613feb565b60405180910390fd5b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b8152600401611557939291906144fc565b6020604051808303816000875af1158015611576573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159a9190613f72565b6115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d09061439d565b60405180910390fd5b50505050565b6000806040518061010001604052808460000160006002811061160557611604613d4d565b5b602002013581526020018460000160016002811061162657611625613d4d565b5b602002013581526020018460400160006002811061164757611646613d4d565b5b6040020160006002811061165e5761165d613d4d565b5b602002013581526020018460400160006002811061167f5761167e613d4d565b5b6040020160016002811061169657611695613d4d565b5b60200201358152602001846040016001600281106116b7576116b6613d4d565b5b604002016000600281106116ce576116cd613d4d565b5b60200201358152602001846040016001600281106116ef576116ee613d4d565b5b6040020160016002811061170657611705613d4d565b5b602002013581526020018460c00160006002811061172757611726613d4d565b5b602002013581526020018460c00160016002811061174857611747613d4d565b5b602002013581525090508060405160200161176391906145de565b60405160208183030381529060405280519060200120915050919050565b6060806000855190506000855190508482118061179d57508481115b156117df57846040517f9ebbc98e0000000000000000000000000000000000000000000000000000000081526004016117d691906136ef565b60405180910390fd5b600060028311806117f05750600282115b156117fd57859050611802565b600290505b61180e88826000612919565b975061181c87826000612919565b9650878794509450505050935093915050565b600080600061183e8686612a15565b9150915060005b82518110156119c557600083828151811061186357611862613d4d565b5b602002602001015103156119ba576000811180156118c057508260018261188a9190614629565b8151811061189b5761189a613d4d565b5b60200260200101518382815181106118b6576118b5613d4d565b5b6020026020010151145b1561191c578281815181106118d8576118d7613d4d565b5b60200260200101516040517fdd57483100000000000000000000000000000000000000000000000000000000815260040161191391906136ef565b60405180910390fd5b600115156033600085848151811061193757611936613d4d565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff161515036119b95782818151811061197557611974613d4d565b5b60200260200101516040517f41a06d280000000000000000000000000000000000000000000000000000000081526004016119b091906136ef565b60405180910390fd5b5b806001019050611845565b5060005b8151811015611bdd5760008282815181106119e7576119e6613d4d565b5b60200260200101510315611bd257600081118015611a44575081600182611a0e9190614629565b81518110611a1f57611a1e613d4d565b5b6020026020010151828281518110611a3a57611a39613d4d565b5b6020026020010151145b15611aa057818181518110611a5c57611a5b613d4d565b5b60200260200101516040517fdd574831000000000000000000000000000000000000000000000000000000008152600401611a9791906136ef565b60405180910390fd5b6000611ac5838381518110611ab857611ab7613d4d565b5b6020026020010151612b7d565b90506000600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__63e170cf6e9091846040518363ffffffff1660e01b8152600401611b0592919061466c565b60a060405180830381865af4158015611b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b46919061474b565b905060006002811115611b5c57611b5b614778565b5b81600001516002811115611b7357611b72614778565b5b14611bcf57838381518110611b8b57611b8a613d4d565b5b60200260200101516040517f79e1da47000000000000000000000000000000000000000000000000000000008152600401611bc691906136ef565b60405180910390fd5b50505b8060010190506119c9565b50600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__6392f5b06c9091866040518363ffffffff1660e01b8152600401611c1a92919061466c565b602060405180830381865af4158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190613f72565b611c9c57836040517f4acd7ab8000000000000000000000000000000000000000000000000000000008152600401611c9391906136ef565b60405180910390fd5b6001925050509392505050565b60608167ffffffffffffffff811115611cc557611cc46132bd565b5b604051908082528060200260200182016040528015611cf35781602001602082028036833780820191505090505b5090506000805b8651811015611d5657868181518110611d1657611d15613d4d565b5b6020026020010151838380611d2a906147a7565b945081518110611d3d57611d3c613d4d565b5b6020026020010181815250508080600101915050611cfa565b5083828280611d64906147a7565b935081518110611d7757611d76613d4d565b5b60200260200101818152505060005b8651811015611df6576000878281518110611da457611da3613d4d565b5b602002602001015114611db8576001611dbb565b60005b60ff16838380611dca906147a7565b945081518110611ddd57611ddc613d4d565b5b6020026020010181815250508080600101915050611d86565b5060005b8551811015611e5657858181518110611e1657611e15613d4d565b5b6020026020010151838380611e2a906147a7565b945081518110611e3d57611e3c613d4d565b5b6020026020010181815250508080600101915050611dfa565b5050949350505050565b60005b8251811015611ee0576000838281518110611e8157611e80613d4d565b5b602002602001015114611ed557600160336000858481518110611ea757611ea6613d4d565b5b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055505b806001019050611e63565b5060005b8151811015611fbd576000828281518110611f0257611f01613d4d565b5b602002602001015114611fb257600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__63c1d29f019091848481518110611f4057611f3f613d4d565b5b6020026020010151858581518110611f5b57611f5a613d4d565b5b60200260200101516040518463ffffffff1660e01b8152600401611f81939291906147ef565b60006040518083038186803b158015611f9957600080fd5b505af4158015611fad573d6000803e3d6000fd5b505050505b806001019050611ee4565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148061206f57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16612056612c1e565b73ffffffffffffffffffffffffffffffffffffffff1614155b156120a6576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6120b0612259565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561211b57506040513d601f19601f820116820180604052508101906121189190614852565b60015b61215c57816040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401612153919061382d565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b81146121c357806040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004016121ba91906136c5565b60405180910390fd5b6121cd8383612c75565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614612257576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612261612ce8565b73ffffffffffffffffffffffffffffffffffffffff1661227f610ba1565b73ffffffffffffffffffffffffffffffffffffffff16146122de576122a2612ce8565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016122d5919061382d565b60405180910390fd5b565b60006122ea6125c0565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b83518110156125685760008482815181106123d8576123d7613d4d565b5b60200260200101519050600081036123f0575061255d565b60006123fb82612b7d565b90506000600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__63e170cf6e9091846040518363ffffffff1660e01b815260040161243b92919061466c565b60a060405180830381865af4158015612458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061247c919061474b565b90506000600281111561249257612491614778565b5b816000015160028111156124a9576124a8614778565b5b146124eb57826040517f79e1da470000000000000000000000000000000000000000000000000000000081526004016124e291906136ef565b60405180910390fd5b600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__63c1d29f01909185866040518463ffffffff1660e01b8152600401612529939291906147ef565b60006040518083038186803b15801561254157600080fd5b505af4158015612555573d6000803e3d6000fd5b505050505050505b8060010190506123ba565b503373ffffffffffffffffffffffffffffffffffffffff167f7ff08e0ca1fce6b202b83128811e4f6ceda54930aa074cd365bf68f95c20ce198484846040516125b39392919061487f565b60405180910390a2505050565b60007f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b60608167ffffffffffffffff811115612604576126036132bd565b5b6040519080825280602002602001820160405280156126325781602001602082028036833780820191505090505b509050600086828280612644906147a7565b93508151811061265757612656613d4d565b5b60200260200101818152505060005b86518110156126c25786818151811061268257612681613d4d565b5b6020026020010151838380612696906147a7565b9450815181106126a9576126a8613d4d565b5b6020026020010181815250508080600101915050612666565b50838282806126d0906147a7565b9350815181106126e3576126e2613d4d565b5b60200260200101818152505060005b86518110156127625760008782815181106127105761270f613d4d565b5b602002602001015114612724576001612727565b60005b60ff16838380612736906147a7565b94508151811061274957612748613d4d565b5b60200260200101818152505080806001019150506126f2565b5084828280612770906147a7565b93508151811061278357612782613d4d565b5b6020026020010181815250505095945050505050565b6127a1612cf0565b6127d7576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b612809612799565b61281281612d10565b600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__639e43b8139091604080518363ffffffff1660e01b815260040161284e92919061466c565b60006040518083038186803b15801561286657600080fd5b505af415801561287a573d6000803e3d6000fd5b5050505050565b612889612799565b61289283611052565b81603660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080603760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60608284510361292b57839050612a0e565b60008367ffffffffffffffff811115612947576129466132bd565b5b6040519080825280602002602001820160405280156129755781602001602082028036833780820191505090505b50905060005b85518110156129cb5785818151811061299757612996613d4d565b5b60200260200101518282815181106129b2576129b1613d4d565b5b602002602001018181525050808060010191505061297b565b506000855190505b84811015612a0857838282815181106129ef576129ee613d4d565b5b60200260200101818152505080806001019150506129d3565b50809150505b9392505050565b6060806000845167ffffffffffffffff811115612a3557612a346132bd565b5b604051908082528060200260200182016040528015612a635781602001602082028036833780820191505090505b5090506000845167ffffffffffffffff811115612a8357612a826132bd565b5b604051908082528060200260200182016040528015612ab15781602001602082028036833780820191505090505b50905060005b8651811015612b0557868181518110612ad357612ad2613d4d565b5b6020026020010151838281518110612aee57612aed613d4d565b5b602002602001018181525050806001019050612ab7565b5060005b8551811015612b5757858181518110612b2557612b24613d4d565b5b6020026020010151828281518110612b4057612b3f613d4d565b5b602002602001018181525050806001019050612b09565b50612b6182612d24565b9150612b6c81612d24565b905081819350935050509250929050565b60008060405180606001604052808481526020018481526020016001815250905073__$03320550cd1b629da90608251571b2532e$__6325cc70e8826040518263ffffffff1660e01b8152600401612bd59190614963565b602060405180830381865af4158015612bf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c169190614230565b915050919050565b6000612c4c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612d3b565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612c7e82612d45565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a2600081511115612cdb57612cd58282612e12565b50612ce4565b612ce3612e96565b5b5050565b600033905090565b6000612cfa6127d9565b60000160089054906101000a900460ff16905090565b612d18612799565b612d2181612ed3565b50565b6060612d3282612ee7612ef4565b50819050919050565b6000819050919050565b60008173ffffffffffffffffffffffffffffffffffffffff163b03612da157806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401612d98919061382d565b60405180910390fd5b80612dce7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612d3b565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051612e3c91906149c5565b600060405180830381855af49150503d8060008114612e77576040519150601f19603f3d011682016040523d82523d6000602084013e612e7c565b606091505b5091509150612e8c858383612f1a565b9250505092915050565b6000341115612ed1576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612edb612799565b612ee481612fa9565b50565b6000818310905092915050565b6060612f11612f028461302f565b612f0b8561303c565b84613054565b82905092915050565b606082612f2f57612f2a826130e4565b612fa1565b60008251148015612f57575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15612f9957836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401612f90919061382d565b60405180910390fd5b819050612fa2565b5b9392505050565b612fb1612799565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036130235760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161301a919061382d565b60405180910390fd5b61302c816122e0565b50565b6000602082019050919050565b6000602082510261304c8361302f565b019050919050565b6040838303106130df57600061306984613129565b9050600084905060006020860190505b848110156130b85761309761308d82613129565b848663ffffffff16565b156130ad576020820191506130ac8282613134565b5b602081019050613079565b506130c38582613134565b6130ce858285613054565b6130dc602082018585613054565b50505b505050565b6000815111156130f75780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081519050919050565b8151815180845281835250505050565b604051806103e00160405280601f90602082028036833780820191505090505090565b6040518060e00160405280600790602082028036833780820191505090505090565b604051806102e00160405280601790602082028036833780820191505090505090565b6040518060400160405280600290602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600061010082840312156131fe576131fd6131e2565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061323282613207565b9050919050565b61324281613227565b811461324d57600080fd5b50565b60008135905061325f81613239565b92915050565b600080610120838503121561327d5761327c6131d8565b5b600061328b858286016131e7565b92505061010061329d85828601613250565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6132f5826132ac565b810181811067ffffffffffffffff82111715613314576133136132bd565b5b80604052505050565b60006133276131ce565b905061333382826132ec565b919050565b600067ffffffffffffffff821115613353576133526132bd565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b61337c81613369565b811461338757600080fd5b50565b60008135905061339981613373565b92915050565b60006133b26133ad84613338565b61331d565b905080838252602082019050602084028301858111156133d5576133d4613364565b5b835b818110156133fe57806133ea888261338a565b8452602084019350506020810190506133d7565b5050509392505050565b600082601f83011261341d5761341c6132a7565b5b813561342d84826020860161339f565b91505092915050565b600080fd5b60008083601f840112613451576134506132a7565b5b8235905067ffffffffffffffff81111561346e5761346d613436565b5b60208301915083600182028301111561348a57613489613364565b5b9250929050565b60008060008060008061018087890312156134af576134ae6131d8565b5b600087013567ffffffffffffffff8111156134cd576134cc6131dd565b5b6134d989828a01613408565b965050602087013567ffffffffffffffff8111156134fa576134f96131dd565b5b61350689828a01613408565b955050604061351789828a0161338a565b945050606061352889828a016131e7565b93505061016087013567ffffffffffffffff81111561354a576135496131dd565b5b61355689828a0161343b565b92509250509295509295509295565b60008115159050919050565b61357a81613565565b82525050565b60006020820190506135956000830184613571565b92915050565b600080fd5b600067ffffffffffffffff8211156135bb576135ba6132bd565b5b6135c4826132ac565b9050602081019050919050565b82818337600083830152505050565b60006135f36135ee846135a0565b61331d565b90508281526020810184848401111561360f5761360e61359b565b5b61361a8482856135d1565b509392505050565b600082601f830112613637576136366132a7565b5b81356136478482602086016135e0565b91505092915050565b60008060408385031215613667576136666131d8565b5b600061367585828601613250565b925050602083013567ffffffffffffffff811115613696576136956131dd565b5b6136a285828601613622565b9150509250929050565b6000819050919050565b6136bf816136ac565b82525050565b60006020820190506136da60008301846136b6565b92915050565b6136e981613369565b82525050565b600060208201905061370460008301846136e0565b92915050565b60008060008060006101808688031215613727576137266131d8565b5b60006137358882890161338a565b955050602086013567ffffffffffffffff811115613756576137556131dd565b5b61376288828901613408565b94505060406137738882890161338a565b93505060606137848882890161338a565b9250506080613795888289016131e7565b9150509295509295909350565b6000806000604084860312156137bb576137ba6131d8565b5b600084013567ffffffffffffffff8111156137d9576137d86131dd565b5b6137e586828701613408565b935050602084013567ffffffffffffffff811115613806576138056131dd565b5b6138128682870161343b565b92509250509250925092565b61382781613227565b82525050565b6000602082019050613842600083018461381e565b92915050565b60008060008060006101608688031215613865576138646131d8565b5b60006138738882890161338a565b95505060206138848882890161338a565b9450506040613895888289016131e7565b93505061014086013567ffffffffffffffff8111156138b7576138b66131dd565b5b6138c38882890161343b565b92509250509295509295909350565b60006138dd82613227565b9050919050565b6138ed816138d2565b81146138f857600080fd5b50565b60008135905061390a816138e4565b92915050565b600060208284031215613926576139256131d8565b5b6000613934848285016138fb565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561397757808201518184015260208101905061395c565b60008484015250505050565b600061398e8261393d565b6139988185613948565b93506139a8818560208601613959565b6139b1816132ac565b840191505092915050565b600060208201905081810360008301526139d68184613983565b905092915050565b60006139e982613227565b9050919050565b6139f9816139de565b8114613a0457600080fd5b50565b600081359050613a16816139f0565b92915050565b600060208284031215613a3257613a316131d8565b5b6000613a4084828501613a07565b91505092915050565b6000613a5482613227565b9050919050565b613a6481613a49565b8114613a6f57600080fd5b50565b600081359050613a8181613a5b565b92915050565b6000613a9282613227565b9050919050565b613aa281613a87565b8114613aad57600080fd5b50565b600081359050613abf81613a99565b92915050565b6000613ad082613227565b9050919050565b613ae081613ac5565b8114613aeb57600080fd5b50565b600081359050613afd81613ad7565b92915050565b6000613b0e82613227565b9050919050565b613b1e81613b03565b8114613b2957600080fd5b50565b600081359050613b3b81613b15565b92915050565b60008060008060008060c08789031215613b5e57613b5d6131d8565b5b6000613b6c89828a01613250565b9650506020613b7d89828a01613a72565b9550506040613b8e89828a016138fb565b9450506060613b9f89828a01613ab0565b9350506080613bb089828a01613aee565b92505060a0613bc189828a01613b2c565b9150509295509295509295565b600060208284031215613be457613be36131d8565b5b6000613bf284828501613250565b91505092915050565b60008060006101408486031215613c1557613c146131d8565b5b6000613c238682870161338a565b9350506020613c348682870161338a565b9250506040613c45868287016131e7565b9150509250925092565b7f50726f6f6620616c7265616479206c6f636b656420627920616e6f746865722060008201527f7061727479000000000000000000000000000000000000000000000000000000602082015250565b6000613cab602583613948565b9150613cb682613c4f565b604082019050919050565b60006020820190508181036000830152613cda81613c9e565b9050919050565b7f496e76616c6964207472616e73616374696f6e2070726f706f73616c00000000600082015250565b6000613d17601c83613948565b9150613d2282613ce1565b602082019050919050565b60006020820190508181036000830152613d4681613d0a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b82818337505050565b613d9160408383613d7c565b5050565b600060029050919050565b600081905092915050565b6000819050919050565b613dc160408383613d7c565b5050565b6000613dd18383613db5565b60408301905092915050565b600082905092915050565b6000604082019050919050565b613dfe81613d95565b613e088184613da0565b9250613e1382613dab565b8060005b83811015613e4c57613e298284613ddd565b613e338782613dc5565b9650613e3e83613de8565b925050600181019050613e17565b505050505050565b6000601f9050919050565b600081905092915050565b6000819050919050565b613e7d81613369565b82525050565b6000613e8f8383613e74565b60208301905092915050565b6000602082019050919050565b613eb181613e54565b613ebb8184613e5f565b9250613ec682613e6a565b8060005b83811015613ef7578151613ede8782613e83565b9650613ee983613e9b565b925050600181019050613eca565b505050505050565b60006104e082019050613f156000830187613d85565b613f226040830186613df5565b613f2f60c0830185613d85565b613f3d610100830184613ea8565b95945050505050565b613f4f81613565565b8114613f5a57600080fd5b50565b600081519050613f6c81613f46565b92915050565b600060208284031215613f8857613f876131d8565b5b6000613f9684828501613f5d565b91505092915050565b7f496e76616c69642070726f6f6600000000000000000000000000000000000000600082015250565b6000613fd5600d83613948565b9150613fe082613f9f565b602082019050919050565b6000602082019050818103600083015261400481613fc8565b9050919050565b600060079050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b6140418161400b565b61404b8184614016565b925061405682614021565b8060005b8381101561408757815161406e8782613e83565b96506140798361402b565b92505060018101905061405a565b505050505050565b60006101e0820190506140a56000830187613d85565b6140b26040830186613df5565b6140bf60c0830185613d85565b6140cd610100830184614038565b95945050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000602082019050919050565b600061411a826140d6565b61412481856140e1565b935061412f836140f2565b8060005b838110156141605781516141478882613e83565b975061415283614102565b925050600181019050614133565b5085935050505092915050565b600082825260208201905092915050565b600061418a838561416d565b93506141978385846135d1565b6141a0836132ac565b840190509392505050565b600060608201905081810360008301526141c5818761410f565b905081810360208301526141d9818661410f565b905081810360408301526141ee81848661417e565b905095945050505050565b8082525050565b600060208201905061421560008301846141f9565b92915050565b60008151905061422a81613373565b92915050565b600060208284031215614246576142456131d8565b5b60006142548482850161421b565b91505092915050565b600060179050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b6142938161425d565b61429d8184614268565b92506142a882614273565b8060005b838110156142d95781516142c08782613e83565b96506142cb8361427d565b9250506001810190506142ac565b505050505050565b60006103e0820190506142f76000830187613d85565b6143046040830186613df5565b61431160c0830185613d85565b61431f61010083018461428a565b95945050505050565b600060408201905061433d600083018561381e565b61434a60208301846136e0565b9392505050565b7f4661696c656420746f207472616e7366657220455243323020746f6b656e7300600082015250565b6000614387601f83613948565b915061439282614351565b602082019050919050565b600060208201905081810360008301526143b68161437a565b9050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000819050919050565b60006144006143fb6143f6846143bd565b6143db565b6143c7565b9050919050565b614410816143e5565b82525050565b600060208201905061442b6000830184614407565b92915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b61446781614431565b614471818461443c565b925061447c82614447565b8060005b838110156144ad5781516144948782613e83565b965061449f83614451565b925050600181019050614480565b505050505050565b6000610140820190506144cb6000830187613d85565b6144d86040830186613df5565b6144e560c0830185613d85565b6144f361010083018461445e565b95945050505050565b6000606082019050614511600083018661381e565b61451e602083018561381e565b61452b60408301846136e0565b949350505050565b600060089050919050565b600081905092915050565b6000819050919050565b61455c81613369565b82525050565b600061456e8383614553565b60208301905092915050565b6000602082019050919050565b61459081614533565b61459a818461453e565b92506145a582614549565b8060005b838110156145d65781516145bd8782614562565b96506145c88361457a565b9250506001810190506145a9565b505050505050565b60006145ea8284614587565b6101008201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061463482613369565b915061463f83613369565b9250828203905081811115614657576146566145fa565b5b92915050565b61466681613369565b82525050565b600060408201905061468160008301856141f9565b61468e602083018461465d565b9392505050565b600080fd5b600381106146a757600080fd5b50565b6000815190506146b98161469a565b92915050565b600060a082840312156146d5576146d4614695565b5b6146df60a061331d565b905060006146ef848285016146aa565b60008301525060206147038482850161421b565b60208301525060406147178482850161421b565b604083015250606061472b8482850161421b565b606083015250608061473f8482850161421b565b60808301525092915050565b600060a08284031215614761576147606131d8565b5b600061476f848285016146bf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006147b282613369565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036147e4576147e36145fa565b5b600182019050919050565b600060608201905061480460008301866141f9565b614811602083018561465d565b61481e604083018461465d565b949350505050565b61482f816136ac565b811461483a57600080fd5b50565b60008151905061484c81614826565b92915050565b600060208284031215614868576148676131d8565b5b60006148768482850161483d565b91505092915050565b60006040820190508181036000830152614899818661410f565b905081810360208301526148ae81848661417e565b9050949350505050565b600060039050919050565b600081905092915050565b6000819050919050565b6148e181613369565b82525050565b60006148f383836148d8565b60208301905092915050565b6000602082019050919050565b614915816148b8565b61491f81846148c3565b925061492a826148ce565b8060005b8381101561495b57815161494287826148e7565b965061494d836148ff565b92505060018101905061492e565b505050505050565b6000606082019050614978600083018461490c565b92915050565b600081519050919050565b600081905092915050565b600061499f8261497e565b6149a98185614989565b93506149b9818560208601613959565b80840191505092915050565b60006149d18284614994565b91508190509291505056fea2646970667358221220b4b2ba8cddbc85df7ba32c78f3e39d75ed70ace0a752198cd7854e0001a2faed64736f6c634300081b0033 + from: zeto.operator + linkReferencesJSON: |- + { + "@iden3/contracts/lib/Poseidon.sol": { + "PoseidonUnit3L": [ + { + "length": 20, + "start": 11276 + } + ] + }, + "@iden3/contracts/lib/SmtLib.sol": { + "SmtLib": [ + { + "length": 20, + "start": 2743 + }, + { + "length": 20, + "start": 6969 + }, + { + "length": 20, + "start": 7246 + }, + { + "length": 20, + "start": 8063 + }, + { + "length": 20, + "start": 9327 + }, + { + "length": 20, + "start": 9563 + }, + { + "length": 20, + "start": 10370 + } + ] + } + } + linkedContracts: + PoseidonUnit3L: '{{index .status.resolvedContractAddresses "zeto-poseidon-unit3l"}}' + SmtLib: '{{index .status.resolvedContractAddresses "zeto-smt-lib"}}' + node: node1 + paramsJSON: '{}' + requiredContractDeployments: + - zeto-poseidon-unit3l + - zeto-smt-lib + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-poseidon-unit2l +spec: + abiJSON: |- + [ + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[2]", + "name": "input", + "type": "bytes32[2]" + } + ], + "name": "poseidon", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256[2]", + "name": "input", + "type": "uint256[2]" + } + ], + "name": "poseidon", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + } + ] + bytecode: 0x38600c60003961260f6000f37c010000000000000000000000000000000000000000000000000000000060003504806329a5f2f6149063299e566014176200003757fe5b7f109b7f411ba0e4c9b2b70caf5c36a7b194be7c11ad24378bfedb68592ba8118b6020527f16ed41e13bb9c0c66ae119424fddbcbc9314dc9fdbdeea55d6c64543dc4903e06040527f2b90bba00fca0589f617e7dcbfe82e0df706ab640ceb247b791a93b74e36736d6060527f2969f27eed31a480b9c36c764379dbca2cc8fdd1415c3dded62940bcde0bd7716080527f2e2419f9ec02ec394c9871c832963dc1b89d743c8c7b964029b2311687b1fe2360a0527f101071f0032379b697315876690f053d148d4e109f5fb065c8aacc55a0f89bfa60c0527f143021ec686a3f330d5f9e654638065ce6cd79e28c5b3753326244ee65a1b1a760e0527f176cc029695ad02582a70eff08a6fd99d057e12e58e7d7b6b16cdfabc8ee2911610100527f19a3fc0a56702bf417ba7fee3802593fa644470307043f7773279cd71d25d5e0610120527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016024356004356000837f0ee9a592ba9a9518d05986d656f40c2114c4993c11bb29938d21d47304cd8e6e82089050837f00f1445235f2148c5986587169fc1bcd887b08d4d00868df5696fff40956e86483089150837f08dff3487e8ac99e1f29a058d0fa80b930c728730b7ab36ce879f3890ecf73f58408925083818180828009800909905083828180828009800909915083838180828009800909925062000249600052620025ba565b837f2f27be690fdaee46c3ce28f7532b13c856c35342c84bda6e20966310fadc01d082089050837f2b2ae1acf68b7b8d2416bebf3d4f6234b763fe04b8043ee48b8327bebca16cf283089150837f0319d062072bef7ecca5eac06f97d4d55952c175ab6b03eae64b44c7dbf11cfa84089250838181808280098009099050838281808280098009099150838381808280098009099250620002ec600052620025ba565b837f28813dcaebaeaa828a376df87af4a63bc8b7bf27ad49c6298ef7b387bf28526d82089050837f2727673b2ccbc903f181bf38e1c1d40d2033865200c352bc150928adddf9cb7883089150837f234ec45ca27727c2e74abd2b2a1494cd6efbd43e340587d6b8fb9e31e65cc632840892508381818082800980090990508382818082800980090991508383818082800980090992506200038f600052620025ba565b837f15b52534031ae18f7f862cb2cf7cf760ab10a8150a337b1ccd99ff6e8797d42882089050837f0dc8fad6d9e4b35f5ed9a3d186b79ce38e0e8a8d1b58b132d701d4eecf68d1f683089150837f1bcd95ffc211fbca600f705fad3fb567ea4eb378f62e1fec97805518a47e4d9c8408925083818180828009800909905083828180828009800909915083838180828009800909925062000432600052620025ba565b837f10520b0ab721cadfe9eff81b016fc34dc76da36c2578937817cb978d069de55982089050837f1f6d48149b8e7f7d9b257d8ed5fbbaf42932498075fed0ace88a9eb81f5627f683089150837f1d9655f652309014d29e00ef35a2089bfff8dc1c816f0dc9ca34bdb5460c870584089250838181808280098009099050620004bd600052620025ba565b837f04df5a56ff95bcafb051f7b1cd43a99ba731ff67e47032058fe3d4185697cc7d82089050837f0672d995f8fff640151b3d290cedaf148690a10a8c8424a7f6ec282b6e4be82883089150837f099952b414884454b21200d7ffafdd5f0c9a9dcc06f2708e9fc1d8209b5c75b98408925083818180828009800909905062000548600052620025ba565b837f052cba2255dfd00c7c483143ba8d469448e43586a9b4cd9183fd0e843a6b9fa682089050837f0b8badee690adb8eb0bd74712b7999af82de55707251ad7716077cb93c464ddc83089150837f119b1590f13307af5a1ee651020c07c749c15d60683a8050b963d0a8e4b2bdd184089250838181808280098009099050620005d3600052620025ba565b837f03150b7cd6d5d17b2529d36be0f67b832c4acfc884ef4ee5ce15be0bfb4a8d0982089050837f2cc6182c5e14546e3cf1951f173912355374efb83d80898abe69cb317c9ea56583089150837f005032551e6378c450cfe129a404b3764218cadedac14e2b92d2cd73111bf0f9840892508381818082800980090990506200065e600052620025ba565b837f233237e3289baa34bb147e972ebcb9516469c399fcc069fb88f9da2cc28276b582089050837f05c8f4f4ebd4a6e3c980d31674bfbe6323037f21b34ae5a4e80c2d4c24d6028083089150837f0a7b1db13042d396ba05d818a319f25252bcf35ef3aeed91ee1f09b2590fc65b84089250838181808280098009099050620006e9600052620025ba565b837f2a73b71f9b210cf5b14296572c9d32dbf156e2b086ff47dc5df542365a404ec082089050837f1ac9b0417abcc9a1935107e9ffc91dc3ec18f2c4dbe7f22976a760bb5c50c46083089150837f12c0339ae08374823fabb076707ef479269f3e4d6cb104349015ee046dc93fc08408925083818180828009800909905062000774600052620025ba565b837f0b7475b102a165ad7f5b18db4e1e704f52900aa3253baac68246682e56e9a28e82089050837f037c2849e191ca3edb1c5e49f6e8b8917c843e379366f2ea32ab3aa88d7f844883089150837f05a6811f8556f014e92674661e217e9bd5206c5c93a07dc145fdb176a716346f84089250838181808280098009099050620007ff600052620025ba565b837f29a795e7d98028946e947b75d54e9f044076e87a7b2883b47b675ef5f38bd66e82089050837f20439a0c84b322eb45a3857afc18f5826e8c7382c8a1585c507be199981fd22f83089150837f2e0ba8d94d9ecf4a94ec2050c7371ff1bb50f27799a84b6d4a2a6f2a0982c887840892508381818082800980090990506200088a600052620025ba565b837f143fd115ce08fb27ca38eb7cce822b4517822cd2109048d2e6d0ddcca17d71c882089050837f0c64cbecb1c734b857968dbbdcf813cdf8611659323dbcbfc84323623be9caf183089150837f028a305847c683f646fca925c163ff5ae74f348d62c2b670f1426cef9403da538408925083818180828009800909905062000915600052620025ba565b837f2e4ef510ff0b6fda5fa940ab4c4380f26a6bcb64d89427b824d6755b5db9e30c82089050837f0081c95bc43384e663d79270c956ce3b8925b4f6d033b078b96384f50579400e83089150837f2ed5f0c91cbd9749187e2fade687e05ee2491b349c039a0bba8a9f4023a0bb3884089250838181808280098009099050620009a0600052620025ba565b837f30509991f88da3504bbf374ed5aae2f03448a22c76234c8c990f01f33a73520682089050837f1c3f20fd55409a53221b7c4d49a356b9f0a1119fb2067b41a7529094424ec6ad83089150837f10b4e7f3ab5df003049514459b6e18eec46bb2213e8e131e170887b47ddcb96c8408925083818180828009800909905062000a2b600052620025ba565b837f2a1982979c3ff7f43ddd543d891c2abddd80f804c077d775039aa3502e43adef82089050837f1c74ee64f15e1db6feddbead56d6d55dba431ebc396c9af95cad0f1315bd5c9183089150837f07533ec850ba7f98eab9303cace01b4b9e4f2e8b82708cfa9c2fe45a0ae146a08408925083818180828009800909905062000ab6600052620025ba565b837f21576b438e500449a151e4eeaf17b154285c68f42d42c1808a11abf3764c075082089050837f2f17c0559b8fe79608ad5ca193d62f10bce8384c815f0906743d6930836d4a9e83089150837f2d477e3862d07708a79e8aae946170bc9775a4201318474ae665b0b1b7e2730e8408925083818180828009800909905062000b41600052620025ba565b837f162f5243967064c390e095577984f291afba2266c38f5abcd89be0f5b2747eab82089050837f2b4cb233ede9ba48264ecd2c8ae50d1ad7a8596a87f29f8a7777a7009239331183089150837f2c8fbcb2dd8573dc1dbaf8f4622854776db2eece6d85c4cf4254e7c35e03b07a8408925083818180828009800909905062000bcc600052620025ba565b837f1d6f347725e4816af2ff453f0cd56b199e1b61e9f601e9ade5e88db870949da982089050837f204b0c397f4ebe71ebc2d8b3df5b913df9e6ac02b68d31324cd49af5c456552983089150837f0c4cb9dc3c4fd8174f1149b3c63c3c2f9ecb827cd7dc25534ff8fb75bc79c5028408925083818180828009800909905062000c57600052620025ba565b837f174ad61a1448c899a25416474f4930301e5c49475279e0639a616ddc45bc7b5482089050837f1a96177bcf4d8d89f759df4ec2f3cde2eaaa28c177cc0fa13a9816d49a38d2ef83089150837f066d04b24331d71cd0ef8054bc60c4ff05202c126a233c1a8242ace360b8a30a8408925083818180828009800909905062000ce2600052620025ba565b837f2a4c4fc6ec0b0cf52195782871c6dd3b381cc65f72e02ad527037a62aa1bd80482089050837f13ab2d136ccf37d447e9f2e14a7cedc95e727f8446f6d9d7e55afc01219fd64983089150837f1121552fca26061619d24d843dc82769c1b04fcec26f55194c2e3e869acc6a9a8408925083818180828009800909905062000d6d600052620025ba565b837f00ef653322b13d6c889bc81715c37d77a6cd267d595c4a8909a5546c7c97cff182089050837f0e25483e45a665208b261d8ba74051e6400c776d652595d9845aca35d8a397d383089150837f29f536dcb9dd7682245264659e15d88e395ac3d4dde92d8c46448db979eeba898408925083818180828009800909905062000df8600052620025ba565b837f2a56ef9f2c53febadfda33575dbdbd885a124e2780bbea170e456baace0fa5be82089050837f1c8361c78eb5cf5decfb7a2d17b5c409f2ae2999a46762e8ee416240a8cb9af183089150837f151aff5f38b20a0fc0473089aaf0206b83e8e68a764507bfd3d0ab4be74319c58408925083818180828009800909905062000e83600052620025ba565b837f04c6187e41ed881dc1b239c88f7f9d43a9f52fc8c8b6cdd1e76e47615b51f10082089050837f13b37bd80f4d27fb10d84331f6fb6d534b81c61ed15776449e801b7ddc9c296783089150837f01a5c536273c2d9df578bfbd32c17b7a2ce3664c2a52032c9321ceb1c4e8a8e48408925083818180828009800909905062000f0e600052620025ba565b837f2ab3561834ca73835ad05f5d7acb950b4a9a2c666b9726da832239065b7c3b0282089050837f1d4d8ec291e720db200fe6d686c0d613acaf6af4e95d3bf69f7ed516a597b64683089150837f041294d2cc484d228f5784fe7919fd2bb925351240a04b711514c9c80b65af1d8408925083818180828009800909905062000f99600052620025ba565b837f154ac98e01708c611c4fa715991f004898f57939d126e392042971dd90e81fc682089050837f0b339d8acca7d4f83eedd84093aef51050b3684c88f8b0b04524563bc6ea4da483089150837f0955e49e6610c94254a4f84cfbab344598f0e71eaff4a7dd81ed95b50839c82e8408925083818180828009800909905062001024600052620025ba565b837f06746a6156eba54426b9e22206f15abca9a6f41e6f535c6f3525401ea065462682089050837f0f18f5a0ecd1423c496f3820c549c27838e5790e2bd0a196ac917c7ff32077fb83089150837f04f6eeca1751f7308ac59eff5beb261e4bb563583ede7bc92a738223d6f76e1384089250838181808280098009099050620010af600052620025ba565b837f2b56973364c4c4f5c1a3ec4da3cdce038811eb116fb3e45bc1768d26fc0b375882089050837f123769dd49d5b054dcd76b89804b1bcb8e1392b385716a5d83feb65d437f29ef83089150837f2147b424fc48c80a88ee52b91169aacea989f6446471150994257b2fb01c63e9840892508381818082800980090990506200113a600052620025ba565b837f0fdc1f58548b85701a6c5505ea332a29647e6f34ad4243c2ea54ad897cebe54d82089050837f12373a8251fea004df68abcf0f7786d4bceff28c5dbbe0c3944f685cc0a0b1f283089150837f21e4f4ea5f35f85bad7ea52ff742c9e8a642756b6af44203dd8a1f35c1a9003584089250838181808280098009099050620011c5600052620025ba565b837f16243916d69d2ca3dfb4722224d4c462b57366492f45e90d8a81934f1bc3b14782089050837f1efbe46dd7a578b4f66f9adbc88b4378abc21566e1a0453ca13a4159cac04ac283089150837f07ea5e8537cf5dd08886020e23a7f387d468d5525be66f853b672cc96a88969a8408925083818180828009800909905062001250600052620025ba565b837f05a8c4f9968b8aa3b7b478a30f9a5b63650f19a75e7ce11ca9fe16c0b76c00bc82089050837f20f057712cc21654fbfe59bd345e8dac3f7818c701b9c7882d9d57b72a32e83f83089150837f04a12ededa9dfd689672f8c67fee31636dcd8e88d01d49019bd90b33eb33db6984089250838181808280098009099050620012db600052620025ba565b837f27e88d8c15f37dcee44f1e5425a51decbd136ce5091a6767e49ec9544ccd101a82089050837f2feed17b84285ed9b8a5c8c5e95a41f66e096619a7703223176c41ee433de4d183089150837f1ed7cc76edf45c7c404241420f729cf394e5942911312a0d6972b8bd53aff2b88408925083818180828009800909905062001366600052620025ba565b837f15742e99b9bfa323157ff8c586f5660eac6783476144cdcadf2874be45466b1a82089050837f1aac285387f65e82c895fc6887ddf40577107454c6ec0317284f033f27d0c78583089150837f25851c3c845d4790f9ddadbdb6057357832e2e7a49775f71ec75a96554d67c7784089250838181808280098009099050620013f1600052620025ba565b837f15a5821565cc2ec2ce78457db197edf353b7ebba2c5523370ddccc3d9f146a6782089050837f2411d57a4813b9980efa7e31a1db5966dcf64f36044277502f15485f28c7172783089150837f002e6f8d6520cd4713e335b8c0b6d2e647e9a98e12f4cd2558828b5ef6cb4c9b840892508381818082800980090990506200147c600052620025ba565b837f2ff7bc8f4380cde997da00b616b0fcd1af8f0e91e2fe1ed7398834609e0315d282089050837f00b9831b948525595ee02724471bcd182e9521f6b7bb68f1e93be4febb0d3cbe83089150837f0a2f53768b8ebf6a86913b0e57c04e011ca408648a4743a87d77adbf0c9c35128408925083818180828009800909905062001507600052620025ba565b837f00248156142fd0373a479f91ff239e960f599ff7e94be69b7f2a290305e1198d82089050837f171d5620b87bfb1328cf8c02ab3f0c9a397196aa6a542c2350eb512a2b2bcda983089150837f170a4f55536f7dc970087c7c10d6fad760c952172dd54dd99d1045e4ec34a8088408925083818180828009800909905062001592600052620025ba565b837f29aba33f799fe66c2ef3134aea04336ecc37e38c1cd211ba482eca17e2dbfae182089050837f1e9bc179a4fdd758fdd1bb1945088d47e70d114a03f6a0e8b5ba650369e6497383089150837f1dd269799b660fad58f7f4892dfb0b5afeaad869a9c4b44f9c9e1c43bdaf8f09840892508381818082800980090990506200161d600052620025ba565b837f22cdbc8b70117ad1401181d02e15459e7ccd426fe869c7c95d1dd2cb0f24af3882089050837f0ef042e454771c533a9f57a55c503fcefd3150f52ed94a7cd5ba93b9c7dacefd83089150837f11609e06ad6c8fe2f287f3036037e8851318e8b08a0359a03b304ffca62e828484089250838181808280098009099050620016a8600052620025ba565b837f1166d9e554616dba9e753eea427c17b7fecd58c076dfe42708b08f5b783aa9af82089050837f2de52989431a859593413026354413db177fbf4cd2ac0b56f855a888357ee46683089150837f3006eb4ffc7a85819a6da492f3a8ac1df51aee5b17b8e89d74bf01cf5f71e9ad8408925083818180828009800909905062001733600052620025ba565b837f2af41fbb61ba8a80fdcf6fff9e3f6f422993fe8f0a4639f962344c822514508682089050837f119e684de476155fe5a6b41a8ebc85db8718ab27889e85e781b214bace4827c383089150837f1835b786e2e8925e188bea59ae363537b51248c23828f047cff784b97b3fd80084089250838181808280098009099050620017be600052620025ba565b837f28201a34c594dfa34d794996c6433a20d152bac2a7905c926c40e285ab32eeb682089050837f083efd7a27d1751094e80fefaf78b000864c82eb571187724a761f88c22cc4e783089150837f0b6f88a3577199526158e61ceea27be811c16df7774dd8519e079564f61fd13b8408925083818180828009800909905062001849600052620025ba565b837f0ec868e6d15e51d9644f66e1d6471a94589511ca00d29e1014390e6ee4254f5b82089050837f2af33e3f866771271ac0c9b3ed2e1142ecd3e74b939cd40d00d937ab84c9859183089150837f0b520211f904b5e7d09b5d961c6ace7734568c547dd6858b364ce5e47951f17884089250838181808280098009099050620018d4600052620025ba565b837f0b2d722d0919a1aad8db58f10062a92ea0c56ac4270e822cca228620188a1d4082089050837f1f790d4d7f8cf094d980ceb37c2453e957b54a9991ca38bbe0061d1ed6e562d483089150837f0171eb95dfbf7d1eaea97cd385f780150885c16235a2a6a8da92ceb01e504233840892508381818082800980090990506200195f600052620025ba565b837f0c2d0e3b5fd57549329bf6885da66b9b790b40defd2c8650762305381b16887382089050837f1162fb28689c27154e5a8228b4e72b377cbcafa589e283c35d3803054407a18d83089150837f2f1459b65dee441b64ad386a91e8310f282c5a92a89e19921623ef8249711bc084089250838181808280098009099050620019ea600052620025ba565b837f1e6ff3216b688c3d996d74367d5cd4c1bc489d46754eb712c243f70d1b53cfbb82089050837f01ca8be73832b8d0681487d27d157802d741a6f36cdc2a0576881f932647887583089150837f1f7735706ffe9fc586f976d5bdf223dc680286080b10cea00b9b5de315f9650e8408925083818180828009800909905062001a75600052620025ba565b837f2522b60f4ea3307640a0c2dce041fba921ac10a3d5f096ef4745ca838285f01982089050837f23f0bee001b1029d5255075ddc957f833418cad4f52b6c3f8ce16c235572575b83089150837f2bc1ae8b8ddbb81fcaac2d44555ed5685d142633e9df905f66d9401093082d598408925083818180828009800909905062001b00600052620025ba565b837f0f9406b8296564a37304507b8dba3ed162371273a07b1fc98011fcd6ad72205f82089050837f2360a8eb0cc7defa67b72998de90714e17e75b174a52ee4acb126c8cd995f0a883089150837f15871a5cddead976804c803cbaef255eb4815a5e96df8b006dcbbc2767f889488408925083818180828009800909905062001b8b600052620025ba565b837f193a56766998ee9e0a8652dd2f3b1da0362f4f54f72379544f957ccdeefb420f82089050837f2a394a43934f86982f9be56ff4fab1703b2e63c8ad334834e4309805e777ae0f83089150837f1859954cfeb8695f3e8b635dcb345192892cd11223443ba7b4166e8876c0d1428408925083818180828009800909905062001c16600052620025ba565b837f04e1181763050e58013444dbcb99f1902b11bc25d90bbdca408d3819f4fed32b82089050837f0fdb253dee83869d40c335ea64de8c5bb10eb82db08b5e8b1f5e5552bfd05f2383089150837f058cbe8a9a5027bdaa4efb623adead6275f08686f1c08984a9d7c5bae9b4f1c08408925083818180828009800909905062001ca1600052620025ba565b837f1382edce9971e186497eadb1aeb1f52b23b4b83bef023ab0d15228b4cceca59a82089050837f03464990f045c6ee0819ca51fd11b0be7f61b8eb99f14b77e1e6634601d9e8b583089150837f23f7bfc8720dc296fff33b41f98ff83c6fcab4605db2eb5aaa5bc137aeb70a588408925083818180828009800909905062001d2c600052620025ba565b837f0a59a158e3eec2117e6e94e7f0e9decf18c3ffd5e1531a9219636158bbaf62f282089050837f06ec54c80381c052b58bf23b312ffd3ce2c4eba065420af8f4c23ed0075fd07b83089150837f118872dc832e0eb5476b56648e867ec8b09340f7a7bcb1b4962f0ff9ed1f9d018408925083818180828009800909905062001db7600052620025ba565b837f13d69fa127d834165ad5c7cba7ad59ed52e0b0f0e42d7fea95e1906b520921b182089050837f169a177f63ea681270b1c6877a73d21bde143942fb71dc55fd8a49f19f10c77b83089150837f04ef51591c6ead97ef42f287adce40d93abeb032b922f66ffb7e9a5a7450544d8408925083818180828009800909905062001e42600052620025ba565b837f256e175a1dc079390ecd7ca703fb2e3b19ec61805d4f03ced5f45ee6dd0f69ec82089050837f30102d28636abd5fe5f2af412ff6004f75cc360d3205dd2da002813d3e2ceeb283089150837f10998e42dfcd3bbf1c0714bc73eb1bf40443a3fa99bef4a31fd31be182fcc7928408925083818180828009800909905062001ecd600052620025ba565b837f193edd8e9fcf3d7625fa7d24b598a1d89f3362eaf4d582efecad76f879e3686082089050837f18168afd34f2d915d0368ce80b7b3347d1c7a561ce611425f2664d7aa51f0b5d83089150837f29383c01ebd3b6ab0c017656ebe658b6a328ec77bc33626e29e2e95b33ea61118408925083818180828009800909905062001f58600052620025ba565b837f10646d2f2603de39a1f4ae5e7771a64a702db6e86fb76ab600bf573f9010c71182089050837f0beb5e07d1b27145f575f1395a55bf132f90c25b40da7b3864d0242dcb1117fb83089150837f16d685252078c133dc0d3ecad62b5c8830f95bb2e54b59abdffbf018d96fa3368408925083818180828009800909905062001fe3600052620025ba565b837f0a6abd1d833938f33c74154e0404b4b40a555bbbec21ddfafd672dd62047f01a82089050837f1a679f5d36eb7b5c8ea12a4c2dedc8feb12dffeec450317270a6f19b34cf186083089150837f0980fb233bd456c23974d50e0ebfde4726a423eada4e8f6ffbc7592e3f1b93d6840892508381818082800980090990506200206e600052620025ba565b837f161b42232e61b84cbf1810af93a38fc0cece3d5628c9282003ebacb5c312c72b82089050837f0ada10a90c7f0520950f7d47a60d5e6a493f09787f1564e5d09203db47de1a0b83089150837f1a730d372310ba82320345a29ac4238ed3f07a8a2b4e121bb50ddb9af407f45184089250838181808280098009099050620020f9600052620025ba565b837f2c8120f268ef054f817064c369dda7ea908377feaba5c4dffbda10ef58e8c55682089050837f1c7c8824f758753fa57c00789c684217b930e95313bcb73e6e7b8649a4968f7083089150837f2cd9ed31f5f8691c8e39e4077a74faa0f400ad8b491eb3f7b47b27fa3fd1cf778408925083818180828009800909905062002184600052620025ba565b837f23ff4f9d46813457cf60d92f57618399a5e022ac321ca550854ae23918a22eea82089050837f09945a5d147a4f66ceece6405dddd9d0af5a2c5103529407dff1ea58f180426d83089150837f188d9c528025d4c2b67660c6b771b90f7c7da6eaa29d3f268a6dd223ec6fc630840892508381818082800980090990506200220f600052620025ba565b837f3050e37996596b7f81f68311431d8734dba7d926d3633595e0c0d8ddf4f0f47f82089050837f15af1169396830a91600ca8102c35c426ceae5461e3f95d89d829518d30afd7883089150837f1da6d09885432ea9a06d9f37f873d985dae933e351466b2904284da3320d8acc840892508381818082800980090990506200229a600052620025ba565b837f2796ea90d269af29f5f8acf33921124e4e4fad3dbe658945e546ee411ddaa9cb82089050837f202d7dd1da0f6b4b0325c8b3307742f01e15612ec8e9304a7cb0319e01d32d6083089150837f096d6790d05bb759156a952ba263d672a2d7f9c788f4c831a29dace4c0f8be5f8408925083818180828009800909905062002325600052620025ba565b837f054efa1f65b0fce283808965275d877b438da23ce5b13e1963798cb1447d25a482089050837f1b162f83d917e93edb3308c29802deb9d8aa690113b2e14864ccf6e18e4165f183089150837f21e5241e12564dd6fd9f1cdd2a0de39eedfefc1466cc568ec5ceb745a0506edc84089250838181808280098009099050838281808280098009099150838381808280098009099250620023c8600052620025ba565b837f1cfb5662e8cf5ac9226a80ee17b36abecb73ab5f87e161927b4349e10e4bdf0882089050837f0f21177e302a771bbae6d8d1ecb373b62c99af346220ac0129c53f666eb2410083089150837f1671522374606992affb0dd7f71b12bec4236aede6290546bcef7e1f515c2320840892508381818082800980090990508382818082800980090991508383818082800980090992506200246b600052620025ba565b837f0fa3ec5b9488259c2eb4cf24501bfad9be2ec9e42c5cc8ccd419d2a692cad87082089050837f193c0e04e0bd298357cb266c1506080ed36edce85c648cc085e8c57b1ab54bba83089150837f102adf8ef74735a27e9128306dcbc3c99f6f7291cd406578ce14ea2adaba68f8840892508381818082800980090990508382818082800980090991508383818082800980090992506200250e600052620025ba565b837f0fe0af7858e49859e2a54d6f1ad945b1316aa24bfbdd23ae40a6d0cb70c3eab182089050837f216f6717bbc7dedb08536a2220843f4e2da5f1daa9ebdefde8a5ea7344798d2283089150837f1da55cc900f0d21f4a3e694391918a1b3c23b2ac773c6b3ef88e2e422832516184089250838181808280098009099050838281808280098009099150838381808280098009099250620025b1600052620025ba565b60005260206000f35b8360205182098460405184098591088460605185098591088460805183098560a05185098691088560c05186098691088560e0518409866101005186098791088661012051870987910894509250905060005156 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-poseidon-unit3l +spec: + abiJSON: |- + [ + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[3]", + "name": "input", + "type": "bytes32[3]" + } + ], + "name": "poseidon", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256[3]", + "name": "input", + "type": "uint256[3]" + } + ], + "name": "poseidon", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + } + ] + bytecode: 0x38600c6000396130af6000f37c010000000000000000000000000000000000000000000000000000000060003504806325cc70e81490635a53025d14176200003757fe5b7f236d13393ef85cc48a351dd786dd7a1de5e39942296127fd87947223ae5108ad6020527f277686494f7644bbc4a9b194e10724eb967f1dc58718e59e3cedc821b2a7ae196040527f023db68784e3f0cc0b85618826a9b3505129c16479973b0a84a4529e66b09c626060527f1d359d245f286c12d50d663bae733f978af08cdbd63017c57b3a75646ff382c16080527f2a75a171563b807db525be259699ab28fe9bc7fb1f70943ff049bc970e841a0c60a0527f083abff5e10051f078e2827d092e1ae808b4dd3e15ccc3706f38ce4157b6770e60c0527f1a5ad71bbbecd8a97dc49cfdbae303ad24d5c4741eab8b7568a9ff8253a1eb6f60e0527f0d745fd00dd167fb86772133640f02ce945004a7bc2c59e8790f725c5d84f0af610100527f2070679e798782ef592a52ca9cef820d497ad2eecbaa7e42f366b3e521c4ed42610120527f2e18c8570d20bf5df800739a53da75d906ece318cd224ab6b3a2be979e2d7eab610140527f0fa86f0f27e4d3dd7f3367ce86f684f1f2e4386d3e5b9f38fa283c6aa723b608610160527f03f3e6fab791f16628168e4b14dbaeb657035ee3da6b2ca83f0c2491e0b403eb610180527f2f545e578202c9732488540e41f783b68ff0613fd79375f8ba8b3d30958e76776101a0527f23810bf82877fc19bff7eefeae3faf4bb8104c32ba4cd701596a15623d01476e6101c0527f014fcd5eb0be6d5beeafc4944034cf321c068ef930f10be2207ed58d2a34cdd66101e0527f00c15fc3a1d5733dd835eae0823e377f8ba4a8b627627cc2bb661c25d20fb52a610200527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016044356024356004356000847f19b849f69450b06848da1d39bd5e4a4302bb86744edc26238b0878e269ed23e582089050847f265ddfe127dd51bd7239347b758f0a1320eb2cc7450acc1dad47f80c8dcf34d683089150847f199750ec472f1809e0f66a545e1e51624108ac845015c2aa3dfc36bab497d8aa84089250847f157ff3fe65ac7208110f06a5f74302b14d743ea25067f0ffd032f787c7f1cdf8850893508481818082800980090990508482818082800980090991508483818082800980090992508484818082800980090993506200038160005262003015565b847f2e49c43c4569dd9c5fd35ac45fca33f10b15c590692f8beefe18f4896ac9490282089050847f0e35fb89981890520d4aef2b6d6506c3cb2f0b6973c24fa82731345ffa2d1f1e83089150847f251ad47cb15c4f1105f109ae5e944f1ba9d9e7806d667ffec6fe723002e0b99684089250847f13da07dc64d428369873e97160234641f8beb56fdd05e5f3563fa39d9c22df4e850893508481818082800980090990508482818082800980090991508483818082800980090992508484818082800980090993506200045660005262003015565b847f0c009b84e650e6d23dc00c7dccef7483a553939689d350cd46e7b89055fd473882089050847f011f16b1c63a854f01992e3956f42d8b04eb650c6d535eb0203dec74befdca0683089150847f0ed69e5e383a688f209d9a561daa79612f3f78d0467ad45485df07093f36754984089250847f04dba94a7b0ce9e221acad41472b6bbe3aec507f5eb3d33f463672264c9f789b850893508481818082800980090990508482818082800980090991508483818082800980090992508484818082800980090993506200052b60005262003015565b847f0a3f2637d840f3a16eb094271c9d237b6036757d4bb50bf7ce732ff1d4fa28e882089050847f259a666f129eea198f8a1c502fdb38fa39b1f075569564b6e54a485d1182323f83089150847f28bf7459c9b2f4c6d8e7d06a4ee3a47f7745d4271038e5157a32fdf7ede0d6a184089250847f0a1ca941f057037526ea200f489be8d4c37c85bbcce6a2aeec91bd6941432447850893508481818082800980090990508482818082800980090991508483818082800980090992508484818082800980090993506200060060005262003015565b847f0c6f8f958be0e93053d7fd4fc54512855535ed1539f051dcb43a26fd926361cf82089050847f123106a93cd17578d426e8128ac9d90aa9e8a00708e296e084dd57e69caaf81183089150847f26e1ba52ad9285d97dd3ab52f8e840085e8fa83ff1e8f1877b074867cd2dee7584089250847f1cb55cad7bd133de18a64c5c47b9c97cbe4d8b7bf9e095864471537e6a4ae2c585089350848181808280098009099050620006b160005262003015565b847f1dcd73e46acd8f8e0e2c7ce04bde7f6d2a53043d5060a41c7143f08e6e9055d082089050847f011003e32f6d9c66f5852f05474a4def0cda294a0eb4e9b9b12b9bb4512e557483089150847f2b1e809ac1d10ab29ad5f20d03a57dfebadfe5903f58bafed7c508dd2287ae8c84089250847f2539de1785b735999fb4dac35ee17ed0ef995d05ab2fc5faeaa69ae87bcec0a5850893508481818082800980090990506200076260005262003015565b847f0c246c5a2ef8ee0126497f222b3e0a0ef4e1c3d41c86d46e43982cb11d77951d82089050847f192089c4974f68e95408148f7c0632edbb09e6a6ad1a1c2f3f0305f5d03b527b83089150847f1eae0ad8ab68b2f06a0ee36eeb0d0c058529097d91096b756d8fdc2fb5a60d8584089250847f179190e5d0e22179e46f8282872abc88db6e2fdc0dee99e69768bd98c5d06bfb850893508481818082800980090990506200081360005262003015565b847f29bb9e2c9076732576e9a81c7ac4b83214528f7db00f31bf6cafe794a9b3cd1c82089050847f225d394e42207599403efd0c2464a90d52652645882aac35b10e590e6e691e0883089150847f064760623c25c8cf753d238055b444532be13557451c087de09efd454b23fd5984089250847f10ba3a0e01df92e87f301c4b716d8a394d67f4bf42a75c10922910a78f6b5b8785089350848181808280098009099050620008c460005262003015565b847f0e070bf53f8451b24f9c6e96b0c2a801cb511bc0c242eb9d361b77693f21471c82089050847f1b94cd61b051b04dd39755ff93821a73ccd6cb11d2491d8aa7f921014de252fb83089150847f1d7cb39bafb8c744e148787a2e70230f9d4e917d5713bb050487b5aa7d74070b84089250847f2ec93189bd1ab4f69117d0fe980c80ff8785c2961829f701bb74ac1f303b17db850893508481818082800980090990506200097560005262003015565b847f2db366bfdd36d277a692bb825b86275beac404a19ae07a9082ea46bd8351792682089050847f062100eb485db06269655cf186a68532985275428450359adc99cec6960711b883089150847f0761d33c66614aaa570e7f1e8244ca1120243f92fa59e4f900c567bf41f5a59b84089250847f20fc411a114d13992c2705aa034e3f315d78608a0f7de4ccf7a72e494855ad0d8508935084818180828009800909905062000a2660005262003015565b847f25b5c004a4bdfcb5add9ec4e9ab219ba102c67e8b3effb5fc3a30f317250bc5a82089050847f23b1822d278ed632a494e58f6df6f5ed038b186d8474155ad87e7dff62b37f4b83089150847f22734b4c5c3f9493606c4ba9012499bf0f14d13bfcfcccaa16102a29cc2f69e084089250847f26c0c8fe09eb30b7e27a74dc33492347e5bdff409aa3610254413d3fad795ce58508935084818180828009800909905062000ad760005262003015565b847f070dd0ccb6bd7bbae88eac03fa1fbb26196be3083a809829bbd626df348ccad982089050847f12b6595bdb329b6fb043ba78bb28c3bec2c0a6de46d8c5ad6067c4ebfd4250da83089150847f248d97d7f76283d63bec30e7a5876c11c06fca9b275c671c5e33d95bb7e8d72984089250847f1a306d439d463b0816fc6fd64cc939318b45eb759ddde4aa106d15d9bd9baaaa8508935084818180828009800909905062000b8860005262003015565b847f28a8f8372e3c38daced7c00421cb4621f4f1b54ddc27821b0d62d3d6ec7c56cf82089050847f0094975717f9a8a8bb35152f24d43294071ce320c829f388bc852183e1e2ce7e83089150847f04d5ee4c3aa78f7d80fde60d716480d3593f74d4f653ae83f4103246db2e8d6584089250847f2a6cf5e9aa03d4336349ad6fb8ed2269c7bef54b8822cc76d08495c12efde1878508935084818180828009800909905062000c3960005262003015565b847f2304d31eaab960ba9274da43e19ddeb7f792180808fd6e43baae48d7efcba3f382089050847f03fd9ac865a4b2a6d5e7009785817249bff08a7e0726fcb4e1c11d39d199f0b083089150847f00b7258ded52bbda2248404d55ee5044798afc3a209193073f7954d4d63b0b6484089250847f159f81ada0771799ec38fca2d4bf65ebb13d3a74f3298db36272c5ca65e92d9a8508935084818180828009800909905062000cea60005262003015565b847f1ef90e67437fbc8550237a75bc28e3bb9000130ea25f0c5471e144cf4264431f82089050847f1e65f838515e5ff0196b49aa41a2d2568df739bc176b08ec95a79ed82932e30d83089150847f2b1b045def3a166cec6ce768d079ba74b18c844e570e1f826575c1068c94c33f84089250847f0832e5753ceb0ff6402543b1109229c165dc2d73bef715e3f1c6e07c168bb1738508935084818180828009800909905062000d9b60005262003015565b847f02f614e9cedfb3dc6b762ae0a37d41bab1b841c2e8b6451bc5a8e3c390b6ad1682089050847f0e2427d38bd46a60dd640b8e362cad967370ebb777bedff40f6a0be27e7ed70583089150847f0493630b7c670b6deb7c84d414e7ce79049f0ec098c3c7c50768bbe29214a53a84089250847f22ead100e8e482674decdab17066c5a26bb1515355d5461a3dc06cc85327cea98508935084818180828009800909905062000e4c60005262003015565b847f25b3e56e655b42cdaae2626ed2554d48583f1ae35626d04de5084e0b6d2a6f1682089050847f1e32752ada8836ef5837a6cde8ff13dbb599c336349e4c584b4fdc0a0cf6f9d083089150847f2fa2a871c15a387cc50f68f6f3c3455b23c00995f05078f672a9864074d412e584089250847f2f569b8a9a4424c9278e1db7311e889f54ccbf10661bab7fcd18e7c7a7d835058508935084818180828009800909905062000efd60005262003015565b847f044cb455110a8fdd531ade530234c518a7df93f7332ffd2144165374b246b43d82089050847f227808de93906d5d420246157f2e42b191fe8c90adfe118178ddc723a531902583089150847f02fcca2934e046bc623adead873579865d03781ae090ad4a8579d2e7a680035584089250847f0ef915f0ac120b876abccceb344a1d36bad3f3c5ab91a8ddcbec2e060d8befac8508935084818180828009800909905062000fae60005262003015565b847f1797130f4b7a3e1777eb757bc6f287f6ab0fb85f6be63b09f3b16ef2b1405d3882089050847f0a76225dc04170ae3306c85abab59e608c7f497c20156d4d36c668555decc6e583089150847f1fffb9ec1992d66ba1e77a7b93209af6f8fa76d48acb664796174b5326a31a5c84089250847f25721c4fc15a3f2853b57c338fa538d85f8fbba6c6b9c6090611889b797b9c5f850893508481818082800980090990506200105f60005262003015565b847f0c817fd42d5f7a41215e3d07ba197216adb4c3790705da95eb63b982bfcaf75a82089050847f13abe3f5239915d39f7e13c2c24970b6df8cf86ce00a22002bc15866e52b5a9683089150847f2106feea546224ea12ef7f39987a46c85c1bc3dc29bdbd7a92cd60acb4d391ce84089250847f21ca859468a746b6aaa79474a37dab49f1ca5a28c748bc7157e1b3345bb0f959850893508481818082800980090990506200111060005262003015565b847f05ccd6255c1e6f0c5cf1f0df934194c62911d14d0321662a8f1a48999e34185b82089050847f0f0e34a64b70a626e464d846674c4c8816c4fb267fe44fe6ea28678cb09490a483089150847f0558531a4e25470c6157794ca36d0e9647dbfcfe350d64838f5b1a8a2de0d4bf84089250847f09d3dca9173ed2faceea125157683d18924cadad3f655a60b72f5864961f145585089350848181808280098009099050620011c160005262003015565b847f0328cbd54e8c0913493f866ed03d218bf23f92d68aaec48617d4c722e5bd433582089050847f2bf07216e2aff0a223a487b1a7094e07e79e7bcc9798c648ee3347dd5329d34b83089150847f1daf345a58006b736499c583cb76c316d6f78ed6a6dffc82111e11a63fe412df84089250847f176563472456aaa746b694c60e1823611ef39039b2edc7ff391e6f2293d2c404850893508481818082800980090990506200127260005262003015565b847f2ef1e0fad9f08e87a3bb5e47d7e33538ca964d2b7d1083d4fb0225035bd3f8db82089050847f226c9b1af95babcf17b2b1f57c7310179c1803dec5ae8f0a1779ed36c817ae2a83089150847f14bce3549cc3db7428126b4c3a15ae0ff8148c89f13fb35d35734eb5d4ad0def84089250847f2debff156e276bb5742c3373f2635b48b8e923d301f372f8e550cfd4034212c7850893508481818082800980090990506200132360005262003015565b847f2d4083cf5a87f5b6fc2395b22e356b6441afe1b6b29c47add7d0432d1d4760c782089050847f0c225b7bcd04bf9c34b911262fdc9c1b91bf79a10c0184d89c317c53d7161c2983089150847f03152169d4f3d06ec33a79bfac91a02c99aa0200db66d5aa7b835265f9c9c8f384089250847f0b61811a9210be78b05974587486d58bddc8f51bfdfebbb87afe8b7aa7d3199c85089350848181808280098009099050620013d460005262003015565b847f203e000cad298daaf7eba6a5c5921878b8ae48acf7048f16046d637a533b6f7882089050847f1a44bf0937c722d1376672b69f6c9655ba7ee386fda1112c0757143d1bfa914683089150847f0376b4fae08cb03d3500afec1a1f56acb8e0fde75a2106d7002f59c5611d4daa84089250847f00780af2ca1cad6465a2171250fdfc32d6fc241d3214177f3d553ef363182185850893508481818082800980090990506200148560005262003015565b847f10774d9ab80c25bdeb808bedfd72a8d9b75dbe18d5221c87e9d857079bdc31d582089050847f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e883089150847f00544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1684089250847f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428c850893508481818082800980090990506200153660005262003015565b847f2840d045e9bc22b259cfb8811b1e0f45b77f7bdb7f7e2b46151a1430f608e3c582089050847f062752f86eebe11a009c937e468c335b04554574c2990196508e01fa5860186b83089150847f06041bdac48205ac87adb87c20a478a71c9950c12a80bc0a55a8e83eaaf0474684089250847f04a533f236c422d1ff900a368949b0022c7a2ae092f308d82b1dcbbf51f5000d85089350848181808280098009099050620015e760005262003015565b847f13e31d7a67232fd811d6a955b3d4f25dfe066d1e7dc33df04bde50a2b2d05b2a82089050847f011c2683ae91eb4dfbc13d6357e8599a9279d1648ff2c95d2f79905bb13920f183089150847f0b0d219346b8574525b1a270e0b4cba5d56c928e3e2c2bd0a1ecaed015aaf6ae84089250847f14abdec8db9c6dc970291ee638690209b65080781ef9fd13d84c7a726b5f1364850893508481818082800980090990506200169860005262003015565b847f1a0b70b4b26fdc28fcd32aa3d266478801eb12202ef47ced988d0376610be10682089050847f278543721f96d1307b6943f9804e7fe56401deb2ef99c4d12704882e7278b60783089150847f16eb59494a9776cf57866214dbd1473f3f0738a325638d8ba36535e011d5825984089250847f2567a658a81ffb444f240088fa5524c69a9e53eeab6b7f8c41c3479dcf8c644a850893508481818082800980090990506200174960005262003015565b847f29aa1d7c151e9ad0a7ab39f1abd9cf77ab78e0215a5715a6b882ade840bb13d882089050847f15c091233e60efe0d4bbfce2b36415006a4f017f9a85388ce206b91f99f2c98483089150847f16bd7d22ff858e5e0882c2c999558d77e7673ad5f1915f9feb679a8115f014cf84089250847f02db50480a07be0eb2c2e13ed6ef4074c0182d9b668b8e08ffe676925004202585089350848181808280098009099050620017fa60005262003015565b847f05e4a220e6a3bc9f7b6806ec9d6cdba186330ef2bf7adb4c13ba866343b7311982089050847f1dda05ebc30170bc98cbf2a5ee3b50e8b5f70bc424d39fa4104d37f1cbcf7a4283089150847f0184bef721888187f645b6fee3667f3c91da214414d89ba5cd301f22b0de899084089250847f1498a307e68900065f5e8276f62aef1c37414b84494e1577ad1a6d64341b78ec85089350848181808280098009099050620018ab60005262003015565b847f25f40f82b31dacc4f4939800b9d2c3eacef737b8fab1f864fe33548ad46bd49d82089050847f09d317cc670251943f6f5862a30d2ea9e83056ce4907bfbbcb1ff31ce5bb965083089150847f2f77d77786d979b23ba4ce4a4c1b3bd0a41132cd467a86ab29b913b6cf3149d084089250847f0f53dafd535a9f4473dc266b6fccc6841bbd336963f254c152f89e785f729bbf850893508481818082800980090990506200195c60005262003015565b847f25c1fd72e223045265c3a099e17526fa0e6976e1c00baf16de96de85deef2fa282089050847f2a902c8980c17faae368d385d52d16be41af95c84eaea3cf893e65d6ce4a8f6283089150847f1ce1580a3452ecf302878c8976b82be96676dd114d1dc8d25527405762f8352984089250847f24a6073f91addc33a49a1fa306df008801c5ec569609034d2fc50f7f0f4d00568508935084818180828009800909905062001a0d60005262003015565b847f25e52dbd6124530d9fc27fe306d71d4583e07ca554b5d1577f256c68b0be2b7482089050847f23dffae3c423fa7a93468dbccfb029855974be4d0a7b29946796e5b6cd70f15d83089150847f06342da370cc0d8c49b77594f6b027c480615d50be36243a99591bc9924ed6f584089250847f2754114281286546b75f09f115fc751b4778303d0405c1b4cc7df0d8e9f639258508935084818180828009800909905062001abe60005262003015565b847f15c19e8534c5c1a8862c2bc1d119eddeabf214153833d7bdb59ee197f8187cf582089050847f265fe062766d08fab4c78d0d9ef3cabe366f3be0a821061679b4b3d2d77d5f3e83089150847f13ccf689d67a3ec9f22cb7cd0ac3a327d377ac5cd0146f048debfd098d3ec7be84089250847f17662f7456789739f81cd3974827a887d92a5e05bdf3fe6b9fbccca4524aaebd8508935084818180828009800909905062001b6f60005262003015565b847f21b29c76329b31c8ef18631e515f7f2f82ca6a5cca70cee4e809fd624be7ad5d82089050847f18137478382aadba441eb97fe27901989c06738165215319939eb17b01fa975c83089150847f2bc07ea2bfad68e8dc724f5fef2b37c2d34f761935ffd3b739ceec4668f37e8884089250847f2ddb2e376f54d64a563840480df993feb4173203c2bd94ad0e602077aef9a03e8508935084818180828009800909905062001c2060005262003015565b847f277eb50f2baa706106b41cb24c602609e8a20f8d72f613708adb25373596c3f782089050847f0d4de47e1aba34269d0c620904f01a56b33fc4b450c0db50bb7f87734c9a1fe583089150847f0b8442bfe9e4a1b4428673b6bd3eea6f9f445697058f134aae908d0279a29f0c84089250847f11fe5b18fbbea1a86e06930cb89f7d4a26e186a65945e96574247fddb720f8f58508935084818180828009800909905062001cd160005262003015565b847f224026f6dfaf71e24d25d8f6d9f90021df5b774dcad4d883170e4ad89c33a0d682089050847f0b2ca6a999fe6887e0704dad58d03465a96bc9e37d1091f61bc9f9c62bbeb82483089150847f221b63d66f0b45f9d40c54053a28a06b1d0a4ce41d364797a1a7e0c96529f42184089250847f30185c48b7b2f1d53d4120801b047d087493bce64d4d24aedce2f4836bb84ad48508935084818180828009800909905062001d8260005262003015565b847f23f5d372a3f0e3cba989e223056227d3533356f0faa48f27f8267318632a61f082089050847f2716683b32c755fd1bf8235ea162b1f388e1e0090d06162e8e6dfbe4328f3e3b83089150847f0977545836866fa204ca1d853ec0909e3d140770c80ac67dc930c69748d5d4bc84089250847f1444e8f592bdbfd8025d91ab4982dd425f51682d31472b05e81c43c0f9434b318508935084818180828009800909905062001e3360005262003015565b847f26e04b65e9ca8270beb74a1c5cb8fee8be3ffbfe583f7012a00f874e7718fbe382089050847f22a5c2fa860d11fe34ee47a5cd9f869800f48f4febe29ad6df69816fb1a914d283089150847f174b54d9907d8f5c6afd672a738f42737ec338f3a0964c629f7474dd44c5c8d784089250847f1db1db8aa45283f31168fa66694cf2808d2189b87c8c8143d56c871907b39b878508935084818180828009800909905062001ee460005262003015565b847f1530bf0f46527e889030b8c7b7dfde126f65faf8cce0ab66387341d813d1bfd182089050847f0b73f613993229f59f01c1cec8760e9936ead9edc8f2814889330a2f2bade45783089150847f29c25a22fe2164604552aaea377f448d587ab977fc8227787bd2dc0f36bcf41e84089250847f2b30d53ed1759bfb8503da66c92cf4077abe82795dc272b377df57d77c8755268508935084818180828009800909905062001f9560005262003015565b847f12f6d703b5702aab7b7b7e69359d53a2756c08c85ede7227cf5f0a2916787cd282089050847f2520e18300afda3f61a40a0b8837293a55ad01071028d4841ffa9ac70636411383089150847f1ec9daea860971ecdda8ed4f346fa967ac9bc59278277393c68f09fa03b8b95f84089250847f0a99b3e178db2e2e432f5cd5bef8fe4483bf5cbf70ed407c08aae24b830ad725850893508481818082800980090990506200204660005262003015565b847f07cda9e63db6e39f086b89b601c2bbe407ee0abac3c817a1317abad7c577849282089050847f08c9c65a4f955e8952d571b191bb0adb49bd8290963203b35d48aab38f8fc3a383089150847f2737f8ce1d5a67b349590ddbfbd709ed9af54a2a3f2719d33801c9c17bdd9c9e84089250847f1049a6c65ff019f0d28770072798e8b7909432bd0c129813a9f179ba627f7d6a85089350848181808280098009099050620020f760005262003015565b847f18b4fe968732c462c0ea5a9beb27cecbde8868944fdf64ee60a5122361daeddb82089050847f2ff2b6fd22df49d2440b2eaeeefa8c02a6f478cfcf11f1b2a4f7473483885d1983089150847f2ec5f2f1928fe932e56c789b8f6bbcb3e8be4057cbd8dbd18a1b352f5cef42ff84089250847f265a5eccd8b92975e33ad9f75bf3426d424a4c6a7794ee3f08c1d100378e545e85089350848181808280098009099050620021a860005262003015565b847f2405eaa4c0bde1129d6242bb5ada0e68778e656cfcb366bf20517da1dfd4279c82089050847f094c97d8c194c42e88018004cbbf2bc5fdb51955d8b2d66b76dd98a2dbf6041783089150847f2c30d5f33bb32c5c22b9979a605bf64d508b705221e6a686330c9625c2afe0b884089250847f01a75666f6241f6825d01cc6dcb1622d4886ea583e87299e6aa2fc716fdb6cf5850893508481818082800980090990506200225960005262003015565b847f0a3290e8398113ea4d12ac091e87be7c6d359ab9a66979fcf47bf2e87d382fcb82089050847f154ade9ca36e268dfeb38461425bb0d8c31219d8fa0dfc75ecd21bf69aa0cc7483089150847f27aa8d3e25380c0b1b172d79c6f22eee99231ef5dc69d8dc13a4b5095d02877284089250847f2cf4051e6cab48301a8b2e3bca6099d756bbdf485afa1f549d395bbcbd806461850893508481818082800980090990506200230a60005262003015565b847f301e70f729f3c94b1d3f517ddff9f2015131feab8afa5eebb0843d7f84b23e7182089050847f298beb64f812d25d8b4d9620347ab02332dc4cef113ae60d17a8d7a4c91f83bc83089150847f1b362e72a5f847f84d03fd291c3c471ed1c14a15b221680acf11a3f02e46aa9584089250847f0dc8a2146110c0b375432902999223d5aa1ef6e78e1e5ebcbc1d9ba41dc1c73785089350848181808280098009099050620023bb60005262003015565b847f0a48663b34ce5e1c05dc93092cb69778cb21729a72ddc03a08afa1eb922ff27982089050847f0a87391fb1cd8cdf6096b64a82f9e95f0fe46f143b702d74545bb314881098ee83089150847f1b5b2946f7c28975f0512ff8e6ca362f8826edd7ea9c29f382ba8a2a0892fd5d84089250847f01001cf512ac241d47ebe2239219bc6a173a8bbcb8a5b987b4eac1f533315b6b850893508481818082800980090990506200246c60005262003015565b847f2fd977c70f645db4f704fa7d7693da727ac093d3fb5f5febc72beb17d8358a3282089050847f23c0039a3fab4ad3c2d7cc688164f39e761d5355c05444d99be763a97793a9c483089150847f19d43ee0c6081c052c9c0df6161eaac1aec356cf435888e79f27f22ff03fa25d84089250847f2d9b10c2f2e7ac1afddccffd94a563028bf29b646d020830919f9d5ca1cefe59850893508481818082800980090990506200251d60005262003015565b847f2457ca6c2f2aa30ec47e4aff5a66f5ce2799283e166fc81cdae2f2b9f83e426782089050847f0abc392fe85eda855820592445094022811ee8676ed6f0c3044dfb54a7c10b3583089150847f19d2cc5ca549d1d40cebcd37f3ea54f31161ac3993acf3101d2c2bc30eac1eb084089250847f0f97ae3033ffa01608aafb26ae13cd393ee0e4ec041ba644a3d3ab546e98c9c885089350848181808280098009099050620025ce60005262003015565b847f16dbc78fd28b7fb8260e404cf1d427a7fa15537ea4e168e88a166496e88cfeca82089050847f240faf28f11499b916f085f73bc4f22eef8344e576f8ad3d1827820366d5e07b83089150847f0a1bb075aa37ff0cfe6c8531e55e1770eaba808c8fdb6dbf46f8cab58d9ef1af84089250847f2e47e15ea4a47ff1a6a853aaf3a644ca38d5b085ac1042fdc4a705a7ce089f4d850893508481818082800980090990506200267f60005262003015565b847f166e5bf073378348860ca4a9c09d39e1673ab059935f4df35fb14528375772b682089050847f18b42d7ffdd2ea4faf235902f057a2740cacccd027233001ed10f96538f0916f83089150847f089cb1b032238f5e4914788e3e3c7ead4fc368020b3ed38221deab1051c3770284089250847f242acd3eb3a2f72baf7c7076dd165adf89f9339c7b971921d9e70863451dd8d1850893508481818082800980090990506200273060005262003015565b847f174fbb104a4ee302bf47f2bd82fce896eac9a068283f326474af860457245c3b82089050847f17340e71d96f466d61f3058ce092c67d2891fb2bb318613f780c275fe1116c6b83089150847f1e8e40ac853b7d42f00f2e383982d024f098b9f8fd455953a2fd380c4df7f6b284089250847f0529898dc0649907e1d4d5e284b8d1075198c55cad66e8a9bf40f92938e2e96185089350848181808280098009099050620027e160005262003015565b847f2162754db0baa030bf7de5bb797364dce8c77aa017ee1d7bf65f21c4d4e5df8f82089050847f12c7553698c4bf6f3ceb250ae00c58c2a9f9291efbde4c8421bef44741752ec683089150847f292643e3ba2026affcb8c5279313bd51a733c93353e9d9c79cb723136526508e84089250847f00ccf13e0cb6f9d81d52951bea990bd5b6c07c5d98e66ff71db6e74d5b87d158850893508481818082800980090990506200289260005262003015565b847f185d1e20e23b0917dd654128cf2f3aaab6723873cb30fc22b0f86c15ab645b4b82089050847f14c61c836d55d3df742bdf11c60efa186778e3de0f024c0f13fe53f8d8764e1f83089150847f0f356841b3f556fce5dbe4680457691c2919e2af53008184d03ee1195d72449e84089250847f1b8fd9ff39714e075df124f887bf40b383143374fd2080ba0c0a6b6e8fa5b3e8850893508481818082800980090990506200294360005262003015565b847f0e86a8c2009c140ca3f873924e2aaa14fc3c8ae04e9df0b3e9103418796f602482089050847f2e6c5e898f5547770e5462ad932fcdd2373fc43820ca2b16b0861421e79155c883089150847f05d797f1ab3647237c14f9d1df032bc9ff9fe1a0ecd377972ce5fd5a0c01460484089250847f29a3110463a5aae76c3d152875981d0c1daf2dcd65519ef5ca8929851da8c00885089350848181808280098009099050620029f460005262003015565b847f2974da7bc074322273c3a4b91c05354cdc71640a8bbd1f864b732f816388331482089050847f1ed0fb06699ba249b2a30621c05eb12ca29cb91aa082c8bfcce9c522889b47dc83089150847f1c793ef0dcc51123654ff26d8d863feeae29e8c572eca912d80c8ae36e40fe9b84089250847f1e6aac1c6d3dd3157956257d3d234ef18c91e82589a78169fbb4a8770977dc2f8508935084818180828009800909905062002aa560005262003015565b847f1a20ada7576234eee6273dd6fa98b25ed037748080a47d948fcda33256fb6bf582089050847f191033d6d85ceaa6fc7a9a23a6fd9996642d772045ece51335d49306728af96c83089150847f006e5979da7e7ef53a825aa6fddc3abfc76f200b3740b8b232ef481f5d06297b84089250847f0b0d7e69c651910bbef3e68d417e9fa0fbd57f596c8f29831eff8c0174cdb06d8508935084818180828009800909905062002b5660005262003015565b847f25caf5b0c1b93bc516435ec084e2ecd44ac46dbbb033c5112c4b20a25c9cdf9d82089050847f12c1ea892cc31e0d9af8b796d9645872f7f77442d62fd4c8085b2f150f72472a83089150847f16af29695157aba9b8bbe3afeb245feee5a929d9f928b9b81de6dadc78c32aae84089250847f0136df457c80588dd687fb2f3be18691705b87ec5a4cfdc168d31084256b67dc8508935084818180828009800909905062002c0760005262003015565b847f1639a28c5b4c81166aea984fba6e71479e07b1efbc74434db95a285060e7b08982089050847f03d62fbf82fd1d4313f8e650f587ec06816c28b700bdc50f7e232bd9b5ca9b7683089150847f11aeeb527dc8ce44b4d14aaddca3cfe2f77a1e40fc6da97c249830de1edfde5484089250847f13f9b9a41274129479c5e6138c6c8ee36a670e6bc68c7a49642b645807bfc8248508935084818180828009800909905062002cb860005262003015565b847f0e4772fa3d75179dc8484cd26c7c1f635ddeeed7a939440c506cae8b7ebcd15b82089050847f1b39a00cbc81e427de4bdec58febe8d8b5971752067a612b39fc46a68c5d4db483089150847f2bedb66e1ad5a1d571e16e2953f48731f66463c2eb54a245444d1c0a3a25707e84089250847f2cf0a09a55ca93af8abd068f06a7287fb08b193b608582a27379ce35da915dec8508935084818180828009800909905084828180828009800909915084838180828009800909925084848180828009800909935062002d8d60005262003015565b847f2d1bd78fa90e77aa88830cabfef2f8d27d1a512050ba7db0753c8fb863efb38782089050847f065610c6f4f92491f423d3071eb83539f7c0d49c1387062e630d7fd283dc339483089150847f2d933ff19217a5545013b12873452bebcc5f9969033f15ec642fb464bd60736884089250847f1aa9d3fe4c644910f76b92b3e13b30d500dae5354e79508c3c49c8aa99e0258b8508935084818180828009800909905084828180828009800909915084838180828009800909925084848180828009800909935062002e6260005262003015565b847f027ef04869e482b1c748638c59111c6b27095fa773e1aca078cea1f1c8450bdd82089050847f2b7d524c5172cbbb15db4e00668a8c449f67a2605d9ec03802e3fa136ad0b8fb83089150847f0c7c382443c6aa787c8718d86747c7f74693ae25b1e55df13f7c3c1dd735db0f84089250847f00b4567186bc3f7c62a7b56acf4f76207a1f43c2d30d0fe4a627dcdd9bd790788508935084818180828009800909905084828180828009800909915084838180828009800909925084848180828009800909935062002f3760005262003015565b847f1e41fc29b825454fe6d61737fe08b47fb07fe739e4c1e61d0337490883db4fd582089050847f12507cd556b7bbcc72ee6dafc616584421e1af872d8c0e89002ae8d3ba0653b683089150847f13d437083553006bcef312e5e6f52a5d97eb36617ef36fe4d77d3e97f71cb5db84089250847f163ec73251f85443687222487dda9a65467d90b22f0b38664686077c6a4486d5850893508481818082800980090990508482818082800980090991508483818082800980090992508484818082800980090993506200300c60005262003015565b60005260206000f35b8460205182098560405184098691088560605185098691088560805186098691088560a05183098660c05185098791088660e05186098791088661010051870987910886610120518409876101405186098891088761016051870988910887610180518809889108876101a0518509886101c0518709899108886101e051880989910888610200518909899108965094509250905060005156 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-smt-lib +spec: + abiJSON: |- + [ + { + "inputs": [], + "name": "MAX_DEPTH_HARD_CAP", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ROOT_INFO_LIST_RETURN_LIMIT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x612f83610052600b82828239805160001a6073146045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101805760003560e01c806379f97125116100e2578063a751be2411610096578063dea7633a11610070578063dea7633a146104ac578063e170cf6e146104dc578063ec1451081461050c57610180565b8063a751be2414610435578063c1d29f0114610453578063dc9a7c8c1461047c57610180565b806391761b75116100c757806391761b75146103ac57806392f5b06c146103dc5780639e43b8131461040c57610180565b806379f971251461034c578063893f99f31461037c57610180565b806340a73d981161013957806362e8f2151161011e57806362e8f215146102bc578063792a470f146102ec57806379c17a961461031c57610180565b806340a73d981461026e5780635db40cda1461028c57610180565b8063138271361161016a57806313827136146101de57806317c850f01461020e57806321d609531461023e57610180565b806278f030146101855780630912610a146101b5575b600080fd5b61019f600480360381019061019a9190611fba565b61053c565b6040516101ac9190612009565b60405180910390f35b8180156101c157600080fd5b506101dc60048036038101906101d79190611fba565b61055f565b005b6101f860048036038101906101f39190612024565b61063a565b6040516102059190612200565b60405180910390f35b61022860048036038101906102239190611fba565b610669565b604051610235919061229d565b60405180910390f35b61025860048036038101906102539190612024565b6106c8565b60405161026591906123e2565b60405180910390f35b6102766107a5565b6040516102839190612009565b60405180910390f35b6102a660048036038101906102a19190611fba565b6107ab565b6040516102b39190612200565b60405180910390f35b6102d660048036038101906102d19190612404565b6107ce565b6040516102e39190612009565b60405180910390f35b61030660048036038101906103019190612024565b6107df565b6040516103139190612200565b60405180910390f35b61033660048036038101906103319190612024565b61080e565b6040516103439190612200565b60405180910390f35b61036660048036038101906103619190612404565b610b3a565b6040516103739190612009565b60405180910390f35b61039660048036038101906103919190612404565b610bc8565b6040516103a39190612009565b60405180910390f35b6103c660048036038101906103c19190612431565b610bd6565b6040516103d391906123e2565b60405180910390f35b6103f660048036038101906103f19190611fba565b610d35565b60405161040391906124a7565b60405180910390f35b81801561041857600080fd5b50610433600480360381019061042e9190611fba565b610d5a565b005b61043d610ddc565b60405161044a9190612009565b60405180910390f35b81801561045f57600080fd5b5061047a60048036038101906104759190612024565b610de2565b005b61049660048036038101906104919190611fba565b610e9e565b6040516104a3919061229d565b60405180910390f35b6104c660048036038101906104c19190611fba565b610efd565b6040516104d3919061229d565b60405180910390f35b6104f660048036038101906104f19190611fba565b610fb1565b60405161050391906125a1565b60405180910390f35b61052660048036038101906105219190612404565b611044565b60405161053391906124a7565b60405180910390f35b600082600201600083815260200190815260200160002080549050905092915050565b600081116105a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105999061263f565b60405180910390fd5b816003015481116105e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105df906126ab565b60405180910390fd5b61010081111561062d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106249061273d565b60405180910390fd5b8082600301819055505050565b610642611e89565b600061064e8584610669565b905061065f8585836000015161080e565b9150509392505050565b610671611ed2565b428211156106b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ab906127a9565b60405180910390fd5b6106c08383600061105f565b905092915050565b60606000806106e2866001018054905086866103e86110a6565b91509150600082826106f491906127f8565b67ffffffffffffffff81111561070d5761070c61282c565b5b60405190808252806020026020018201604052801561074657816020015b610733611ed2565b81526020019060019003908161072b5790505b50905060008390505b8281101561079757610761888261119d565b82858361076e91906127f8565b8151811061077f5761077e61285b565b5b6020026020010181905250808060010191505061074f565b508093505050509392505050565b6103e881565b6107b3611e89565b6107c683836107c186610b3a565b61080e565b905092915050565b600081600101805490509050919050565b6107e7611e89565b60006107f38584610e9e565b90506108048585836000015161080e565b9150509392505050565b610816611e89565b83826108228282610d35565b610861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610858906128d6565b60405180910390fd5b6000866003015467ffffffffffffffff8111156108815761088061282c565b5b6040519080825280602002602001820160405280156108af5781602001602082028036833780820191505090505b50905060005b87600301548110156108ef5760008282815181106108d6576108d561285b565b5b60200260200101818152505080806001019150506108b5565b5060006040518061010001604052808781526020016000151581526020018381526020018881526020016000815260200160001515815260200160008152602001600081525090506000869050610944611f08565b60005b8a600301548111610b295761095c8b84610fb1565b915060006002811115610972576109716124c2565b5b82600001516002811115610989576109886124c2565b5b0315610b2957600160028111156109a3576109a26124c2565b5b826000015160028111156109ba576109b96124c2565b5b03610a325783606001518260600151036109f25760018460200190151590811515815250508160800151846080018181525050610b29565b60018460a001901515908115158152505081606001518460c001818152505081608001518460e00181815250508160800151846080018181525050610b29565b600280811115610a4557610a446124c2565b5b82600001516002811115610a5c57610a5b6124c2565b5b03610adb57600180828660600151901c1603610aa65781604001519250816020015184604001518281518110610a9557610a9461285b565b5b602002602001018181525050610ad6565b81602001519250816040015184604001518281518110610ac957610ac861285b565b5b6020026020010181815250505b610b16565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d90612942565b60405180910390fd5b8080610b2190612962565b915050610947565b508296505050505050509392505050565b600081610b4681611044565b610b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7c906129f6565b60405180910390fd5b8260010160018460010180549050610b9d91906127f8565b81548110610bae57610bad61285b565b5b906000526020600020906003020160000154915050919050565b600081600301549050919050565b60608484610be48282610d35565b610c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1a906128d6565b60405180910390fd5b60008760020160008881526020019081526020016000209050600080610c51838054905089896103e86110a6565b9150915060008282610c6391906127f8565b67ffffffffffffffff811115610c7c57610c7b61282c565b5b604051908082528060200260200182016040528015610cb557816020015b610ca2611ed2565b815260200190600190039081610c9a5790505b50905060008390505b82811015610d2357610ced8c868381548110610cdd57610cdc61285b565b5b906000526020600020015461119d565b828583610cfa91906127f8565b81518110610d0b57610d0a61285b565b5b60200260200101819052508080600101915050610cbe565b50809650505050505050949350505050565b6000808360020160008481526020019081526020016000208054905011905092915050565b610d6382611044565b15610da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9a90612a62565b60405180910390fd5b610dad828261055f565b610dbb8260008060006112ea565b60018260040160006101000a81548160ff0219169083151502179055505050565b61010081565b82610dec81611044565b610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e22906129f6565b60405180910390fd5b60006040518060a0016040528060016002811115610e4c57610e4b6124c2565b5b815260200160008152602001600081526020018581526020018481525090506000610e7686610b3a565b90506000610e8787848460006113a7565b9050610e95878242436112ea565b50505050505050565b610ea6611ed2565b43821115610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090612ace565b60405180910390fd5b610ef58383600161105f565b905092915050565b610f05611ed2565b8282610f118282610d35565b610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f47906128d6565b60405180910390fd5b6000856002016000868152602001908152602001600020905060008160018380549050610f7d91906127f8565b81548110610f8e57610f8d61285b565b5b90600052602060002001549050610fa5878261119d565b94505050505092915050565b610fb9611f08565b8260000160008381526020019081526020016000206040518060a00160405290816000820160009054906101000a900460ff166002811115610ffe57610ffd6124c2565b5b60028111156110105761100f6124c2565b5b8152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b60008160040160009054906101000a900460ff169050919050565b611067611ed2565b60008061107f85858861164b9092919063ffffffff16565b915091508061109157611090612aee565b5b61109b868361119d565b925050509392505050565b600080600084116110ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e390612b69565b60405180910390fd5b8284111561112f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112690612bd5565b60405180910390fd5b858510611171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116890612c41565b60405180910390fd5b6000848661117f9190612c61565b90508681111561118d578690505b8581925092505094509492505050565b6111a5611ed2565b6000600184600101805490506111bb91906127f8565b8314905060008460010184815481106111d7576111d661285b565b5b906000526020600020906003020190506040518060c00160405280826000015481526020018361123a57866001016001876112129190612c61565b815481106112235761122261285b565b5b90600052602060002090600302016000015461123d565b60005b8152602001826001015481526020018361128a57866001016001876112629190612c61565b815481106112735761127261285b565b5b90600052602060002090600302016001015461128d565b60005b815260200182600201548152602001836112da57866001016001876112b29190612c61565b815481106112c3576112c261285b565b5b9060005260206000209060030201600201546112dd565b60005b8152509250505092915050565b83600101604051806060016040528085815260200184815260200183815250908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000155602082015181600101556040820151816002015550508360020160008481526020019081526020016000206001856001018054905061137b91906127f8565b908060018154018082558091505060019003906000526020600020016000909190919091505550505050565b600084600301548211156113f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e790612ce1565b60405180910390fd5b60008560000160008581526020019081526020016000206040518060a00160405290816000820160009054906101000a900460ff166002811115611437576114366124c2565b5b6002811115611449576114486124c2565b5b815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000806000905060006002811115611492576114916124c2565b5b836000015160028111156114a9576114a86124c2565b5b036114bf576114b88888611838565b905061163d565b600160028111156114d3576114d26124c2565b5b836000015160028111156114ea576114e96124c2565b5b0361152157866060015183606001511461150f5761150a88888588611a29565b61151a565b6115198888611838565b5b905061163c565b600280811115611534576115336124c2565b5b8360000151600281111561154b5761154a6124c2565b5b0361163b57611558611f08565b600180878a60600151901c16036115cd576115858989866040015160018a6115809190612c61565b6113a7565b92506040518060a001604052806002808111156115a5576115a46124c2565b5b815260200185602001518152602001848152602001600081526020016000815250905061162d565b6115e98989866020015160018a6115e49190612c61565b6113a7565b92506040518060a00160405280600280811115611609576116086124c2565b5b81526020018481526020018560400151815260200160008152602001600081525090505b6116378982611838565b9150505b5b5b809350505050949350505050565b60008060008560010180549050036116695760008091509150611830565b6000806001876001018054905061168091906127f8565b905060005b818311611825576002838361169a9190612c61565b6116a49190612d30565b905060006116fe8960010183815481106116c1576116c061285b565b5b9060005260206000209060030201604051806060016040529081600082015481526020016001820154815260200160028201548152505088611c28565b90508781036117ca575b6001896001018054905061171c91906127f8565b8210156117ba5760006117878a6001016001856117399190612c61565b8154811061174a5761174961285b565b5b9060005260206000209060030201604051806060016040529081600082015481526020016001820154815260200160028201548152505089611c28565b90508881036117a357828061179b90612962565b9350506117b4565b826001965096505050505050611830565b50611708565b8160019550955050505050611830565b808811156117e6576001826117df9190612c61565b935061181f565b80881080156117f55750600082115b1561180e5760018261180791906127f8565b925061181e565b6000809550955050505050611830565b5b50611685565b816001945094505050505b935093915050565b60008061184483611cda565b90506000600281111561185a576118596124c2565b5b84600001600083815260200190815260200160002060000160009054906101000a900460ff166002811115611892576118916124c2565b5b146119ad57826000015160028111156118ae576118ad6124c2565b5b84600001600083815260200190815260200160002060000160009054906101000a900460ff1660028111156118e6576118e56124c2565b5b146118f4576118f3612aee565b5b826020015184600001600083815260200190815260200160002060010154146119205761191f612aee565b5b8260400151846000016000838152602001908152602001600020600201541461194c5761194b612aee565b5b8260600151846000016000838152602001908152602001600020600301541461197857611977612aee565b5b826080015184600001600083815260200190815260200160002060040154146119a4576119a3612aee565b5b80915050611a23565b8284600001600083815260200190815260200160002060008201518160000160006101000a81548160ff021916908360028111156119ee576119ed6124c2565b5b021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050809150505b92915050565b600084600301548210611a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6890612ce1565b60405180910390fd5b611a79611f08565b6000600180858860600151901c161490506000600180868860600151901c1614905080151582151503611b5f576000611ac089898960018a611abb9190612c61565b611a29565b90508215611b0b576040518060a00160405280600280811115611ae657611ae56124c2565b5b8152602001600081526020018281526020016000815260200160008152509350611b4a565b6040518060a00160405280600280811115611b2957611b286124c2565b5b81526020018281526020016000815260200160008152602001600081525093505b611b548985611838565b945050505050611c20565b8115611bb7576040518060a00160405280600280811115611b8357611b826124c2565b5b8152602001611b9188611cda565b8152602001611b9f89611cda565b81526020016000815260200160008152509250611c05565b6040518060a00160405280600280811115611bd557611bd46124c2565b5b8152602001611be389611cda565b8152602001611bf188611cda565b815260200160008152602001600081525092505b611c0f8888611838565b50611c1a8884611838565b93505050505b949350505050565b6000600180811115611c3d57611c3c6124c2565b5b826001811115611c5057611c4f6124c2565b5b03611c615782604001519050611cd4565b60006001811115611c7557611c746124c2565b5b826001811115611c8857611c876124c2565b5b03611c995782602001519050611cd4565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccb90612dad565b60405180910390fd5b92915050565b6000806000905060016002811115611cf557611cf46124c2565b5b83600001516002811115611d0c57611d0b6124c2565b5b03611db9576000604051806060016040528085606001518152602001856080015181526020016001815250905073__$03320550cd1b629da90608251571b2532e$__6325cc70e8826040518263ffffffff1660e01b8152600401611d709190612e51565b602060405180830381865af4158015611d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db19190612e81565b915050611e80565b600280811115611dcc57611dcb6124c2565b5b83600001516002811115611de357611de26124c2565b5b03611e7f5773__$ebe82a1924a894141c89e6680d3cbc7e88$__6329a5f2f660405180604001604052808660200151815260200186604001518152506040518263ffffffff1660e01b8152600401611e3b9190612f32565b602060405180830381865af4158015611e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7c9190612e81565b90505b5b80915050919050565b6040518061010001604052806000815260200160001515815260200160608152602001600081526020016000815260200160001515815260200160008152602001600081525090565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528060006002811115611f2757611f266124c2565b5b8152602001600081526020016000815260200160008152602001600081525090565b600080fd5b6000819050919050565b611f6181611f4e565b8114611f6c57600080fd5b50565b600081359050611f7e81611f58565b92915050565b6000819050919050565b611f9781611f84565b8114611fa257600080fd5b50565b600081359050611fb481611f8e565b92915050565b60008060408385031215611fd157611fd0611f49565b5b6000611fdf85828601611f6f565b9250506020611ff085828601611fa5565b9150509250929050565b61200381611f84565b82525050565b600060208201905061201e6000830184611ffa565b92915050565b60008060006060848603121561203d5761203c611f49565b5b600061204b86828701611f6f565b935050602061205c86828701611fa5565b925050604061206d86828701611fa5565b9150509250925092565b61208081611f84565b82525050565b60008115159050919050565b61209b81612086565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006120d98383612077565b60208301905092915050565b6000602082019050919050565b60006120fd826120a1565b61210781856120ac565b9350612112836120bd565b8060005b8381101561214357815161212a88826120cd565b9750612135836120e5565b925050600181019050612116565b5085935050505092915050565b6000610100830160008301516121696000860182612077565b50602083015161217c6020860182612092565b506040830151848203604086015261219482826120f2565b91505060608301516121a96060860182612077565b5060808301516121bc6080860182612077565b5060a08301516121cf60a0860182612092565b5060c08301516121e260c0860182612077565b5060e08301516121f560e0860182612077565b508091505092915050565b6000602082019050818103600083015261221a8184612150565b905092915050565b60c0820160008201516122386000850182612077565b50602082015161224b6020850182612077565b50604082015161225e6040850182612077565b5060608201516122716060850182612077565b5060808201516122846080850182612077565b5060a082015161229760a0850182612077565b50505050565b600060c0820190506122b26000830184612222565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60c0820160008201516122fa6000850182612077565b50602082015161230d6020850182612077565b5060408201516123206040850182612077565b5060608201516123336060850182612077565b5060808201516123466080850182612077565b5060a082015161235960a0850182612077565b50505050565b600061236b83836122e4565b60c08301905092915050565b6000602082019050919050565b600061238f826122b8565b61239981856122c3565b93506123a4836122d4565b8060005b838110156123d55781516123bc888261235f565b97506123c783612377565b9250506001810190506123a8565b5085935050505092915050565b600060208201905081810360008301526123fc8184612384565b905092915050565b60006020828403121561241a57612419611f49565b5b600061242884828501611f6f565b91505092915050565b6000806000806080858703121561244b5761244a611f49565b5b600061245987828801611f6f565b945050602061246a87828801611fa5565b935050604061247b87828801611fa5565b925050606061248c87828801611fa5565b91505092959194509250565b6124a181612086565b82525050565b60006020820190506124bc6000830184612498565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110612502576125016124c2565b5b50565b6000819050612513826124f1565b919050565b600061252382612505565b9050919050565b61253381612518565b82525050565b60a08201600082015161254f600085018261252a565b5060208201516125626020850182612077565b5060408201516125756040850182612077565b5060608201516125886060850182612077565b50608082015161259b6080850182612077565b50505050565b600060a0820190506125b66000830184612539565b92915050565b600082825260208201905092915050565b7f4d6178206465707468206d7573742062652067726561746572207468616e207a60008201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b60006126296023836125bc565b9150612634826125cd565b604082019050919050565b600060208201905081810360008301526126588161261c565b9050919050565b7f4d61782064657074682063616e206f6e6c7920626520696e6372656173656400600082015250565b6000612695601f836125bc565b91506126a08261265f565b602082019050919050565b600060208201905081810360008301526126c481612688565b9050919050565b7f4d61782064657074682069732067726561746572207468616e2068617264206360008201527f6170000000000000000000000000000000000000000000000000000000000000602082015250565b60006127276022836125bc565b9150612732826126cb565b604082019050919050565b600060208201905081810360008301526127568161271a565b9050919050565b7f4e6f206675747572652074696d657374616d707320616c6c6f77656400000000600082015250565b6000612793601c836125bc565b915061279e8261275d565b602082019050919050565b600060208201905081810360008301526127c281612786565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061280382611f84565b915061280e83611f84565b9250828203905081811115612826576128256127c9565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f526f6f7420646f6573206e6f7420657869737400000000000000000000000000600082015250565b60006128c06013836125bc565b91506128cb8261288a565b602082019050919050565b600060208201905081810360008301526128ef816128b3565b9050919050565b7f496e76616c6964206e6f64652074797065000000000000000000000000000000600082015250565b600061292c6011836125bc565b9150612937826128f6565b602082019050919050565b6000602082019050818103600083015261295b8161291f565b9050919050565b600061296d82611f84565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361299f5761299e6127c9565b5b600182019050919050565b7f536d74206973206e6f7420696e697469616c697a656400000000000000000000600082015250565b60006129e06016836125bc565b91506129eb826129aa565b602082019050919050565b60006020820190508181036000830152612a0f816129d3565b9050919050565b7f536d7420697320616c726561647920696e697469616c697a6564000000000000600082015250565b6000612a4c601a836125bc565b9150612a5782612a16565b602082019050919050565b60006020820190508181036000830152612a7b81612a3f565b9050919050565b7f4e6f2066757475726520626c6f636b7320616c6c6f7765640000000000000000600082015250565b6000612ab86018836125bc565b9150612ac382612a82565b602082019050919050565b60006020820190508181036000830152612ae781612aab565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4c656e6774682073686f756c642062652067726561746572207468616e203000600082015250565b6000612b53601f836125bc565b9150612b5e82612b1d565b602082019050919050565b60006020820190508181036000830152612b8281612b46565b9050919050565b7f4c656e677468206c696d69742065786365656465640000000000000000000000600082015250565b6000612bbf6015836125bc565b9150612bca82612b89565b602082019050919050565b60006020820190508181036000830152612bee81612bb2565b9050919050565b7f537461727420696e646578206f7574206f6620626f756e647300000000000000600082015250565b6000612c2b6019836125bc565b9150612c3682612bf5565b602082019050919050565b60006020820190508181036000830152612c5a81612c1e565b9050919050565b6000612c6c82611f84565b9150612c7783611f84565b9250828201905080821115612c8f57612c8e6127c9565b5b92915050565b7f4d61782064657074682072656163686564000000000000000000000000000000600082015250565b6000612ccb6011836125bc565b9150612cd682612c95565b602082019050919050565b60006020820190508181036000830152612cfa81612cbe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d3b82611f84565b9150612d4683611f84565b925082612d5657612d55612d01565b5b828204905092915050565b7f496e76616c696420736561726368207479706500000000000000000000000000600082015250565b6000612d976013836125bc565b9150612da282612d61565b602082019050919050565b60006020820190508181036000830152612dc681612d8a565b9050919050565b600060039050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b612e0381612dcd565b612e0d8184612dd8565b9250612e1882612de3565b8060005b83811015612e49578151612e3087826120cd565b9650612e3b83612ded565b925050600181019050612e1c565b505050505050565b6000606082019050612e666000830184612dfa565b92915050565b600081519050612e7b81611f8e565b92915050565b600060208284031215612e9757612e96611f49565b5b6000612ea584828501612e6c565b91505092915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b612ee481612eae565b612eee8184612eb9565b9250612ef982612ec4565b8060005b83811015612f2a578151612f1187826120cd565b9650612f1c83612ece565b925050600181019050612efd565b505050505050565b6000604082019050612f476000830184612edb565b9291505056fea2646970667358221220dacedcec37eeb0e0724e12f4631ddef32b64c31862a9103132f24f828c1b901664736f6c634300081b0033 + from: zeto.operator + linkReferencesJSON: |- + { + "@iden3/contracts/lib/Poseidon.sol": { + "PoseidonUnit2L": [ + { + "length": 20, + "start": 7740 + } + ], + "PoseidonUnit3L": [ + { + "length": 20, + "start": 7565 + } + ] + } + } + linkedContracts: + PoseidonUnit2L: '{{index .status.resolvedContractAddresses "zeto-poseidon-unit2l"}}' + PoseidonUnit3L: '{{index .status.resolvedContractAddresses "zeto-poseidon-unit3l"}}' + node: node1 + paramsJSON: '{}' + requiredContractDeployments: + - zeto-poseidon-unit2l + - zeto-poseidon-unit3l + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: TransactionInvoke +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: zeto-anon +spec: + node: node1 + from: zeto.operator + txType: public + toTemplate: '{{ index .status.resolvedContractAddresses "zeto-factory" }}' + requiredContractDeployments: + - "zeto-factory" + - "zeto-impl-anon" + - "zeto-g16-check-hashes-value" + - "zeto-g16-check-inputs-outputs" + - "zeto-g16-check-inputs-outputs-batch" + - "zeto-g16-verifier-anon" + - "zeto-g16-verifier-anon-batch" + function: registerImplementation + paramsJSONTemplate: | + { + "name": "Zeto_Anon", + "implementation": { + "implementation": "{{ index .status.resolvedContractAddresses "zeto-impl-anon" }}", + "depositVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-hashes-value" }}", + "withdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs" }}", + "batchWithdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs-batch" }}", + "verifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon" }}", + "batchVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon-batch" }}" + } + } + abiJSON: | + [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "internalType": "address", + "name": "depositVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "withdrawVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "verifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchWithdrawVerifier", + "type": "address" + } + ], + "internalType": "struct ZetoTokenFactory.ImplementationInfo", + "name": "implementation", + "type": "tuple" + } + ], + "name": "registerImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: TransactionInvoke +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: zeto-anon-enc +spec: + node: node1 + from: zeto.operator + txType: public + toTemplate: '{{ index .status.resolvedContractAddresses "zeto-factory" }}' + requiredContractDeployments: + - "zeto-factory" + - "zeto-impl-anon-enc" + - "zeto-g16-check-hashes-value" + - "zeto-g16-check-inputs-outputs" + - "zeto-g16-check-inputs-outputs-batch" + - "zeto-g16-verifier-anon-enc" + - "zeto-g16-verifier-anon-enc-batch" + function: registerImplementation + paramsJSONTemplate: | + { + "name": "Zeto_AnonEnc", + "implementation": { + "implementation": "{{ index .status.resolvedContractAddresses "zeto-impl-anon-enc" }}", + "depositVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-hashes-value" }}", + "withdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs" }}", + "batchWithdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs-batch" }}", + "verifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon-enc" }}", + "batchVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon-enc-batch" }}" + } + } + abiJSON: | + [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "internalType": "address", + "name": "depositVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "withdrawVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "verifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchWithdrawVerifier", + "type": "address" + } + ], + "internalType": "struct ZetoTokenFactory.ImplementationInfo", + "name": "implementation", + "type": "tuple" + } + ], + "name": "registerImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: TransactionInvoke +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: zeto-anon-nullifier +spec: + node: node1 + from: zeto.operator + txType: public + toTemplate: '{{ index .status.resolvedContractAddresses "zeto-factory" }}' + requiredContractDeployments: + - "zeto-factory" + - "zeto-impl-anon-nullifier" + - "zeto-g16-check-hashes-value" + - "zeto-g16-check-inputs-outputs" + - "zeto-g16-check-inputs-outputs-batch" + - "zeto-g16-verifier-anon-nullifier" + - "zeto-g16-verifier-anon-nullifier-batch" + function: registerImplementation + paramsJSONTemplate: | + { + "name": "Zeto_AnonNullifier", + "implementation": { + "implementation": "{{ index .status.resolvedContractAddresses "zeto-impl-anon-nullifier" }}", + "depositVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-hashes-value" }}", + "withdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs" }}", + "batchWithdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs-batch" }}", + "verifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon-nullifier" }}", + "batchVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon-nullifier-batch" }}" + } + } + abiJSON: | + [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "internalType": "address", + "name": "depositVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "withdrawVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "verifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchWithdrawVerifier", + "type": "address" + } + ], + "internalType": "struct ZetoTokenFactory.ImplementationInfo", + "name": "implementation", + "type": "tuple" + } + ], + "name": "registerImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] diff --git a/operator/generated-crs/devnet.yaml b/operator/generated-crs/devnet.yaml new file mode 100644 index 000000000..1e47cff6c --- /dev/null +++ b/operator/generated-crs/devnet.yaml @@ -0,0 +1,4535 @@ +--- +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: selfsigned-issuer +spec: + selfSigned: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: Besu +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: node1 +spec: + genesis: testnet + service: + type: NodePort + ports: + - name: rpc-http + port: 8545 + nodePort: 31545 # see paladin-kind.yaml + - name: rpc-ws + port: 8546 + nodePort: 31546 # see paladin-kind.yaml + - name: graphql-http + port: 8547 + nodePort: 31547 # see paladin-kind.yaml + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: Besu +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: node2 +spec: + genesis: testnet + service: + type: NodePort + ports: + - name: rpc-http + port: 8545 + nodePort: 31645 # see paladin-kind.yaml + - name: rpc-ws + port: 8546 + nodePort: 31646 # see paladin-kind.yaml + - name: graphql-http + port: 8547 + nodePort: 31647 # see paladin-kind.yaml + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: Besu +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: node3 +spec: + genesis: testnet + service: + type: NodePort + ports: + - name: rpc-http + port: 8545 + nodePort: 31745 # see paladin-kind.yaml + - name: rpc-ws + port: 8546 + nodePort: 31746 # see paladin-kind.yaml + - name: graphql-http + port: 8547 + nodePort: 31747 # see paladin-kind.yaml + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: BesuGenesis +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: testnet +spec: + chainID: 1337 + gasLimit: 700000000 + consensus: qbft + blockPeriod: 100ms + emptyBlockPeriod: 10s + initialValidators: + - node1 + - node2 + - node3 + +--- +# To convert your JSON content to base64, use the following command: +# echo -n '' | base64 +# +# Example: +# echo -n '{"nodeName":"node1","db":{"type":"sqlite","sqlite":{"uri":":memory:","autoMigrate":true,"migrationsDir":"./db/migrations/sqlite","debugQueries":true}},"grpc":{"shutdownTimeout":0},"rpcServer":{"http":{"port":0,"shutdownTimeout":0},"ws":{"disabled":true,"shutdownTimeout":0}},"blockchain":{"http":{"url":"http://localhost:8545"},"ws":{"url":"ws://localhost:8546","initialConnectAttempts":25}},"signer":{"keyDerivation":{"type":"bip32"},"keyStore":{"type":"static","static":{"keys":{"seed":{"encoding":"none","inline":"worth race crush harbor atom race scrub quit glimpse solution style adapt catalog cheese nothing"}}}}}}' | base64 + +apiVersion: core.paladin.io/v1alpha1 +kind: Paladin +metadata: + name: node1 +spec: + config: | + log: + level: debug + db: + postgres: + debugQueries: true + + database: + mode: sidecarPostgres + migrationMode: auto + baseLedgerEndpoint: + type: local + local: + nodeName: node1 + secretBackedSigners: + - name: signer-1 + secret: node1.keys + type: autoHDWallet + domains: + - labelSelector: + matchLabels: + paladin.io/domain-name: noto + - labelSelector: + matchLabels: + paladin.io/domain-name: zeto + - labelSelector: + matchLabels: + paladin.io/domain-name: pente + registries: + - labelSelector: + matchLabels: + paladin.io/registry-name: evm-registry + transports: + - name: grpc + plugin: + type: c-shared + library: /app/transports/libgrpc.so + configJSON: | + { + "port": 9000, + "address": "0.0.0.0" + } + ports: + - name: transport-grpc + port: 9000 + targetPort: 9000 + tls: + secretName: paladin-node1-mtls + certName: paladin-node1-mtls + service: + type: NodePort + ports: + - name: rpc-http + port: 8548 + nodePort: 31548 # see paladin-kind.yaml + - name: rpc-ws + port: 8549 + nodePort: 31549 # see paladin-kind.yaml + +--- +# To convert your JSON content to base64, use the following command: +# echo -n '' | base64 +# +# Example: +# echo -n '{"nodeName":"node2","db":{"type":"sqlite","sqlite":{"uri":":memory:","autoMigrate":true,"migrationsDir":"./db/migrations/sqlite","debugQueries":true}},"grpc":{"shutdownTimeout":0},"rpcServer":{"http":{"port":0,"shutdownTimeout":0},"ws":{"disabled":true,"shutdownTimeout":0}},"blockchain":{"http":{"url":"http://localhost:8545"},"ws":{"url":"ws://localhost:8546","initialConnectAttempts":25}},"signer":{"keyDerivation":{"type":"bip32"},"keyStore":{"type":"static","static":{"keys":{"seed":{"encoding":"none","inline":"worth race crush harbor atom race scrub quit glimpse solution style adapt catalog cheese nothing"}}}}}}' | base64 + +apiVersion: core.paladin.io/v1alpha1 +kind: Paladin +metadata: + name: node2 +spec: + config: | + log: + level: debug + database: + mode: sidecarPostgres + migrationMode: auto + baseLedgerEndpoint: + type: local + local: + nodeName: node2 + secretBackedSigners: + - name: signer-1 + secret: node2.keys + type: autoHDWallet + domains: + - labelSelector: + matchLabels: + paladin.io/domain-name: noto + - labelSelector: + matchLabels: + paladin.io/domain-name: zeto + - labelSelector: + matchLabels: + paladin.io/domain-name: pente + registries: + - labelSelector: + matchLabels: + paladin.io/registry-name: evm-registry + transports: + - name: grpc + plugin: + type: c-shared + library: /app/transports/libgrpc.so + configJSON: | + { + "port": 9000, + "address": "0.0.0.0" + } + ports: + - name: transport-grpc + port: 9000 + targetPort: 9000 + tls: + secretName: paladin-node2-mtls + certName: paladin-node2-mtls + service: + type: NodePort + ports: + - name: rpc-http + port: 8548 + nodePort: 31648 # see paladin-kind.yaml + - name: rpc-ws + port: 8549 + nodePort: 31649 # see paladin-kind.yaml + +--- +# To convert your JSON content to base64, use the following command: +# echo -n '' | base64 +# +# Example: +# echo -n '{"nodeName":"node3","db":{"type":"sqlite","sqlite":{"uri":":memory:","autoMigrate":true,"migrationsDir":"./db/migrations/sqlite","debugQueries":true}},"grpc":{"shutdownTimeout":0},"rpcServer":{"http":{"port":0,"shutdownTimeout":0},"ws":{"disabled":true,"shutdownTimeout":0}},"blockchain":{"http":{"url":"http://localhost:8545"},"ws":{"url":"ws://localhost:8546","initialConnectAttempts":25}},"signer":{"keyDerivation":{"type":"bip32"},"keyStore":{"type":"static","static":{"keys":{"seed":{"encoding":"none","inline":"worth race crush harbor atom race scrub quit glimpse solution style adapt catalog cheese nothing"}}}}}}' | base64 + +apiVersion: core.paladin.io/v1alpha1 +kind: Paladin +metadata: + name: node3 +spec: + config: | + log: + level: debug + database: + mode: sidecarPostgres + migrationMode: auto + baseLedgerEndpoint: + type: local + local: + nodeName: node3 + secretBackedSigners: + - name: signer-1 + secret: node3.keys + type: autoHDWallet + domains: + - labelSelector: + matchLabels: + paladin.io/domain-name: noto + - labelSelector: + matchLabels: + paladin.io/domain-name: zeto + - labelSelector: + matchLabels: + paladin.io/domain-name: pente + registries: + - labelSelector: + matchLabels: + paladin.io/registry-name: evm-registry + transports: + - name: grpc + plugin: + type: c-shared + library: /app/transports/libgrpc.so + configJSON: | + { + "port": 9000, + "address": "0.0.0.0" + } + ports: + - name: transport-grpc + port: 9000 + targetPort: 9000 + tls: + secretName: paladin-node3-mtls + certName: paladin-node3-mtls + service: + type: NodePort + ports: + - name: rpc-http + port: 8548 + nodePort: 31748 # see paladin-kind.yaml + - name: rpc-ws + port: 8549 + nodePort: 31749 # see paladin-kind.yaml + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinDomain +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + paladin.io/domain-name: noto + name: noto +spec: + smartContractDeployment: noto-factory + plugin: + type: c-shared + library: /app/domains/libnoto.so + configJSON: | + {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinDomain +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + paladin.io/domain-name: pente + name: pente +spec: + smartContractDeployment: pente-factory + plugin: + type: jar + library: /app/domains/pente.jar + class: io.kaleido.paladin.pente.domain.PenteDomainFactory + configJSON: | + {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinDomain +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + paladin.io/domain-name: zeto + name: zeto +spec: + smartContractDeployment: zeto-factory + allowSigning: true + plugin: + type: c-shared + library: /app/domains/libzeto.so + configJSON: | + { + "domainContracts": { + "Implementations": [ + { + "CircuitId": "anon", + "Name": "Zeto_Anon" + }, + { + "CircuitId": "anon_enc", + "Name": "Zeto_AnonEnc" + }, + { + "CircuitId": "anon_nullifier", + "Name": "Zeto_AnonNullifier" + } + ] + }, + "snarkProver": { + "circuitsDir": "/app/domains/zeto/zkp", + "provingKeysDir": "/app/domains/zeto/zkp" + } + } + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinRegistration +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: node1 +spec: + registry: evm-registry + registryAdminNode: node1 # We are the root key owner + registryAdminKey: registry.operator + node: node1 + nodeAdminKey: registry.node1 + transports: + - grpc + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinRegistration +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: node2 +spec: + registry: evm-registry + registryAdminNode: node1 # home of the root key + registryAdminKey: registry.operator + node: node2 + nodeAdminKey: registry.node2 + transports: + - grpc + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinRegistration +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: node3 +spec: + registry: evm-registry + registryAdminNode: node1 # home of the root key + registryAdminKey: registry.operator + node: node3 + nodeAdminKey: registry.node3 + transports: + - grpc + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: PaladinRegistry +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + paladin.io/registry-name: evm-registry + name: evm-registry +spec: + type: evm + evm: + smartContractDeployment: registry + plugin: + type: c-shared + library: /app/registries/libevm.so + configJSON: | + {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: noto-factory +spec: + abiJSON: |- + [ + { + "inputs": [], + "outputs": null, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ERC1167FailedCreateClone", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "instance", + "type": "address" + }, + { + "internalType": "bytes", + "name": "config", + "type": "bytes" + } + ], + "name": "PaladinRegisterSmartContract_V0", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "transactionId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "notaryAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deploy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "bytes32", + "name": "transactionId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "notaryAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deployImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "registerImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x608060405234801561001057600080fd5b50338061003757604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b610040816100b4565b5060405161004d90610104565b604051809103906000f080158015610069573d6000803e3d6000fd5b5060405166191959985d5b1d60ca1b815260019060070190815260405190819003602001902080546001600160a01b03929092166001600160a01b0319909216919091179055610111565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611fa48061096b83390190565b61084b806101206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063715018a61161005b578063715018a6146100d957806387fe19b5146100e15780638da5cb5b146100f4578063f2fde38b1461010557600080fd5b80632781212e146100825780635d7712dc146100975780636b683896146100aa575b600080fd5b6100956100903660046104f4565b610118565b005b6100956100a536600461054e565b610175565b6100bd6100b83660046105a2565b6101d1565b6040516001600160a01b03909116815260200160405180910390f35b610095610206565b6100956100ef3660046105e4565b61021a565b6000546001600160a01b03166100bd565b610095610113366004610671565b610237565b61016f600160405161014d907f64656661756c7400000000000000000000000000000000000000000000000000815260070190565b908152604051908190036020019020546001600160a01b031685858585610293565b50505050565b61017d610366565b8060018484604051610190929190610693565b90815260405190819003602001902080546001600160a01b039290921673ffffffffffffffffffffffffffffffffffffffff19909216919091179055505050565b6000600183836040516101e5929190610693565b908152604051908190036020019020546001600160a01b0316905092915050565b61020e610366565b61021860006103ac565b565b61022f6001878760405161014d929190610693565b505050505050565b61023f610366565b6001600160a01b038116610287576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610290816103ac565b50565b600061029e86610409565b90506000816001600160a01b031663d1f578948686866040518463ffffffff1660e01b81526004016102d2939291906106a3565b6000604051808303816000875af11580156102f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103199190810190610735565b9050816001600160a01b0316867fd77f43af9eba6f7c0ea72f4bad6bc58c3bd49e2cb299e128c91293b7ebc17f438360405161035591906107e2565b60405180910390a350505050505050565b6000546001600160a01b03163314610218576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161027e565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b03811661048f576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b80356001600160a01b038116811461048f57600080fd5b60008083601f8401126104bd57600080fd5b50813567ffffffffffffffff8111156104d557600080fd5b6020830191508360208285010111156104ed57600080fd5b9250929050565b6000806000806060858703121561050a57600080fd5b8435935061051a60208601610494565b9250604085013567ffffffffffffffff81111561053657600080fd5b610542878288016104ab565b95989497509550505050565b60008060006040848603121561056357600080fd5b833567ffffffffffffffff81111561057a57600080fd5b610586868287016104ab565b9094509250610599905060208501610494565b90509250925092565b600080602083850312156105b557600080fd5b823567ffffffffffffffff8111156105cc57600080fd5b6105d8858286016104ab565b90969095509350505050565b600080600080600080608087890312156105fd57600080fd5b863567ffffffffffffffff8082111561061557600080fd5b6106218a838b016104ab565b90985096506020890135955086915061063c60408a01610494565b9450606089013591508082111561065257600080fd5b5061065f89828a016104ab565b979a9699509497509295939492505050565b60006020828403121561068357600080fd5b61068c82610494565b9392505050565b8183823760009101908152919050565b6001600160a01b038416815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b8381101561072c578181015183820152602001610714565b50506000910152565b60006020828403121561074757600080fd5b815167ffffffffffffffff8082111561075f57600080fd5b818401915084601f83011261077357600080fd5b815181811115610785576107856106e2565b604051601f8201601f19908116603f011681019083821181831017156107ad576107ad6106e2565b816040528281528760208487010111156107c657600080fd5b6107d7836020830160208801610711565b979650505050505050565b6020815260008251806020840152610801816040850160208701610711565b601f01601f1916919091016040019291505056fea26469706673582212202de522d482a0a855fd431a78e0879eab1aac2514959cdf7de8f45fd95e599e4e64736f6c6343000814003360a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611ea76100fd60003960008181610c7c01528181610ca50152610e2b0152611ea76000f3fe6080604052600436106100d25760003560e01c80636e0f12981161007f57806384b0196e1161005957806384b0196e146102795780639e23a732146102a1578063ad3cb1cc146102c1578063d1f578941461031757600080fd5b80636e0f1298146101c257806370f17e9a1461020b578063746f6bb71461025957600080fd5b806352d1902d116100b057806352d1902d1461012c5780635adbade7146101545780635f20994d1461018257600080fd5b80630c57c6d5146100d757806325ddff73146100f95780634f1ef28614610119575b600080fd5b3480156100e357600080fd5b506100f76100f23660046116b0565b610337565b005b34801561010557600080fd5b506100f761011436600461174a565b6103f0565b6100f7610127366004611840565b6104d8565b34801561013857600080fd5b506101416104f7565b6040519081526020015b60405180910390f35b34801561016057600080fd5b50610169600081565b60405167ffffffffffffffff909116815260200161014b565b34801561018e57600080fd5b506101b261019d366004611902565b60009081526001602052604090205460ff1690565b604051901515815260200161014b565b3480156101ce57600080fd5b506101da600160f01b81565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161014b565b34801561021757600080fd5b50610241610226366004611902565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200161014b565b34801561026557600080fd5b506100f761027436600461191b565b610526565b34801561028557600080fd5b5061028e610545565b60405161014b97969594939291906119d6565b3480156102ad57600080fd5b506100f76102bc36600461174a565b610646565b3480156102cd57600080fd5b5061030a6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161014b9190611a88565b34801561032357600080fd5b5061030a610332366004611a9b565b6107da565b61034033610a09565b60606103e78188888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250610a5e92505050565b50505050505050565b6103f933610a09565b6104ce88888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250610a5e92505050565b5050505050505050565b6104e0610c71565b6104e982610d2a565b6104f38282610d33565b5050565b6000610501610e20565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b61052f33610a09565b61053d868686868686610e69565b505050505050565b600060608082808083817fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100805490915015801561058457506001810154155b6105ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a6564000000000000000000000060448201526064015b60405180910390fd5b6105f7610ee7565b6105ff610fbc565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009c939b5091995046985030975095509350915050565b600061065689898989878761100d565b6000818152600260205260409020549091506001600160a01b031633146106d257600081815260026020526040908190205490517faa3c89a1000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b0390911660248201523360448201526064016105e6565b6107a789898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250610a5e92505050565b6000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff191690555050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546060919068010000000000000000810460ff16159067ffffffffffffffff166000811580156108295750825b905060008267ffffffffffffffff1660011480156108465750303b155b905081158015610854575080155b1561088b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108bf57845468ff00000000000000001916680100000000000000001785555b6109336040518060400160405280600481526020017f6e6f746f000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f302e302e310000000000000000000000000000000000000000000000000000008152506110ee565b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038b169081178255604080516060810182529182526020808301939093528051601f8b0184900484028101840182528a81526109b093918301918c908c90819084018382808284376000920191909152505050915250611100565b955083156109fd57845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050509392505050565b6000546001600160a01b03828116911614610a5b576040517f830743c90000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024016105e6565b50565b60005b8451811015610b3f5760016000868381518110610a8057610a80611aee565b602090810291909101810151825281019190915260400160009081205460ff1615159003610af757848181518110610aba57610aba611aee565b60200260200101516040517f8b8ff76e0000000000000000000000000000000000000000000000000000000081526004016105e691815260200190565b60016000868381518110610b0d57610b0d611aee565b6020908102919091018101518252810191909152604001600020805460ff19169055610b3881611b04565b9050610a61565b5060005b8351811015610c2d5760016000858381518110610b6257610b62611aee565b60209081029190910181015182528101919091526040016000205460ff161515600103610bd857838181518110610b9b57610b9b611aee565b60200260200101516040517ff011771d0000000000000000000000000000000000000000000000000000000081526004016105e691815260200190565b6001806000868481518110610bef57610bef611aee565b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555080610c2690611b04565b9050610b43565b507f1f158419f9be0e2f7500ff70784bdcf23e591d40cf4a7903d900a5718156d26e84848484604051610c639493929190611b66565b60405180910390a150505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610d0a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610cfe7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15610d285760405163703e46dd60e11b815260040160405180910390fd5b565b610a5b33610a09565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d8d575060408051601f3d908101601f19168201909252610d8a91810190611bbe565b60015b610db557604051634c9c8ce360e01b81526001600160a01b03831660048201526024016105e6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114610e11576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016105e6565b610e1b8383611163565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d285760405163703e46dd60e11b815260040160405180910390fd5b60008581526002602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038916179055517fe1d739165793e39d23932a8bbf260ff8f37a31163cb41909361420e1e4d151aa90610ed790889088908890889088908890611c00565b60405180910390a1505050505050565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10091610f3890611c49565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6490611c49565b8015610fb15780601f10610f8657610100808354040283529160200191610fb1565b820191906000526020600020905b815481529060010190602001808311610f9457829003601f168201915b505050505091505090565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10380546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10091610f3890611c49565b6000807f8680a0f190c5d2b22fc4e0a097fdfc5c206ed94420c7f3783040268c2d95571e8888604051602001611044929190611c83565b60405160208183030381529060405280519060200120878760405160200161106d929190611c83565b604051602081830303815290604052805190602001208686604051611093929190611cc5565b6040519081900381206110c19493929160200193845260208401929092526040830152606082015260800190565b6040516020818303038152906040528051906020012090506110e2816111b9565b98975050505050505050565b6110f6611207565b6104f3828261126e565b6060600082600001518360200151846040015160405160200161112593929190611cd5565b60408051601f1981840301815290829052915061114c90600160f01b908390602001611d07565b604051602081830303815290604052915050919050565b61116c826112e1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156111b157610e1b8282611365565b6104f36113db565b60006112016111c6611413565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b92915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610d28576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611276611207565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1026112c28482611d95565b50600381016112d18382611d95565b5060008082556001909101555050565b806001600160a01b03163b60000361131757604051634c9c8ce360e01b81526001600160a01b03821660048201526024016105e6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516113829190611e55565b600060405180830381855af49150503d80600081146113bd576040519150601f19603f3d011682016040523d82523d6000602084013e6113c2565b606091505b50915091506113d2858383611422565b95945050505050565b3415610d28576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061141d61149a565b905090565b606082611437576114328261150e565b611493565b815115801561144e57506001600160a01b0384163b155b15611490576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016105e6565b50805b9392505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6114c5611550565b6114cd6115cc565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b80511561151e5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008161157c610ee7565b80519091501561159457805160209091012092915050565b815480156115a3579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100816115f8610fbc565b80519091501561161057805160209091012092915050565b600182015480156115a3579392505050565b60008083601f84011261163457600080fd5b50813567ffffffffffffffff81111561164c57600080fd5b6020830191508360208260051b850101111561166757600080fd5b9250929050565b60008083601f84011261168057600080fd5b50813567ffffffffffffffff81111561169857600080fd5b60208301915083602082850101111561166757600080fd5b600080600080600080606087890312156116c957600080fd5b863567ffffffffffffffff808211156116e157600080fd5b6116ed8a838b01611622565b9098509650602089013591508082111561170657600080fd5b6117128a838b0161166e565b9096509450604089013591508082111561172b57600080fd5b5061173889828a0161166e565b979a9699509497509295939492505050565b6000806000806000806000806080898b03121561176657600080fd5b883567ffffffffffffffff8082111561177e57600080fd5b61178a8c838d01611622565b909a50985060208b01359150808211156117a357600080fd5b6117af8c838d01611622565b909850965060408b01359150808211156117c857600080fd5b6117d48c838d0161166e565b909650945060608b01359150808211156117ed57600080fd5b506117fa8b828c0161166e565b999c989b5096995094979396929594505050565b80356001600160a01b038116811461182557600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561185357600080fd5b61185c8361180e565b9150602083013567ffffffffffffffff8082111561187957600080fd5b818501915085601f83011261188d57600080fd5b81358181111561189f5761189f61182a565b604051601f8201601f19908116603f011681019083821181831017156118c7576118c761182a565b816040528281528860208487010111156118e057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561191457600080fd5b5035919050565b6000806000806000806080878903121561193457600080fd5b61193d8761180e565b955060208701359450604087013567ffffffffffffffff8082111561196157600080fd5b61196d8a838b0161166e565b9096509450606089013591508082111561172b57600080fd5b60005b838110156119a1578181015183820152602001611989565b50506000910152565b600081518084526119c2816020860160208601611986565b601f01601f19169290920160200192915050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152611a1260e084018a6119aa565b8381036040850152611a24818a6119aa565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015611a7657835183529284019291840191600101611a5a565b50909c9b505050505050505050505050565b60208152600061149360208301846119aa565b600080600060408486031215611ab057600080fd5b611ab98461180e565b9250602084013567ffffffffffffffff811115611ad557600080fd5b611ae18682870161166e565b9497909650939450505050565b634e487b7160e01b600052603260045260246000fd5b600060018201611b2457634e487b7160e01b600052601160045260246000fd5b5060010190565b600081518084526020808501945080840160005b83811015611b5b57815187529582019590820190600101611b3f565b509495945050505050565b608081526000611b796080830187611b2b565b8281036020840152611b8b8187611b2b565b90508281036040840152611b9f81866119aa565b90508281036060840152611bb381856119aa565b979650505050505050565b600060208284031215611bd057600080fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0387168152856020820152608060408201526000611c29608083018688611bd7565b8281036060840152611c3c818587611bd7565b9998505050505050505050565b600181811c90821680611c5d57607f821691505b602082108103611c7d57634e487b7160e01b600052602260045260246000fd5b50919050565b60007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611cb257600080fd5b8260051b80858437919091019392505050565b8183823760009101908152919050565b6001600160a01b038416815267ffffffffffffffff831660208201526060604082015260006113d260608301846119aa565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251611d41816004850160208701611986565b919091016004019392505050565b601f821115610e1b57600081815260208120601f850160051c81016020861015611d765750805b601f850160051c820191505b8181101561053d57828155600101611d82565b815167ffffffffffffffff811115611daf57611daf61182a565b611dc381611dbd8454611c49565b84611d4f565b602080601f831160018114611df85760008415611de05750858301515b600019600386901b1c1916600185901b17855561053d565b600085815260208120601f198616915b82811015611e2757888601518255948401946001909101908401611e08565b5085821015611e455787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251611e67818460208701611986565b919091019291505056fea264697066735822122090a918a8065773bb424299b634489ca55cee35bee72f04f7d3897729e077b36264736f6c63430008140033 + from: noto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: pente-factory +spec: + abiJSON: |- + [ + { + "inputs": [], + "name": "ERC1167FailedCreateClone", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "instance", + "type": "address" + }, + { + "internalType": "bytes", + "name": "config", + "type": "bytes" + } + ], + "name": "PaladinRegisterSmartContract_V0", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "transactionId", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "newPrivacyGroup", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x60806040526040516100109061005f565b604051809103906000f08015801561002c573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b039290921691909117905534801561005957600080fd5b5061006c565b612a52806103c483390190565b6103498061007b6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f3a5adb214610030575b600080fd5b61004361003e36600461020a565b610045565b005b600080546100689073ffffffffffffffffffffffffffffffffffffffff16610143565b6040517f439fab9100000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063439fab91906100bd9085906004016102c5565b600060405180830381600087803b1580156100d757600080fd5b505af11580156100eb573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16837fd77f43af9eba6f7c0ea72f4bad6bc58c3bd49e2cb299e128c91293b7ebc17f438460405161013691906102c5565b60405180910390a3505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff81166101d6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561021d57600080fd5b82359150602083013567ffffffffffffffff8082111561023c57600080fd5b818501915085601f83011261025057600080fd5b813581811115610262576102626101db565b604051601f8201601f19908116603f0116810190838211818310171561028a5761028a6101db565b816040528281528860208487010111156102a357600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208083528351808285015260005b818110156102f2578581018301518582016040015282016102d6565b506000604082860101526040601f19601f830116850101925050509291505056fea26469706673582212203f2dd2442271212661deec324e9fe31d8d75c10bab2627dc354693e014f3401b64736f6c6343000814003360a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161294e6200010460003960008181611130015281816111590152611320015261294e6000f3fe6080604052600436106100b15760003560e01c806377516f8c11610069578063ac3cd44f1161004e578063ac3cd44f1461019b578063ad3cb1cc146101e7578063d3e889ce1461023d57600080fd5b806377516f8c1461015357806384b0196e1461017357600080fd5b8063439fab911161009a578063439fab91146100f85780634f1ef2861461011857806352d1902d1461012b57600080fd5b80630a78b6c5146100b6578063223ce098146100d8575b600080fd5b3480156100c257600080fd5b506100d66100d1366004611ece565b61025d565b005b3480156100e457600080fd5b506100d66100f3366004611f39565b6102a8565b34801561010457600080fd5b506100d6610113366004611fd7565b6102d7565b6100d66101263660046120e8565b610593565b34801561013757600080fd5b506101406105b2565b6040519081526020015b60405180910390f35b34801561015f57600080fd5b506100d661016e36600461214a565b6105e1565b34801561017f57600080fd5b5061018861066a565b60405161014a9796959493929190612202565b3480156101a757600080fd5b506101ce7e0100000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b0319909116815260200161014a565b3480156101f357600080fd5b506102306040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161014a91906122b4565b34801561024957600080fd5b506100d66102583660046122c7565b610766565b600061026884610802565b9050610275818484610872565b50506002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03939093169290921790915550565b60006102b5868686610b7b565b90506102c2818484610872565b6102ce87878787610d0e565b50505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156103225750825b905060008267ffffffffffffffff16600114801561033f5750303b155b90508115801561034d575080155b15610384576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103b857845468ff00000000000000001916680100000000000000001785555b61042c6040518060400160405280600581526020017f70656e74650000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f302e302e31000000000000000000000000000000000000000000000000000000815250611113565b600061043b600482898b612337565b61044491612361565b90507fffff0000000000000000000000000000000000000000000000000000000000006001600160e01b03198216016104fc57600080806104888a6004818e612337565b8101906104959190612391565b60408051808201909152838152602080820184905260038581558451959950939750919550935090916104ce9160049190870190611ddf565b5050811590506104df5760016104e2565b60005b6005805460ff19169115159190911790555061053f915050565b6040517f1eb38a7c0000000000000000000000000000000000000000000000000000000081526001600160e01b0319821660048201526024015b60405180910390fd5b5083156102ce57845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a150505050505050565b61059b611125565b6105a4826111de565b6105ae8282611228565b5050565b60006105bc611315565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6105ec838383610872565b600083815260016020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0388169081179091558251888152918201529081018490527fb9ae1f7c1a7315ba3a1ca3b57db9ff65646e18265c9b0e79e8423b0fd7c4839c9060600160405180910390a15050505050565b600060608082808083817fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10080549091501580156106a957506001810154155b61070f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610536565b61071761135e565b61071f611433565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009c939b5091995046985030975095509350915050565b6000610773848484610b7b565b6000818152600160205260409020549091506001600160a01b031633146107ef57600081815260016020526040908190205490517fa69a6005000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b039091166024820152336044820152606401610536565b6107fb85858585610d0e565b5050505050565b6000807f43c66ea365f48b9715a163ea21bbc96c68341d6bf224d1d6cb216b57b8c4ea398360405160200161084a9291909182526001600160a01b0316602082015260400190565b60405160208183030381529060405280519060200120905061086b81611484565b9392505050565b600060036001018054806020026020016040519081016040528092919081815260200182805480156108cd57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116108af575b5050505050905060008383905067ffffffffffffffff8111156108f2576108f2612049565b60405190808252806020026020018201604052801561091b578160200160208202803683370190505b5090506000805b84811015610b2857600061098e888888858181106109425761094261248a565b905060200281019061095491906124a0565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114d292505050565b905060005b83811015610a1c578481815181106109ad576109ad61248a565b60200260200101516001600160a01b0316826001600160a01b031603610a0a576040517f4f8d70160000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610536565b80610a14816124e7565b915050610993565b506000805b8651811015610a8f57868181518110610a3c57610a3c61248a565b60200260200101516001600160a01b0316836001600160a01b031603610a7d57868181518110610a6e57610a6e61248a565b60200260200101519150610a8f565b80610a87816124e7565b915050610a21565b506001600160a01b038116610adb576040517fb9cb6d180000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610536565b80858581518110610aee57610aee61248a565b6001600160a01b039092166020928302919091019091015283610b10816124e7565b94505050508080610b20906124e7565b915050610922565b50600354811015610b73576003546040517f71261549000000000000000000000000000000000000000000000000000000008152610536918391600401918252602082015260400190565b505050505050565b6000806040518060a00160405280606a8152602001612878606a91396040518060600160405280603781526020016128e260379139604051602001610bc192919061250e565b60408051601f198184030181529190528051602090910120610be3868061253d565b604051602001610bf4929190612587565b60405160208183030381529060405280519060200120868060200190610c1a919061253d565b604051602001610c2b929190612587565b60405160208183030381529060405280519060200120878060400190610c51919061253d565b604051602001610c62929190612587565b60408051601f198184030181529190528051602090910120610c8760608a018a61253d565b604051602001610c98929190612587565b60405160208183030381529060405280519060200120610cb889896114fc565b6040805160208101979097528601949094526060850192909252608084015260a083015260c082015260e001604051602081830303815290604052805190602001209050610d0581611484565b95945050505050565b60005b610d1b848061253d565b9050811015610e0857600080610d31868061253d565b84818110610d4157610d4161248a565b602090810292909201358352508101919091526040016000205460ff16610db857610d6c848061253d565b82818110610d7c57610d7c61248a565b905060200201356040517fa80f89f400000000000000000000000000000000000000000000000000000000815260040161053691815260200190565b600080610dc5868061253d565b84818110610dd557610dd561248a565b60209081029290920135835250810191909152604001600020805460ff1916905580610e00816124e7565b915050610d11565b5060005b610e19602085018561253d565b9050811015610ece57600080610e32602087018761253d565b84818110610e4257610e4261248a565b602090810292909201358352508101919091526040016000205460ff16610ebc57610e70602085018561253d565b82818110610e8057610e8061248a565b905060200201356040517fa7a3ace300000000000000000000000000000000000000000000000000000000815260040161053691815260200190565b80610ec6816124e7565b915050610e0c565b5060005b610edf604085018561253d565b9050811015610fe457600080610ef8604087018761253d565b84818110610f0857610f0861248a565b602090810292909201358352508101919091526040016000205460ff1615610f8357610f37604085018561253d565b82818110610f4757610f4761248a565b905060200201356040517ff6b3931c00000000000000000000000000000000000000000000000000000000815260040161053691815260200190565b6001600080610f95604088018861253d565b85818110610fa557610fa561248a565b90506020020135815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fdc906124e7565b915050610ed2565b507f156c14fb5e9a70b196a7d32f40d526ee002750cb79cc5be80567856f30aeab2284611011858061253d565b61101e602088018861253d565b61102b60408a018a61253d565b61103860608c018c61253d565b60405161104d99989796959493929190612614565b60405180910390a160005b818110156107fb576111018383838181106110755761107561248a565b9050602002810190611087919061267b565b61109590602081019061269b565b8484848181106110a7576110a761248a565b90506020028101906110b9919061267b565b6110c79060208101906124a0565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116a792505050565b8061110b816124e7565b915050611058565b61111b61175a565b6105ae82826117c1565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806111be57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156111dc5760405163703e46dd60e11b815260040160405180910390fd5b565b6002546001600160a01b03828116911614611225576040517fa5762b7f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611282575060408051601f3d908101601f1916820190925261127f918101906126b6565b60015b6112aa57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610536565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611306576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610536565b6113108383611834565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111dc5760405163703e46dd60e11b815260040160405180910390fd5b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100916113af906126cf565b80601f01602080910402602001604051908101604052809291908181526020018280546113db906126cf565b80156114285780601f106113fd57610100808354040283529160200191611428565b820191906000526020600020905b81548152906001019060200180831161140b57829003601f168201915b505050505091505090565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10380546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100916113af906126cf565b60006114cc61149161188a565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b92915050565b6000806000806114e28686611899565b9250925092506114f282826118e6565b5090949350505050565b6000808267ffffffffffffffff81111561151857611518612049565b604051908082528060200260200182016040528015611541578160200160208202803683370190505b50905060005b83811015611676576040518060600160405280603781526020016128e2603791396040516020016115789190612703565b604051602081830303815290604052805190602001208585838181106115a0576115a061248a565b90506020028101906115b2919061267b565b6115c090602081019061269b565b8686848181106115d2576115d261248a565b90506020028101906115e4919061267b565b6115f29060208101906124a0565b604051611600929190612715565b6040519081900381206116319392916020019283526001600160a01b03919091166020830152604082015260600190565b604051602081830303815290604052805190602001208282815181106116595761165961248a565b60209081029190910101528061166e816124e7565b915050611547565b50806040516020016116889190612725565b6040516020818303038152906040528051906020012091505092915050565b60055460ff166116e3576040517f3802fedd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080836001600160a01b0316836040516116fe9190612703565b6000604051808303816000865af19150503d806000811461173b576040519150601f19603f3d011682016040523d82523d6000602084013e611740565b606091505b509150915081611754578051602082018181fd5b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166111dc576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117c961175a565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10261181584826127a1565b506003810161182483826127a1565b5060008082556001909101555050565b61183d826119ea565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611882576113108282611a6e565b6105ae611adb565b6000611894611b13565b905090565b600080600083516041036118d35760208401516040850151606086015160001a6118c588828585611b87565b9550955095505050506118df565b50508151600091506002905b9250925092565b60008260038111156118fa576118fa612861565b03611903575050565b600182600381111561191757611917612861565b0361194e576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600282600381111561196257611962612861565b0361199c576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610536565b60038260038111156119b0576119b0612861565b036105ae576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610536565b806001600160a01b03163b600003611a2057604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610536565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611a8b9190612703565b600060405180830381855af49150503d8060008114611ac6576040519150601f19603f3d011682016040523d82523d6000602084013e611acb565b606091505b5091509150610d05858383611c56565b34156111dc576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611b3e611ccb565b611b46611d47565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611bc25750600091506003905082611c4c565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611c16573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611c4257506000925060019150829050611c4c565b9250600091508190505b9450945094915050565b606082611c6b57611c6682611d9d565b61086b565b8151158015611c8257506001600160a01b0384163b155b15611cc4576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610536565b508061086b565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10081611cf761135e565b805190915015611d0f57805160209091012092915050565b81548015611d1e579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10081611d73611433565b805190915015611d8b57805160209091012092915050565b60018201548015611d1e579392505050565b805115611dad5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828054828255906000526020600020908101928215611e41579160200282015b82811115611e41578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116178255602090920191600190910190611dff565b50611e4d929150611e51565b5090565b5b80821115611e4d5760008155600101611e52565b80356001600160a01b0381168114611e7d57600080fd5b919050565b60008083601f840112611e9457600080fd5b50813567ffffffffffffffff811115611eac57600080fd5b6020830191508360208260051b8501011115611ec757600080fd5b9250929050565b600080600060408486031215611ee357600080fd5b611eec84611e66565b9250602084013567ffffffffffffffff811115611f0857600080fd5b611f1486828701611e82565b9497909650939450505050565b600060808284031215611f3357600080fd5b50919050565b60008060008060008060808789031215611f5257600080fd5b86359550602087013567ffffffffffffffff80821115611f7157600080fd5b611f7d8a838b01611f21565b96506040890135915080821115611f9357600080fd5b611f9f8a838b01611e82565b90965094506060890135915080821115611fb857600080fd5b50611fc589828a01611e82565b979a9699509497509295939492505050565b60008060208385031215611fea57600080fd5b823567ffffffffffffffff8082111561200257600080fd5b818501915085601f83011261201657600080fd5b81358181111561202557600080fd5b86602082850101111561203757600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561208857612088612049565b604052919050565b600067ffffffffffffffff8311156120aa576120aa612049565b6120bd601f8401601f191660200161205f565b90508281528383830111156120d157600080fd5b828260208301376000602084830101529392505050565b600080604083850312156120fb57600080fd5b61210483611e66565b9150602083013567ffffffffffffffff81111561212057600080fd5b8301601f8101851361213157600080fd5b61214085823560208401612090565b9150509250929050565b60008060008060006080868803121561216257600080fd5b8535945061217260208701611e66565b935060408601359250606086013567ffffffffffffffff81111561219557600080fd5b6121a188828901611e82565b969995985093965092949392505050565b60005b838110156121cd5781810151838201526020016121b5565b50506000910152565b600081518084526121ee8160208601602086016121b2565b601f01601f19169290920160200192915050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261223e60e084018a6121d6565b8381036040850152612250818a6121d6565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156122a257835183529284019291840191600101612286565b50909c9b505050505050505050505050565b60208152600061086b60208301846121d6565b600080600080606085870312156122dd57600080fd5b84359350602085013567ffffffffffffffff808211156122fc57600080fd5b61230888838901611f21565b9450604087013591508082111561231e57600080fd5b5061232b87828801611e82565b95989497509550505050565b6000808585111561234757600080fd5b8386111561235457600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123895780818660040360031b1b83161692505b505092915050565b600080600080608085870312156123a757600080fd5b843567ffffffffffffffff808211156123bf57600080fd5b818701915087601f8301126123d357600080fd5b60206123e3898435838601612090565b965080880135955060408801359250818311156123ff57600080fd5b828801925088601f84011261241357600080fd5b82358281111561242557612425612049565b8060051b925061243682840161205f565b818152928401820192828101908b85111561245057600080fd5b948301945b848610156124755761246686611e66565b82529483019490830190612455565b989b979a509798606001359750505050505050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126124b757600080fd5b83018035915067ffffffffffffffff8211156124d257600080fd5b602001915036819003821315611ec757600080fd5b60006001820161250757634e487b7160e01b600052601160045260246000fd5b5060010190565b600083516125208184602088016121b2565b8351908301906125348183602088016121b2565b01949350505050565b6000808335601e1984360301811261255457600080fd5b83018035915067ffffffffffffffff82111561256f57600080fd5b6020019150600581901b3603821315611ec757600080fd5b60007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156125b657600080fd5b8260051b80858437919091019392505050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156125fb57600080fd5b8260051b80836020870137939093016020019392505050565b89815260a06020820152600061262e60a083018a8c6125c9565b828103604084015261264181898b6125c9565b905082810360608401526126568187896125c9565b9050828103608084015261266b8185876125c9565b9c9b505050505050505050505050565b60008235603e1983360301811261269157600080fd5b9190910192915050565b6000602082840312156126ad57600080fd5b61086b82611e66565b6000602082840312156126c857600080fd5b5051919050565b600181811c908216806126e357607f821691505b602082108103611f3357634e487b7160e01b600052602260045260246000fd5b600082516126918184602087016121b2565b8183823760009101908152919050565b815160009082906020808601845b8381101561274f57815185529382019390820190600101612733565b50929695505050505050565b601f82111561131057600081815260208120601f850160051c810160208610156127825750805b601f850160051c820191505b81811015610b735782815560010161278e565b815167ffffffffffffffff8111156127bb576127bb612049565b6127cf816127c984546126cf565b8461275b565b602080601f83116001811461280457600084156127ec5750858301515b600019600386901b1c1916600185901b178555610b73565b600085815260208120601f198616915b8281101561283357888601518255948401946001909101908401612814565b50858210156128515787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fdfe5472616e736974696f6e28627974657333325b5d20696e707574732c627974657333325b5d2072656164732c627974657333325b5d206f7574707574732c627974657333325b5d20696e666f2c45787465726e616c43616c6c5b5d2065787465726e616c43616c6c732945787465726e616c43616c6c286164647265737320636f6e7472616374416464726573732c627974657320656e636f64656443616c6c29a26469706673582212201b7d509ddb9722990e0682d7930b68ee210f1b077f55d281259c08a709bec6a064736f6c63430008140033 + from: pente.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: registry +spec: + abiJSON: |- + [ + { + "inputs": [], + "outputs": null, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "parentIdentityHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "IdentityRegistered", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "name": "PropertySet", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + } + ], + "name": "getIdentity", + "outputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "parent", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "children", + "type": "bytes32[]" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "internalType": "struct IdentityRegistry.Identity", + "name": "identity", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "propertyNameHash", + "type": "bytes32" + } + ], + "name": "getIdentityPropertyByHash", + "outputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "getIdentityPropertyValueByName", + "outputs": [ + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRootIdentity", + "outputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "parent", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "children", + "type": "bytes32[]" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "internalType": "struct IdentityRegistry.Identity", + "name": "identity", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + } + ], + "name": "listIdentityPropertyHashes", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "hashes", + "type": "bytes32[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "parentIdentityHash", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "registerIdentity", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "identityHash", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "name": "setIdentityProperty", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x60806040523480156200001157600080fd5b506040805160808101825260008082528251818152602080820185528084019182528451808601865260048152631c9bdbdd60e21b818301529484019490945233606084015281805290835281516000805160206200169383398151915290815590518051929384936200009892600080516020620016b38339815191529201906200026a565b5060408201516002820190620000af908262000376565b5060609190910151600390910180546001600160a01b0319166001600160a01b03909216919091179055805160408083015190517f3d53136f51ff700c3bd3048163e7b95ffaf4195cb3e8366fbd351df9bd117cfe92916002916200011991849160200162000468565b60408051601f1981840301815290829052620001359162000490565b602060405180830381855afa15801562000153573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190620001789190620004ae565b83604001518460600151604051620001949493929190620004c8565b60405180910390a16040805160808101825260008082528251818152602080820185528084019182528451808601865260048152631c9bdbdd60e21b818301529484019490945233606084015281805290835281516000805160206200169383398151915290815590518051929391926200022292600080516020620016b38339815191529201906200026a565b506040820151600282019062000239908262000376565b5060609190910151600390910180546001600160a01b0319166001600160a01b03909216919091179055506200051c565b828054828255906000526020600020908101928215620002a8579160200282015b82811115620002a85782518255916020019190600101906200028b565b50620002b6929150620002ba565b5090565b5b80821115620002b65760008155600101620002bb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002fc57607f821691505b6020821081036200031d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200037157600081815260208120601f850160051c810160208610156200034c5750805b601f850160051c820191505b818110156200036d5782815560010162000358565b5050505b505050565b81516001600160401b03811115620003925762000392620002d1565b620003aa81620003a38454620002e7565b8462000323565b602080601f831160018114620003e25760008415620003c95750858301515b600019600386901b1c1916600185901b1785556200036d565b600085815260208120601f198616915b828110156200041357888601518255948401946001909101908401620003f2565b5085821015620004325787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60005b838110156200045f57818101518382015260200162000445565b50506000910152565b828152600082516200048281602085016020870162000442565b919091016020019392505050565b60008251620004a481846020870162000442565b9190910192915050565b600060208284031215620004c157600080fd5b5051919050565b8481528360208201526080604082015260008351806080840152620004f58160a085016020880162000442565b6001600160a01b0393909316606083015250601f91909101601f19160160a0019392505050565b611167806200052c6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063665b04d21161005b578063665b04d2146100e157806376e04159146100f45780638b8d314714610109578063a78672121461012957600080fd5b806323ed787c1461008257806339047bb9146100ac578063593a3333146100cc575b600080fd5b610095610090366004610be6565b61013c565b6040516100a3929190610c58565b60405180910390f35b6100bf6100ba366004610c7d565b610303565b6040516100a39190610cd1565b6100df6100da366004610d8e565b610365565b005b6100df6100ef366004610dfb565b610558565b6100fc6107e9565b6040516100a39190610e62565b61011c610117366004610ec5565b610967565b6040516100a39190610f0c565b6100fc610137366004610c7d565b6109ed565b606080600060026000868152602001908152602001600020600085815260200190815260200160002060405180604001604052908160008201805461018090610f1f565b80601f01602080910402602001604051908101604052809291908181526020018280546101ac90610f1f565b80156101f95780601f106101ce576101008083540402835291602001916101f9565b820191906000526020600020905b8154815290600101906020018083116101dc57829003601f168201915b5050505050815260200160018201805461021290610f1f565b80601f016020809104026020016040519081016040528092919081815260200182805461023e90610f1f565b801561028b5780601f106102605761010080835404028352916020019161028b565b820191906000526020600020905b81548152906001019060200180831161026e57829003601f168201915b50505050508152505090506000816000015151116102f05760405162461bcd60e51b815260206004820152601260248201527f50726f7065727479206e6f7420666f756e64000000000000000000000000000060448201526064015b60405180910390fd5b8051602090910151909590945092505050565b60008181526001602090815260409182902080548351818402810184019094528084526060939283018282801561035957602002820191906000526020600020905b815481526020019060010190808311610345575b50505050509050919050565b81516000036103b65760405162461bcd60e51b815260206004820152601460248201527f4e616d652063616e6e6f7420626520656d70747900000000000000000000000060448201526064016102e7565b6000838152602081905260409020600301546001600160a01b0316331461040b5760405162461bcd60e51b81526020600482015260096024820152682337b93134b23232b760b91b60448201526064016102e7565b60006002836040516020016104209190610f59565b60408051601f198184030181529082905261043a91610f59565b602060405180830381855afa158015610457573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061047a9190610f75565b600085815260026020908152604080832084845290915290208054919250906104a290610f1f565b90506000036104f057600084815260026020908152604080832084845290915290206104ce8482610fdd565b5060008481526001602081815260408320805492830181558352909120018190555b600084815260026020908152604080832084845290915290206001016105168382610fdd565b507f1399563bb1c8d7dfc7c4043f42271383bca68e140e5323ec27adbb6907d4d4c984848460405161054a9392919061109d565b60405180910390a150505050565b81516000036105a95760405162461bcd60e51b815260206004820152601460248201527f4e616d652063616e6e6f7420626520656d70747900000000000000000000000060448201526064016102e7565b6000838152602081905260409020600301546001600160a01b031633146105fe5760405162461bcd60e51b81526020600482015260096024820152682337b93134b23232b760b91b60448201526064016102e7565b6000600284846040516020016106159291906110d2565b60408051601f198184030181529082905261062f91610f59565b602060405180830381855afa15801561064c573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061066f9190610f75565b600081815260208190526040902060020180549192509061068f90610f1f565b1590506106de5760405162461bcd60e51b815260206004820152601260248201527f4e616d6520616c72656164792074616b656e000000000000000000000000000060448201526064016102e7565b6040805160808101825285815281516000808252602080830185528084019283528385018890526001600160a01b03871660608501528582528181529390208251815590518051929391926107399260018501920190610b86565b506040820151600282019061074e9082610fdd565b5060609190910151600390910180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0390921691909117905560008481526020818152604080832060019081018054918201815584529190922001829055517f3d53136f51ff700c3bd3048163e7b95ffaf4195cb3e8366fbd351df9bd117cfe9061054a9086908490879087906110f8565b6040805160808101825260008082526060602083018190529282018390529181019190915260008080526020908152604080516080810182527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5805482527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb68054845181870281018701909552808552929491938583019390928301828280156108b257602002820191906000526020600020905b81548152602001906001019080831161089e575b505050505081526020016002820180546108cb90610f1f565b80601f01602080910402602001604051908101604052809291908181526020018280546108f790610f1f565b80156109445780601f1061091957610100808354040283529160200191610944565b820191906000526020600020905b81548152906001019060200180831161092757829003601f168201915b5050509183525050600391909101546001600160a01b0316602090910152919050565b6060600060028360405160200161097e9190610f59565b60408051601f198184030181529082905261099891610f59565b602060405180830381855afa1580156109b5573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906109d89190610f75565b90506109e4848261013c565b95945050505050565b604080516080810182526000808252606060208301819052928201839052918101919091526000828152602081815260409182902082516080810184528154815260018201805485518186028101860190965280865291949293858101939290830182828015610a7c57602002820191906000526020600020905b815481526020019060010190808311610a68575b50505050508152602001600282018054610a9590610f1f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac190610f1f565b8015610b0e5780601f10610ae357610100808354040283529160200191610b0e565b820191906000526020600020905b815481529060010190602001808311610af157829003601f168201915b5050509183525050600391909101546001600160a01b0316602090910152604081015151909150610b815760405162461bcd60e51b815260206004820152601260248201527f4964656e74697479206e6f7420666f756e64000000000000000000000000000060448201526064016102e7565b919050565b828054828255906000526020600020908101928215610bc1579160200282015b82811115610bc1578251825591602001919060010190610ba6565b50610bcd929150610bd1565b5090565b5b80821115610bcd5760008155600101610bd2565b60008060408385031215610bf957600080fd5b50508035926020909101359150565b60005b83811015610c23578181015183820152602001610c0b565b50506000910152565b60008151808452610c44816020860160208601610c08565b601f01601f19169290920160200192915050565b604081526000610c6b6040830185610c2c565b82810360208401526109e48185610c2c565b600060208284031215610c8f57600080fd5b5035919050565b600081518084526020808501945080840160005b83811015610cc657815187529582019590820190600101610caa565b509495945050505050565b602081526000610ce46020830184610c96565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610d1257600080fd5b813567ffffffffffffffff80821115610d2d57610d2d610ceb565b604051601f8301601f19908116603f01168101908282118183101715610d5557610d55610ceb565b81604052838152866020858801011115610d6e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215610da357600080fd5b83359250602084013567ffffffffffffffff80821115610dc257600080fd5b610dce87838801610d01565b93506040860135915080821115610de457600080fd5b50610df186828701610d01565b9150509250925092565b600080600060608486031215610e1057600080fd5b83359250602084013567ffffffffffffffff811115610e2e57600080fd5b610e3a86828701610d01565b92505060408401356001600160a01b0381168114610e5757600080fd5b809150509250925092565b60208152815160208201526000602083015160806040840152610e8860a0840182610c96565b90506040840151601f19848303016060850152610ea58282610c2c565b9150506001600160a01b0360608501511660808401528091505092915050565b60008060408385031215610ed857600080fd5b82359150602083013567ffffffffffffffff811115610ef657600080fd5b610f0285828601610d01565b9150509250929050565b602081526000610ce46020830184610c2c565b600181811c90821680610f3357607f821691505b602082108103610f5357634e487b7160e01b600052602260045260246000fd5b50919050565b60008251610f6b818460208701610c08565b9190910192915050565b600060208284031215610f8757600080fd5b5051919050565b601f821115610fd857600081815260208120601f850160051c81016020861015610fb55750805b601f850160051c820191505b81811015610fd457828155600101610fc1565b5050505b505050565b815167ffffffffffffffff811115610ff757610ff7610ceb565b61100b816110058454610f1f565b84610f8e565b602080601f83116001811461104057600084156110285750858301515b600019600386901b1c1916600185901b178555610fd4565b600085815260208120601f198616915b8281101561106f57888601518255948401946001909101908401611050565b508582101561108d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8381526060602082015260006110b66060830185610c2c565b82810360408401526110c88185610c2c565b9695505050505050565b828152600082516110ea816020850160208701610c08565b919091016020019392505050565b8481528360208201526080604082015260006111176080830185610c2c565b90506001600160a01b03831660608301529594505050505056fea2646970667358221220eb464c31c84fd423b157a3a5f88321adc30ce938fbdcaf4d9c1c4546ce0d532a64736f6c63430008140033ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb6 + from: registry.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-factory +spec: + abiJSON: |- + [ + { + "inputs": [], + "name": "ERC1167FailedCreateClone", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "instance", + "type": "address" + }, + { + "internalType": "bytes", + "name": "config", + "type": "bytes" + } + ], + "name": "PaladinRegisterSmartContract_V0", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "zetoToken", + "type": "address" + } + ], + "name": "ZetoTokenDeployed", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "transactionId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deploy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + } + ], + "name": "deployZetoFungibleToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + } + ], + "name": "deployZetoNonFungibleToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "internalType": "address", + "name": "depositVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "withdrawVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "verifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchWithdrawVerifier", + "type": "address" + } + ], + "internalType": "struct ZetoTokenFactory.ImplementationInfo", + "name": "implementation", + "type": "tuple" + } + ], + "name": "registerImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x608060405234801561001057600080fd5b50338061003757604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61004081610046565b50610096565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610e26806100a56000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063c100c69d1161005b578063c100c69d146100cc578063d7c567d6146100df578063e83b3f66146100f2578063f2fde38b1461010557600080fd5b8063157d4e2114610082578063715018a6146100b15780638da5cb5b146100bb575b600080fd5b610095610090366004610bbf565b610118565b6040516001600160a01b03909116815260200160405180910390f35b6100b961032a565b005b6000546001600160a01b0316610095565b6100b96100da366004610c0d565b61033e565b6100956100ed366004610bbf565b610395565b6100b9610100366004610c9f565b61076a565b6100b9610113366004610d62565b61092e565b60008060018460405161012b9190610da1565b908152604080516020928190038301812060c08201835280546001600160a01b03908116808452600183015482169584019590955260028201548116938301939093526003810154831660608301526004810154831660808301526005015490911660a082015291506101f45760405162461bcd60e51b815260206004820152602660248201527f466163746f72793a206661696c656420746f2066696e6420696d706c656d656e6044820152653a30ba34b7b760d11b60648201526084015b60405180910390fd5b60006102038260000151610985565b90506001600160a01b03811661026b5760405162461bcd60e51b815260206004820152602760248201527f466163746f72793a206661696c656420746f20636c6f6e6520696d706c656d65604482015266373a30ba34b7b760c91b60648201526084016101eb565b60608201516040517f485cc9550000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015291821660248201529082169063485cc955906044015b600060405180830381600087803b1580156102d657600080fd5b505af11580156102ea573d6000803e3d6000fd5b50506040516001600160a01b03841692507f61a122822c33eb587240ac03c263df8e525c975793c9d3118d54888abdb036279150600090a2949350505050565b610332610a10565b61033c6000610a56565b565b600061034a8484610395565b9050806001600160a01b0316857fd77f43af9eba6f7c0ea72f4bad6bc58c3bd49e2cb299e128c91293b7ebc17f43846040516103869190610dbd565b60405180910390a35050505050565b6000806001846040516103a89190610da1565b908152604080516020928190038301812060c08201835280546001600160a01b03908116808452600183015482169584019590955260028201548116938301939093526003810154831660608301526004810154831660808301526005015490911660a0820152915061046c5760405162461bcd60e51b815260206004820152602660248201527f466163746f72793a206661696c656420746f2066696e6420696d706c656d656e6044820152653a30ba34b7b760d11b60648201526084016101eb565b60208101516001600160a01b03166104ec5760405162461bcd60e51b815260206004820152602c60248201527f466163746f72793a206465706f7369745665726966696572206164647265737360448201527f206973207265717569726564000000000000000000000000000000000000000060648201526084016101eb565b60408101516001600160a01b031661056c5760405162461bcd60e51b815260206004820152602d60248201527f466163746f72793a20776974686472617756657269666965722061646472657360448201527f732069732072657175697265640000000000000000000000000000000000000060648201526084016101eb565b60808101516001600160a01b03166105ec5760405162461bcd60e51b815260206004820152602a60248201527f466163746f72793a20626174636856657269666965722061646472657373206960448201527f732072657175697265640000000000000000000000000000000000000000000060648201526084016101eb565b60a08101516001600160a01b031661066c5760405162461bcd60e51b815260206004820152603260248201527f466163746f72793a20626174636857697468647261775665726966696572206160448201527f646472657373206973207265717569726564000000000000000000000000000060648201526084016101eb565b600061067b8260000151610985565b90506001600160a01b0381166106e35760405162461bcd60e51b815260206004820152602760248201527f466163746f72793a206661696c656420746f20636c6f6e6520696d706c656d65604482015266373a30ba34b7b760c91b60648201526084016101eb565b60608201516020830151604080850151608086015160a087015192517fcc2a9a5b0000000000000000000000000000000000000000000000000000000081526001600160a01b038a8116600483015295861660248201529385166044850152908416606484015283166084830152821660a48201529082169063cc2a9a5b9060c4016102bc565b610772610a10565b80516001600160a01b03166107ef5760405162461bcd60e51b815260206004820152602b60248201527f466163746f72793a20696d706c656d656e746174696f6e20616464726573732060448201527f697320726571756972656400000000000000000000000000000000000000000060648201526084016101eb565b60608101516001600160a01b031661086f5760405162461bcd60e51b815260206004820152602560248201527f466163746f72793a20766572696669657220616464726573732069732072657160448201527f756972656400000000000000000000000000000000000000000000000000000060648201526084016101eb565b806001836040516108809190610da1565b90815260408051602092819003830190208351815473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03928316178355938501516001830180548616918316919091179055918401516002820180548516918416919091179055606084015160038201805485169184169190911790556080840151600482018054851691841691909117905560a0909301516005909301805490921692169190911790555050565b610936610a10565b6001600160a01b038116610979576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024016101eb565b61098281610a56565b50565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116610a0b576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000546001600160a01b0316331461033c576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016101eb565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610b0557610b05610ab3565b60405290565b600067ffffffffffffffff80841115610b2657610b26610ab3565b604051601f8501601f19908116603f01168101908282118183101715610b4e57610b4e610ab3565b81604052809350858152868686011115610b6757600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112610b9257600080fd5b610ba183833560208501610b0b565b9392505050565b80356001600160a01b0381168114610a0b57600080fd5b60008060408385031215610bd257600080fd5b823567ffffffffffffffff811115610be957600080fd5b610bf585828601610b81565b925050610c0460208401610ba8565b90509250929050565b60008060008060808587031215610c2357600080fd5b84359350602085013567ffffffffffffffff80821115610c4257600080fd5b610c4e88838901610b81565b9450610c5c60408801610ba8565b93506060870135915080821115610c7257600080fd5b508501601f81018713610c8457600080fd5b610c9387823560208401610b0b565b91505092959194509250565b60008082840360e0811215610cb357600080fd5b833567ffffffffffffffff811115610cca57600080fd5b610cd686828701610b81565b93505060c0601f1982011215610ceb57600080fd5b50610cf4610ae2565b610d0060208501610ba8565b8152610d0e60408501610ba8565b6020820152610d1f60608501610ba8565b6040820152610d3060808501610ba8565b6060820152610d4160a08501610ba8565b6080820152610d5260c08501610ba8565b60a0820152809150509250929050565b600060208284031215610d7457600080fd5b610ba182610ba8565b60005b83811015610d98578181015183820152602001610d80565b50506000910152565b60008251610db3818460208701610d7d565b9190910192915050565b6020815260008251806020840152610ddc816040850160208701610d7d565b601f01601f1916919091016040019291505056fea26469706673582212202a3bd3ee29b85c9d651b5b98025cc58d24c4240352a45a6e6d48528e9d431a5064736f6c63430008140033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-check-hashes-value +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2]", + "name": "_pubSignals", + "type": "uint256[2]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b5061063b8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004a60048036038101906100459190610566565b610060565b60405161005791906105ea565b60405180910390f35b60006104dc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f0c24983138eee0db0ec113bb8abc3010600b70c710b572f6e656acebe38874c481527ee6496758069ae75ab5842ba40e67e3f8f87f837272397842739abae350d8a660208201526101a860008801357f1e087a4acb54d6e8f9050fc6775e03bfe48d50f4763c1fdf96d0f7cdb77c30bf7f11c4233295814bf04c3c2c5e31d01f664d56cfe58c48660501cd143a6d6335708461009b565b6101f860208801357f2349d935afdffe08b9aa3ce71e9ccc8ae440c45b06ea0d31b40c30635ddc7c8d7f14ba9f76b09885cfe773cba1eae07bf6879835f069af1b383a8ad8c5bb2bf48e8461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526104f46000840135610067565b6105016020840135610067565b61050e818486888a610106565b8060005260206000f35b600080fd5b600080fd5b60008190508260206002028201111561053e5761053d61051d565b5b92915050565b6000819050826040600202820111156105605761055f61051d565b5b92915050565b600080600080610140858703121561058157610580610518565b5b600061058f87828801610522565b94505060406105a087828801610544565b93505060c06105b187828801610522565b9250506101006105c387828801610522565b91505092959194509250565b60008115159050919050565b6105e4816105cf565b82525050565b60006020820190506105ff60008301846105db565b9291505056fea264697066735822122023411ad636e67b43ace4cdf3ed84efdb89161d0af62b19ab5a9a6d42fad4227564736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-check-inputs-outputs +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[4]", + "name": "_pubSignals", + "type": "uint256[4]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b506107188061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635fe8c13b14610030575b600080fd5b61004a60048036038101906100459190610643565b610060565b60405161005791906106c7565b60405180910390f35b600061057d565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f21d87b71c29696959843a6c9aa30ca3942b98f90164fa9f739261f1669bf44e581527f13601462636f13db8925872b0ecedf9148ab5583cbaeb1f7ee4e2fed0a91dbfe60208201526101a960008801357f2516e0cac0a658b9d263781189097ed8df46ac2be936479823a96b54983acb697f1a95ccedffe091d0fe0dc3b04dc47f31cda255bf44dfe08d38b3f9e536a73de18461009b565b6101f960208801357f1cf86ead3dea91f289c13d15168df8dec5be45cfffdee6d966bf21934d04587e7f211a7916e42ec241fa365f578f5c6ebcf7e5034f1b0abff10cb258c24240c2458461009b565b61024960408801357f1b3d82dac35e07cff0e3fb8d4b775567912747b5af3bb9bc2708732f04150a8b7f263bceb993cd691c47791332d8ae496ea88ecb50317651fe310d27a38c5fb82a8461009b565b61029960608801357f013c6bc7fd5fd0db0e50624414af03a7de16702e7e493881c631d9228322a04f7f246349cc34ca45d467709c4a7ee512d917b9ac629922c7f442a047377e490f1a8461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526105956000840135610067565b6105a26020840135610067565b6105af6040840135610067565b6105bc6060840135610067565b6105c9818486888a610106565b8060005260206000f35b600080fd5b600080fd5b6000819050826020600202820111156105f9576105f86105d8565b5b92915050565b60008190508260406002028201111561061b5761061a6105d8565b5b92915050565b60008190508260206004028201111561063d5761063c6105d8565b5b92915050565b600080600080610180858703121561065e5761065d6105d3565b5b600061066c878288016105dd565b945050604061067d878288016105ff565b93505060c061068e878288016105dd565b9250506101006106a087828801610621565b91505092959194509250565b60008115159050919050565b6106c1816106ac565b82525050565b60006020820190506106dc60008301846106b8565b9291505056fea2646970667358221220cdc32fed491d5934beaecba037a1585f3392a33fcfa7ac323f98b2f0d4d175a464736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-check-inputs-outputs-batch +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[12]", + "name": "_pubSignals", + "type": "uint256[12]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b50610a088061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80638cbac0fa14610030575b600080fd5b61004a60048036038101906100459190610933565b610060565b60405161005791906109b7565b60405180910390f35b6000610801565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f0b180906f2977a3e4845ae48586ffc1de210eda17fe2b41c55e2bf2954ecd10781527f0dd4fb13441a3aa78b54ad0e6357490288bd71f3a25fb7d500cd132a1431b3be60208201526101a960008801357f18486c8cd1e8c082e50b97ad632e9e91e01ff6b8c186c923910245c84ff8b2157f204fd64bd0f9cbc18072b9cd8b8f79bbbde5ce00709f4f42371a42bfe2047b338461009b565b6101f960208801357f082cfc99548fdf6f5a31304a992d3bb07c82c01e297694a196fb0bdfa2c1258f7f23643f9caa08371372722a50998d2cd44c9581ae32dad4e8898cc64f2de428928461009b565b61024960408801357f1c2e5a56f1e5a3fd07a808775ed5e6331c66950e1f00c8f54256ec4d381684e37f184581fcd9617281243afa427fa5fc3d543aed9d560ddd2ba75bf7cad4029df68461009b565b61029960608801357f07451f8c545ef717663568a740c8e971167a6723707e9d8f69316d0c726675887f2bf0e44121013675027fcfaf23ada203d1e400f0d1294797685aa88c59456f6a8461009b565b6102e960808801357f12a205a85b89a25d0942b4040a554875edddc666449a1927110338ed114a8ed87f1697089df17fd6b4fb65bbcbf63eef418015146a3549cad75d576437843caa278461009b565b61033960a08801357f2ccc6ea9c908187172384e9e77ea521647f9894868d660f5526430e9fa07d67c7f2cd96cdb1a516e14f16b319bc0ec5f0fde320d398239d7a57d0d416a96ba96268461009b565b61038960c08801357f1ae6142f522708571a00e8dd93cdd4b7ccfb1aa564616bfe37dd0ed5fe640a9c7f2242c5825b3b23cd05bd60da6f21beaf360af9c859a1d1714d655aed1379bdbb8461009b565b6103d960e08801357f29baaab3210320a153d5eb261c4037ddda2858b70e98de8e1f141056f0f94ce27f1db96777cfcd4ac714f617179b217a142d95136d86140c0a5f0e61a09b760d118461009b565b61042a6101008801357f0d41e7c42ddba4f9cc174b8129e3ed8e5b0d2a45fc90c863f9f0e5b083f8d5857f1da1289124183048c2f4c72ffa29e66f1b88e39e06117e2b462475db305b0a048461009b565b61047b6101208801357f1173c9bc4fbcb72a28c499627f6683b90c47a922cba70b35d355ff8bc45337547f17c5b5b03757d2e8d08ff1c3a1fabd12c05ce3b4b82af1a50cc5763c0542a3f08461009b565b6104cc6101408801357f23d0888a72db4e65b3083a8f69c9de8dee983fb15ed7e01df2db1810871647187f03b213b1ad999552a55de53b651d5ed029b7eff7e62dc85befd6dcb0dd0259e88461009b565b61051d6101608801357f03cfb5c7d335db1c4325222e60569a3b3087ae26681ec105c3cf3f06d6fe76c37f1d97394c144f85a96a6dc10aebdc0516170fa694757841ca6e8f679d7bb3d3778461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526108196000840135610067565b6108266020840135610067565b6108336040840135610067565b6108406060840135610067565b61084d6080840135610067565b61085a60a0840135610067565b61086760c0840135610067565b61087460e0840135610067565b610882610100840135610067565b610890610120840135610067565b61089e610140840135610067565b6108ac610160840135610067565b6108b9818486888a610106565b8060005260206000f35b600080fd5b600080fd5b6000819050826020600202820111156108e9576108e86108c8565b5b92915050565b60008190508260406002028201111561090b5761090a6108c8565b5b92915050565b6000819050826020600c028201111561092d5761092c6108c8565b5b92915050565b600080600080610280858703121561094e5761094d6108c3565b5b600061095c878288016108cd565b945050604061096d878288016108ef565b93505060c061097e878288016108cd565b92505061010061099087828801610911565b91505092959194509250565b60008115159050919050565b6109b18161099c565b82525050565b60006020820190506109cc60008301846109a8565b9291505056fea264697066735822122066f47e7501a29500f95a5edda5b501ae6121bd64945c6d682bc7d600c4b1214264736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[4]", + "name": "_pubSignals", + "type": "uint256[4]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b506107188061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635fe8c13b14610030575b600080fd5b61004a60048036038101906100459190610643565b610060565b60405161005791906106c7565b60405180910390f35b600061057d565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f0b6ae4f6ad012c9e297620ff57d6dc5c5825cd24f093162808fe7bb7ed24aa4581527f1b50a4264ee5154c1ecbe42b5e19c94c917a2a0d266fc6a16d6118254c9cf0cb60208201526101a960008801357f11758b69415af177026c417556c0c8eb82d797b4dc1f88d54eea76255a16ddfb7f2cb574ea54359b225bb4bf58aa21b90f9bd5fa20f0cce85a95160c7a2ea26a198461009b565b6101f960208801357f01e5cac7ec5adb519bb42ea50e44f3ed4e8ecf9a0af0a838b746095d551c1bc37f03534e0ba318729692342b12a5be6b98ea65aad0ae6b84f67848efa98366734c8461009b565b61024960408801357f19058cf5d52bd8cff8a8a49e01b1f3e0295023a49023a8424ea14982cfbbc6b97f0c2531bef5dcdfe08e08f9f6139b902720d6d9dcd8b668cca70d64db1ac8f7ef8461009b565b61029960608801357f120ca9db9dcbdfd1ec4df783d8d17b0450f3ccc4814b0323332971bb0ee2041f7f2f6340eff31768060b3691c9457dba1290ca0acb90fd4966ba5146cdb4078c898461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526105956000840135610067565b6105a26020840135610067565b6105af6040840135610067565b6105bc6060840135610067565b6105c9818486888a610106565b8060005260206000f35b600080fd5b600080fd5b6000819050826020600202820111156105f9576105f86105d8565b5b92915050565b60008190508260406002028201111561061b5761061a6105d8565b5b92915050565b60008190508260206004028201111561063d5761063c6105d8565b5b92915050565b600080600080610180858703121561065e5761065d6105d3565b5b600061066c878288016105dd565b945050604061067d878288016105ff565b93505060c061068e878288016105dd565b9250506101006106a087828801610621565b91505092959194509250565b60008115159050919050565b6106c1816106ac565b82525050565b60006020820190506106dc60008301846106b8565b9291505056fea264697066735822122097ea2ff9caa51e7aa42a0c11b8b0aef83808390cb1b2ffa2205cfcc18087833764736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon-batch +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[20]", + "name": "_pubSignals", + "type": "uint256[20]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b50610cff8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e56ac42f14610030575b600080fd5b61004a60048036038101906100459190610c2a565b610060565b6040516100579190610cae565b60405180910390f35b6000610a88565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f0cf5b651aba78dbf4b5080401bdd14921eee786fcd9b73072e22f6dd3e4deb3581527f202dce62b80c449fb5e96f11cdd8715eebebfd264fc9e95b265d52d0b7209f6560208201526101a960008801357f273dc9c59fd3bb1089bbffc10f77457f75ffc487caa3eebb7848ed3c0e8b5ab87f0a7a977443fedfbbb2953ec4009b3dac0e172bf85304baf922076a4d574029e38461009b565b6101f960208801357f2656adf839086ed6af3d74f180fd4789d182bf07569a73738c222b78d54370227f1efb500a74ab568b4a98ac16bf3b3761b4e8534c51461485bf7b38be62ae19528461009b565b61024960408801357f24f12b5fa467b7a2bb20909a8c9990ec7fc6a091b97193bd9bae77cfc93229197f241deb51deaf91e0f850dff914d0a82329503baaf1c4ecb736852ced5eff39998461009b565b61029960608801357f2de0429b7ba1820951e2da83a820b61bfec21ddb01058d17f73a0439326204637f02fc99fe286781341eb5f2c0e7d4a7406ebe789568ad87de0992b9053f5d11868461009b565b6102e960808801357f24809f80a210ab9967db3e4384efd2f89248f3cf7eb17ff5d7e70b6f50f685427f28e7536a6b1d07f39ecc3a058aed854b3a032bb9130db6af3213a1ba5f39240d8461009b565b61033860a08801357f167a5b9403c41428e44b2ad458c7d357c2294acafe52aaf98512f8e6b95f92a07ef1e83b20fa36d098d53115833edec7fcf7a30ec034bcf199d8d73a27a5c9048461009b565b61038860c08801357f0620593bfa22a21e676d39b142b5175663eed16a70d392ebaed0904887dccde07f2fee9fcd75d38280563b33df4fa79bca18c32c3786cde1a4f65a68c62bfae33c8461009b565b6103d860e08801357f23018752082fc90d442c0a1d588479973ddb37ca001ca0b923a0ec310478c0057f038384aec2adbeaf003f990e1cb48b7ccf45b83072a16f171935700b9298f2f28461009b565b6104296101008801357f0f6be7a2374ef7b6344907c28fa1e36f53546a0a4cc403289e36f676687e54b77f2fd6fef6f41267d986f45ffc5375569623ed82e05981dd462c9e432b1e974ba88461009b565b61047a6101208801357f232f70630d0cfd4f68556216c61ca0780967c0adfcc880cb8a4fb3a788cb72a97f226a951b90ff41e7b1d116eb7b51ac4d88cc20c2205f89ba2198af0cef817c148461009b565b6104cb6101408801357f24a5d5f894ecb81fa82d1c950efc75cf9ebe99b0d3cf8e332fe2749dd6375bfc7f139ccd0a40d9c2f15954959ffc1743b9cac0390d84c11f28036f708c80eda0ca8461009b565b61051c6101608801357f1727d9972654818b9ba639183ebdf4323a3cf7db52e54fb7d6f24ebe51a40ca57f0983340c98c05717130d736ede455a57795cc81361795c1ebb3823c627a6521f8461009b565b61056d6101808801357f20763110bed2807eb8c23db521e0d3816a782ee0fffaebac6c5387f94ac8b7807f17654a0888278f866ccb6f7f7121115d67507b5bef7067e5e9e0f79ca993fc308461009b565b6105be6101a08801357f238f76c5be04b81d3bd6cc52d0c8b47cc0bf2fe43cfe0698d9007562079e3c657f186280b7e02744e852cafe00f56c4ff07fcaceda4d6f905bb85cd5c291790d8a8461009b565b61060f6101c08801357f024583e124b8ccb95d2a50595ea748d6315a7badba5729cd24c576a48811c4af7f0280ae4459030043e7a1d21f934baa78c9a80e017486ffbc9aedbb1b85babf3b8461009b565b6106606101e08801357f1653dbf00f3eeae618919cd034959a2531a576a5263e118599a0beba64eea3ac7f1e739c389343dc522b71e8a79b0f0ecbbeba620a3f03640ec3613cfd789887ed8461009b565b6106b16102008801357f1f6369c98fe5d4fdc3c22a5e3659ed943e9f0f04fecbf0bc7549aebadd7b97b17f100de03b141575634b04eeea9159b1b5f4f4d0e06407464f5a6483c834c7610b8461009b565b6107026102208801357f096cec0b41e78f24b76ddac60e44771d4da8a4c16270b8b32fa1c203b9c847a07f2526e3e52e2a8be73b5e2e3c2c19cb3693f043827d7603959c9a89eaf8ce56f18461009b565b6107536102408801357f0db8fdb19030c641cb2cabcee1123acf0c4b11409507bb300082ef947d1c5b3e7f015103ff9fca506fcfa858781b5dc3b17a4e5ec85854dc460342879c1752bbf28461009b565b6107a46102608801357f2c04009719c4c6c336cac6d8e1411b7d6b26a27840a035a1ec9dbcca66196f6b7f19a1907cf1e6422ba718a571bd43e0a26a33d5ade2b9018e9ee04559002eb9228461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b6040516103808101604052610aa06000840135610067565b610aad6020840135610067565b610aba6040840135610067565b610ac76060840135610067565b610ad46080840135610067565b610ae160a0840135610067565b610aee60c0840135610067565b610afb60e0840135610067565b610b09610100840135610067565b610b17610120840135610067565b610b25610140840135610067565b610b33610160840135610067565b610b41610180840135610067565b610b4f6101a0840135610067565b610b5d6101c0840135610067565b610b6b6101e0840135610067565b610b79610200840135610067565b610b87610220840135610067565b610b95610240840135610067565b610ba3610260840135610067565b610bb0818486888a610106565b8060005260206000f35b600080fd5b600080fd5b600081905082602060020282011115610be057610bdf610bbf565b5b92915050565b600081905082604060020282011115610c0257610c01610bbf565b5b92915050565b600081905082602060140282011115610c2457610c23610bbf565b5b92915050565b6000806000806103808587031215610c4557610c44610bba565b5b6000610c5387828801610bc4565b9450506040610c6487828801610be6565b93505060c0610c7587828801610bc4565b925050610100610c8787828801610c08565b91505092959194509250565b60008115159050919050565b610ca881610c93565b82525050565b6000602082019050610cc36000830184610c9f565b9291505056fea26469706673582212208038095e100705f90aab36a7bc1376edd9dd3423a15d3afca4948e7d34a19c0364736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon-enc +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[15]", + "name": "_pubSignals", + "type": "uint256[15]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b50610b258061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f054a9a314610030575b600080fd5b61004a60048036038101906100459190610a50565b610060565b6040516100579190610ad4565b60405180910390f35b60006108f4565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f1188f69e1d4712623d099fd31afe29e584aecb81e4ee66f589c3b2a37135d1e581527f0d22f30f9395948453687ded507e795b157c91484a17dccc111b9f6d9f58684160208201526101a960008801357f2a1a133cb3c870a8e0f06eb6251b59d7dd24ce86a982d5995b4192258aaf1ae77f256d0e164e66a2f29166533f07ba52c58dff89594933dbc826f123619efeb9d58461009b565b6101f960208801357f1b8c9be710e503f97d312cc573f0c93d17545b1932f5dd4e12d5269e115ac6307f1eb7a2a98ff25e975d6f716437a9a04ce379a7f6e8aa5b8a856311350a27c7f68461009b565b61024960408801357f0c6575bc22bd707ebf0338d05b9c99f6a7673cd3f28150b7c61629b42cf02ec67f2f69dc4d82e0faead7ac3974c15884f5255a893262b975cbbb9647e5485afe9a8461009b565b61029960608801357f14555f14b26a4621b991d21e95873e652c475d917ebd38abc8fa65812851342e7f0622cc00ee122e58e0471928e7a0db5e48bc9d0f6986011f8b77e5f45121891d8461009b565b6102e960808801357f0a56fff8d8a8176fa7e92af19380086ef6fc33cd4fd571e8c6678608e40a32657f2ce1e1818e48da02f1913ae94ea270495d508198665de79a80e737abbb8208be8461009b565b61033960a08801357f0fec244726845819a126a02721288eeebee7e0fff862ff9802902a76edd6a7e37f221338574bb956150ba3ce181a9d9f2d9809a8617ac18caeb6eb52f98c4208998461009b565b61038960c08801357f1159f5f19fa4cd1177b6df6c66e921bace3bc091c52496955e493764b9e18c517f11bdcf2fa00bcf4aad428641991b916d172bdf84ae29bf71b61a97e9b29809e28461009b565b6103d960e08801357f0cde8c3fe634d04ef6f3e9473d81e84d351ab1c71cda1137e26d26bf00f55d567f1c8ce81012eee68771d6e54d1c7da3f71dd621158a648f2d03ec18ac1de5757f8461009b565b61042a6101008801357f19c1a7b5bc53adcc2510a0ace41d2e2734e235ba840972c5bc3aefa4aefd4ae87f1f6ae3430edd8acedd655f9e0fde4e13a414ffee386bfb0c2f4d82e775865a3d8461009b565b61047b6101208801357f01862f69f4a05091582a091a4eaeab10dedaeab09a7bb5b8096abaae18323acb7f0d1bf58357efd14b176e14013fd3a2bd1fcb5bcc3314ac7fcfc87ca815e864908461009b565b6104cc6101408801357f23c15e90730366912ddc7e7e12acbf7520a832660d9aedc9e9b7ed6498a662347f0afbf0a94f65db8fdd0038030d444a318ce4de1f62f549db9181713d92426da88461009b565b61051d6101608801357f14622f632e117140cfd04d52c1fd92f572e00cdcab608237da3bb41edf64e09f7f20a178d48deb837f4c50a491752498e32a03cd4fa41f62a8d6868fcd49f38b918461009b565b61056e6101808801357f09a9bc7d4060032ad8a76d55157c263bfc38272779774fd1ebb3e7f0ebe8c9047f15a7b6f3a535c26a238ccbdcf942ebf4f6f9d850e0e1008167032cca8a05a73a8461009b565b6105bf6101a08801357f19a1acade80e95d5e4444a385e3e535c5e1403ef7f0beb78c8d65c2f453e25097f243124dcaa1d2dd51bd44871c64941f37068dbee31346013c4b837a71d340a778461009b565b6106106101c08801357f1ce42a933d793eec89a5d7e92dbe316ae9365bc5c6e9ee6caf5718ce31653ade7f02d678025d7b9331d1400761353be4450f6e0654480d0e581478c0a75016a8d28461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b604051610380810160405261090c6000840135610067565b6109196020840135610067565b6109266040840135610067565b6109336060840135610067565b6109406080840135610067565b61094d60a0840135610067565b61095a60c0840135610067565b61096760e0840135610067565b610975610100840135610067565b610983610120840135610067565b610991610140840135610067565b61099f610160840135610067565b6109ad610180840135610067565b6109bb6101a0840135610067565b6109c96101c0840135610067565b6109d6818486888a610106565b8060005260206000f35b600080fd5b600080fd5b600081905082602060020282011115610a0657610a056109e5565b5b92915050565b600081905082604060020282011115610a2857610a276109e5565b5b92915050565b6000819050826020600f0282011115610a4a57610a496109e5565b5b92915050565b6000806000806102e08587031215610a6b57610a6a6109e0565b5b6000610a79878288016109ea565b9450506040610a8a87828801610a0c565b93505060c0610a9b878288016109ea565b925050610100610aad87828801610a2e565b91505092959194509250565b60008115159050919050565b610ace81610ab9565b82525050565b6000602082019050610ae96000830184610ac5565b9291505056fea26469706673582212204afcbe5d3f2bf76be7f25602ff882e75b269fa8df42fa783c152420e25b6d11464736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon-enc-batch +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[63]", + "name": "_pubSignals", + "type": "uint256[63]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b50611cf18061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80637d40902614610030575b600080fd5b61004a60048036038101906100459190611c1c565b610060565b6040516100579190611ca0565b60405180910390f35b6000611820565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f26019833a89b9d26746d673e03556cff3f807ee6b9451a4995d2a3f1945dfac481527f075a97b7ad45e62e5106e453827454216224fd5d01f6a2b041e75c4246c09beb60208201526101a960008801357f301a2b3915fee3defff5bb58601da5b8b31bfada68c5519dd02d1430cf80db6e7f1405bc406f7bfb48b455319e0ad299b32a6e51423de268d9dfdcc5a7de0409ef8461009b565b6101f860208801357e762321243e30bfa2e40bc2708008846967d71dc1edbe5d25cd462ab426d6477f04930e7c542f6e957f4ffe23f7cc4eeb94a814c4a67a7b31aae983e50dcf52878461009b565b61024860408801357f159416ac4e54fe83e0ff8aecfc07b4c46b674c763ad27bf0ff64524814841e517f0746740ec9cb549f4934e2cb9d38b34519ecb11464f05bb3c18e7006df9456488461009b565b61029860608801357f10065c64d22bf62ac46a25fc815db988f74378a5597ce284476504a849937a9a7f1c90682c7d0d050bc21e9f81ab596ae2991b6c50956f7a880d6945d6bdb1ea178461009b565b6102e760808801357ec7c4ca4c24cdd4b3e392223699d1bcffc979fcf44f0a26999ed3eb1ebe9f337f05f35e3d73c73a46c4046ac415364cb16c44ea0fadd35a327e1639bcbc9f03288461009b565b61033760a08801357f2d24e9814189dedffbc2695662d7a9f26cf86a67e07e2d603363d9c941c8a23a7f28f23cf0168dc7ff266ab5cc926301ab2846847d311986733708f7e3bd423b988461009b565b61038760c08801357f05528aa0c07a168a006d5236edd0cfd44a098392c3fe6e9f47cf0b2c61fab1fb7f1099cc183a1949185c50305f4e693eea18d106afb2cbc8bd7eaaa5fa7035e9278461009b565b6103d660e08801357e7d113e031b48b51b19804ff1632d07677f81c7d17f20553b5b183a1590a0887f28d6982e1142cc66e67ed4d0d331f5879bfab66f43f072b2809e6a42d4df8a638461009b565b6104276101008801357f10c96f4dc1cc9ac0de2b0f6d1d08dbb51d3ce8ccef408d5457867dfdc85dbd4a7f1d812dc36171fbb3bb04da82e98ef7ed39a9467edbafae82620882933d48fd6f8461009b565b6104786101208801357f280bccaeee2a4f883a96a76aa430af50c46b9911eee5813b0b6f6675dd66bef27f1d592beb747e290303e490bcd2003211d6804b94c583f0d5e41cb0893837c3218461009b565b6104c96101408801357f0b0d1b41e5220ccbad387fe560828288941e1785b04f719907ad85ffd76f125a7f1ea797c78a52a634dec51c239f981c5a95e4b755adc7d4c78b13442d0180bbad8461009b565b61051a6101608801357f2d0bef699121261df37d1ded67cc4b2a2bc3364f57f1bc24365260a12f58e9ed7f235296e80414db08131de5812c999c2d05606eb0bfb639295035823be0f948878461009b565b61056b6101808801357f19c17b2c11383ea9f635d572765781293120f4bf09a6875c82d1fc1d7d942f5f7f2db21794db17a441fb4fcf142cf75313f61b9fed27cce2abd6b0fce318d5bec38461009b565b6105bc6101a08801357f2237a86f6f311a28faf83f04bedadddfe4f85f54ee8bc10fcabb3f808b24bf797f2c9c9cbac5c12d99383bfc7e3c9732669f9c0d119b66a706a79cd80e4f530ed78461009b565b61060d6101c08801357f073c4578a991ef14dcf96ec9a06a2eda259ed4cd84deb36be8a5007464813a6f7f1b48403bea56728b2088a42f81b277697df6d1469ce1768f8c046bbefbbeca538461009b565b61065e6101e08801357f08133336dea7bc4b96ee8225846d22800e42fef6b0bda39bf8ca9d00d778430b7f13241b65ba855c080aa81031f3406e372b5c43ffc534027cc023ec27d42a1c7b8461009b565b6106af6102008801357f1609d76aae945142057564b792c688a29f63202dd5f0e05be031c0b5df10f3697f054861d633ab112666fae3dc3eee6ba4f459ca2e17fdadcfacdc470a2a3269338461009b565b6107006102208801357f22eb9cad8c7f8591f30aea42685d1d9b80d6999f582ba40f4eaa3b54f07d44df7f09a4c4226dad86524ce991111e79d7224f8d9a8cb0756352a45fb81cdce361878461009b565b6107516102408801357f0eb06e80f4ca7c3ac664f22ed0aaf1b4b2bbe9a9fd97a3330e78da955ca163637f28d728ab9f51156bcbf349a9d618c7bba0d494ec32139e09f809ba0ea7724dfc8461009b565b6107a26102608801357f1ece3139b86ebd0a7b8fcdef0fdd5eae5f9721d0636c0359fc6df9d99c950b8c7f15bb5d742bd6bbafe7dc4e5bfe606e6aef782cd728fa969020a209f3dcc1d0888461009b565b6107f36102808801357f1075ea62d6710ac166ef7310dfe5d4044ff475f4a59c9f70ae037d6d69f353967f02a1937d2937163f65bc0c0aeea0fe262d1d555c5d07c39c806699e60890fe3d8461009b565b6108446102a08801357f20a0ebcbc10b4c64848bc6ecb653795805e686a81abaea3350ff6792a54b8d667f1dfafb0f17270a96dca737bacf9e161be3a4754746e7141261b4f5f4fc7b92d38461009b565b6108956102c08801357f05dcad2fd909804e789adc94f1f6b010f800cbe4f86f562b898a28aff2885ad27f0d8849d5d8c8aae68c632d994b2024e6dfc6b2514a257b82d688b351cd1828008461009b565b6108e66102e08801357f1c3a67592dd66d9eb118eb1f59a90ebefeb148b4f442c79c4a7e268ceef92c337f2098f91ae6f792994fe6637f3a9420360726b496ce4e278273459e2199c7011c8461009b565b6109376103008801357f17ba89877e5b5aaf1c0e9e383e2022e9176d963a8fdad93ae6baaaf0e13180c47f03f34c50f32e2f72022493ff23253d75e60349542f87ac5e0afdc0641d4890358461009b565b6109886103208801357f0dbd3e6c9baafedf67fb52281597f36064e6bc08dbb4052cbea05b68464238cb7f211f23fc7a75cda912a14eafdf088ad7d8c6dff31533cc65926eb298b1f87a018461009b565b6109d96103408801357f2973ef4d66b8ae3696080db3c7ba7824a0c91b0ab17a6cdc5f6b6abf59aa120f7f0d07b8ee9cad96537fe452fe037a420ac8345ea987760591aab4d5e7e34c3f168461009b565b610a2a6103608801357f118bbc4a2045fe650c92a45c94952204894d610d21382acba634ba6dd79e720a7f2e7cf71dfdf029222dcd58bb5b51b5767fbcc93ba6df8ab64d2ee7785230f3948461009b565b610a7b6103808801357f04b9d16f008446c23b4b286626bc631e1b1f823d51ba56b7c8196d7dea52ce167f2459227b117377008602c6e3ecf105ddd30b980c76580af7744c73055957a31a8461009b565b610acc6103a08801357f01e74ce56b9eebac857558a8ae2384f5bf4d38110ac0a83ead51d115597b1d437f13b4798dae2cbaa310e4d63fa125452e10867166549d3b31bad4def84e8bcc3b8461009b565b610b1d6103c08801357f2e85d0cb9b53e6bd0612943eeb0477c4b0f4a73856fd2feaac6a7351c5972bde7f2eecd520dd28d5c650d3bc86b3ae0414f368632bc98501fce915d3e470e6c8658461009b565b610b6e6103e08801357f0ad0bf88487912f5acf8825e3491fd52ee9689b6aeb3e48688206dd32453cf9e7f144b5e0217f06ad5452e8e419c12beaea5b1833eb734ec9be9aa7e8da0216a3f8461009b565b610bbf6104008801357f22b9ced3e726839adeef46fcec71cea2fc30e17b4b0ac9f60d18c61b56511ec67f05e1cb855a73f1b0a8c07f48623d885a10fc9bb8674d0f7b1b3ace307ce0bc098461009b565b610c106104208801357f164bee99faf84acac01e2882a731a6e770302fc6f571978bb5f827a3ac73fccb7f0bb70768351be462297ad72038890b61f10ff0f1454d0dcc428a3571294a997b8461009b565b610c616104408801357f0808a7d11215cd8be579641406f2c7417a211083c0e6749e6080aaa5596813a17f1f8e70c452d9815e41f6a054132c9762411ade1c67aeeccf4d247aa4cff9d81c8461009b565b610cb26104608801357f046765b38879ff87f090abaecb5bb0ba6ff8fb1bd3dd27b815fc719b185ab5e87f1eca3dff1a06bbb297c0933198f14309db1d7ced324bd18f2f5b516a7caa6fa88461009b565b610d036104808801357f1b5ee7345d8ec92ba9e611aa2a02eaf120da3f69ef5337e745e8af96c6d2c9957f24e2f425c926b88810a6bf58970de5ac51986431c35168ed3ba16e564b2d61068461009b565b610d546104a08801357f24074f7f7e6cab058584e5f9738a24a1f838e32a86d2434a02e0f2305eb4b2667f0ff7dc9bd66a4b4a697be8e1fe2966e12f8db3406a2364f2d34398b0e915df008461009b565b610da56104c08801357f161f10fb27bf4433c6ca4804e52999f759557dcf922d15b9703cf1c4b6a0a9b87f2cb0c4f607e73da07c25808863ff28cd975a4b11ac9d0ade3ba6ce5a1c900d258461009b565b610df66104e08801357f093614fb40a689278dc53b04fbd430b41f3b5de423d843714a1ec76e12dbdd9f7f135776131bdfefb51f4c0d2554a90f3474d97ad2db01849bcb59f2b95741e5088461009b565b610e476105008801357f258eff86b6426ba5a166416676385d9fbe27354be1f0f646eec7d956fadd8b737f2a66e40f0b9a5082cfa9d7b634c6ae32b812032ac65f99c947dcfcbb0d592f328461009b565b610e986105208801357f0ed6880449ac56099b22a40d1686b51037a6976ce95fbf9e2759eba999aaba0f7f2d972eab8fd7ac5e42bcd8839b2e76c20461011d10fc211d5e31315bd9a617a28461009b565b610ee96105408801357f14d3f13a81726fd562e4000c601924b58d0678aca58e19d590eed4ba051ae4f17f221533f9b3fb2fed4b1625898c32835ccd9aa55fb7fa86ef342016b0db53b0f48461009b565b610f3a6105608801357f0760df8c841480f49146fcf141915abbaf5279f2abb7b85a30d3aecc974479877f164d90ce7f187179f301be3f356b32625683a122ce5b4052c95b247cdb4172de8461009b565b610f8b6105808801357f0cb87fac5328ec3430b48b585465525a0d59017691a49b1e39bd0e18543abd677f21b435397258658cb09bdba814745d5fe1c266f0d44fc06d8372834a3d23ef398461009b565b610fdc6105a08801357f0da8797a1220c9cd64d1041cbbfb9f93ebfb721da7f424b98492121af9952b457f29dbb93f405287772a099139e2a40fd0f973446891bd7b6755477999b6e239088461009b565b61102c6105c08801357e98584f828059a21030602359df4834d2d8909d44b04084ee72e63cf77e18757f1bca1eeafcf2231292c45933179ebae708574747789cc52639c5ab8d6a39a43d8461009b565b61107d6105e08801357f2d3e41a4439c0e473a95ea235c768088123d001077e1535193d65b3791add15b7f067ef42037c0b5c67e1cab07003a2b6e4d11dc366e907babe7a33378bbb10b2d8461009b565b6110ce6106008801357f1024d0c580820bb9497c1b65bf69dea4b34572a45cba8b2d9c5052da4b2816007f0fcfe8e284a48f6ba1131f41bdac1a797279916e4071f6c3d8d24d43bc7ec6a18461009b565b61111f6106208801357f0e52ba18c1784432103ccd7d8be36cccc0166bc83ba23f08542bae0ec4958c7d7f06ef36fdcd18c34a29468150b77a70bf385fa843f49e91d5f67cefa7b1603e598461009b565b6111706106408801357f1c1be4f5caab17c22edfa2ceb56199d8f0043164cebb2ab78f7d4990fd4705bf7f235c4d07f0d1c06e32323d4ad50ce9b81d07efb25e02bb217b3757f55c0d9c348461009b565b6111c16106608801357f1a1cb0e30b7d8c2e775563fa2c2d9ea1a50afa3734c38f38f262ac4a3b650b4e7f20cef7396b39ae6022d793c65905fcc79c6115b2f02cad63bf1b36a2c68202108461009b565b6112126106808801357f1097ae2696c5b13fa197decf5fe984fe4d5faeabb0d4da2377b4d4ac28bf8b967f19d125a9bfc6531dc85c723ca59bf9dfea82789a0b0afd434333c1319986decb8461009b565b6112636106a08801357f129d90b5a3eaa27f1f850600b79cfe480e8babe47bac7bd7967f35f8f60970007f1c8911eaad13a570edfbc3007bb6a981578a68a7b34a3223f39e29a2afce35538461009b565b6112b46106c08801357f13540123d79d8aa7ab7cc8721efb2da31eea8dbb03b67a48035b49460fa88e3a7f251370ce37a9a6ced46bff10fdcc399c0dfb1035121174aff5e2523c7c27f2e78461009b565b6113056106e08801357f1ff7dd20eeb47d8211bd3c6a726d786a8969b256da73ebd747139fb68a8700537f241017f82aba563e87d5c742711dbcd0826d72d48d5178beb702e563091898b08461009b565b6113566107008801357f0bdd4895ecf56f4d68bf664c4d24cd6b334342dba351e3c2b7acce0757f86ac57f0f3306cc598c0bed892327ae4b92640ecb480fad04a9e4083d4ec53449c1d9658461009b565b6113a76107208801357f11d97cec40eb3cf47fc6c552cd999cd441ec8a5b205a0dd0f08a2fe7eeb76dcf7f25e213c74aecb06d90969034083d4935ca05a1c3ee748879fb63d4700cec14718461009b565b6113f86107408801357f06c34b4055b7b0fc13e3d9d3d09cc5dd583a3efe26c1f8210d988450f0fbcc197f10bca771b290dc05e5055611620e39890e621947a57b794b6a962e70dcdaf7dd8461009b565b6114496107608801357f178abc4754361407a350950531881f929d33213ecc5f9fe1203e97cca4703efd7f2d220e28431d50e83f56c77758de2fcd446b0c5de442790d299896e0c578d4bd8461009b565b61149a6107808801357f0df1e31241fe1f2d8ce5730f620c988fe9adc5c4d96386d2fee25abdb6123c5f7f1c5afaa4b03a81a9df6282239bc24ec1eba64241635dde30a96aa35fe2bfd3508461009b565b6114eb6107a08801357f0124532d60a8f0b3319f8630c0aaf0de5265179bb207cd3de9035570b80846ba7f1556d5d02df917973fd6f5a8fc4fc15499799e9af4a710840504f628e52d76428461009b565b61153c6107c08801357f06860f27e7cd66bd351850f284ab3903b52d725991cb25412e2bbf2330cdff717f2f876c623ce5fceb012804742d85d2c0b0c1c25ab5363bc0baa1d3ab76a2d3e08461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526118386000840135610067565b6118456020840135610067565b6118526040840135610067565b61185f6060840135610067565b61186c6080840135610067565b61187960a0840135610067565b61188660c0840135610067565b61189360e0840135610067565b6118a1610100840135610067565b6118af610120840135610067565b6118bd610140840135610067565b6118cb610160840135610067565b6118d9610180840135610067565b6118e76101a0840135610067565b6118f56101c0840135610067565b6119036101e0840135610067565b611911610200840135610067565b61191f610220840135610067565b61192d610240840135610067565b61193b610260840135610067565b611949610280840135610067565b6119576102a0840135610067565b6119656102c0840135610067565b6119736102e0840135610067565b611981610300840135610067565b61198f610320840135610067565b61199d610340840135610067565b6119ab610360840135610067565b6119b9610380840135610067565b6119c76103a0840135610067565b6119d56103c0840135610067565b6119e36103e0840135610067565b6119f1610400840135610067565b6119ff610420840135610067565b611a0d610440840135610067565b611a1b610460840135610067565b611a29610480840135610067565b611a376104a0840135610067565b611a456104c0840135610067565b611a536104e0840135610067565b611a61610500840135610067565b611a6f610520840135610067565b611a7d610540840135610067565b611a8b610560840135610067565b611a99610580840135610067565b611aa76105a0840135610067565b611ab56105c0840135610067565b611ac36105e0840135610067565b611ad1610600840135610067565b611adf610620840135610067565b611aed610640840135610067565b611afb610660840135610067565b611b09610680840135610067565b611b176106a0840135610067565b611b256106c0840135610067565b611b336106e0840135610067565b611b41610700840135610067565b611b4f610720840135610067565b611b5d610740840135610067565b611b6b610760840135610067565b611b79610780840135610067565b611b876107a0840135610067565b611b956107c0840135610067565b611ba2818486888a610106565b8060005260206000f35b600080fd5b600080fd5b600081905082602060020282011115611bd257611bd1611bb1565b5b92915050565b600081905082604060020282011115611bf457611bf3611bb1565b5b92915050565b6000819050826020603f0282011115611c1657611c15611bb1565b5b92915050565b6000806000806108e08587031215611c3757611c36611bac565b5b6000611c4587828801611bb6565b9450506040611c5687828801611bd8565b93505060c0611c6787828801611bb6565b925050610100611c7987828801611bfa565b91505092959194509250565b60008115159050919050565b611c9a81611c85565b82525050565b6000602082019050611cb56000830184611c91565b9291505056fea2646970667358221220273d6f835e88050549abeba2b71afa1d81803271c693ef1772f88496cea03a7564736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon-nullifier +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[7]", + "name": "_pubSignals", + "type": "uint256[7]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b5061082f8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c894e75714610030575b600080fd5b61004a6004803603810190610045919061075a565b610060565b60405161005791906107de565b60405180910390f35b600061066d565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f23e261ff6227d7ced5de8c0cbdd69f97ee73b8aa5950ee95ea7b686957f6589381527f1587eddadf33489d360b501c4f6d23f51e1dc283a5d6617e74ad4676b0bcfb0b60208201526101a960008801357f30090055e59bc613858a4b4092ecb6fe365ee78299bb348b1550874d9d355fee7f0292b62411021303475adbc56e311846a3f0df000a3090b72b72572042e4a3148461009b565b6101f960208801357f2ef6ffb1cf7e5dc1328bb1ff10f6dab3d6a5d6fa65d01b57bdc33f369faa0dec7f02b5c47baf15fbcdc096563e8fa133a547116dff8cbbefbf3e57db7f45cd61d08461009b565b61024960408801357f1789f6480b2c0e5b41cc269b412553f5708349c28e36cb7ec94a4fafcd1396b77f120b8f71622cf2e6a8ab0fe510d570b9d4d7546e24a3ea5e2ec6c48526847db58461009b565b61029960608801357f2bf13168b64f9444372ff2ad2e13fea2dc30e54320e43e6c9d6e39ab59e71f0d7f2646c00178064f64b9ce27c0f1b3426592a03c692ff56a27f6319e8698b438228461009b565b6102e960808801357f1a745db17f69eb8bc5df51e11153e0e34a263c089e927249d0c426468b8317ac7f199b15c2922dd6f350d29404a850216155e09b11db6628d8808d416118fe48738461009b565b61033960a08801357f0a370ba45b5d20eab92a6379f953ae4b60c200f029b268459c6f977b57dfa09e7f228b729130c41748eb5d6385b889b3dbfdbb13a8795aee64316f3cb4b3ce86198461009b565b61038960c08801357f169b22d88ffb6421c6ddd9a2aee011e3d0f03d0e87b71b1650f639d78c57b91a7f2b960b033439b1d29a338c059b4995b5f03ba1b409c2f4cf72e76e4c0c0ea9de8461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b60405161038081016040526106856000840135610067565b6106926020840135610067565b61069f6040840135610067565b6106ac6060840135610067565b6106b96080840135610067565b6106c660a0840135610067565b6106d360c0840135610067565b6106e0818486888a610106565b8060005260206000f35b600080fd5b600080fd5b6000819050826020600202820111156107105761070f6106ef565b5b92915050565b600081905082604060020282011115610732576107316106ef565b5b92915050565b600081905082602060070282011115610754576107536106ef565b5b92915050565b6000806000806101e08587031215610775576107746106ea565b5b6000610783878288016106f4565b945050604061079487828801610716565b93505060c06107a5878288016106f4565b9250506101006107b787828801610738565b91505092959194509250565b60008115159050919050565b6107d8816107c3565b82525050565b60006020820190506107f360008301846107cf565b9291505056fea264697066735822122029f722439dba206ce8bdb2cbcdb0a4814798e8bcf010affe9e7700297f3400c864736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-g16-verifier-anon-nullifier-batch +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[31]", + "name": "_pubSignals", + "type": "uint256[31]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x6080604052348015600f57600080fd5b506111158061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806344a173dd14610030575b600080fd5b61004a60048036038101906100459190611040565b610060565b60405161005791906110c4565b60405180910390f35b6000610e04565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610098576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100ce576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa9150816100fe576000805260206000f35b505050505050565b600060808601600087017f2b4e506bd45402912e98f484f935a2baf0ef7bc90b9d42ce5c81a499a61eacf081527f1bac2d772286fa5933527913fe06461c0c5e4ff623465ba2a829cedf743d93a260208201526101a960008801357f23acb1797e4c344a06f04a51f7c1edb0bc0ae3febcbc13386ba1568fbbfc85c17f258b41c770055e612fcdef6dfb28c12edba623c7cf0f82be04e42988e9a8453e8461009b565b6101f960208801357f26b6901f26755a09c3b05060299f1e0634d7679f5bb6da53b0163a022a754d157f1aad262909af50afcdd406851c2560c56f35523b3a29ce3b6ce69848657105248461009b565b61024960408801357f275abae820fa5439f7a399db1576a43e063f4513a9e40d734bcd62a2ad98dcba7f1ad1ae74b02fd3afce2cbf146e1053c6e98dc6cd390cab43b8986d0e2b15fd618461009b565b61029960608801357f266255fe17b18e63000fe783b9222021ab44c7a863d0e42239f4b0141a3f8a907f0df0fcc2e519db91406d1ddbbcd32acb2e9bc42f5734c7aa4a8726a88c9e35798461009b565b6102e960808801357f1bbcb24b03c8aa6acb692b9b9d3c958bbe8ff244794a1ffa1c4d9a84d9e7404b7f02456f255a3af9a84234495a9d91c0e0ebf585b967d32af2e0129c7b5931635b8461009b565b61033960a08801357f018e0c4c2c0074ee0c6a9efc1eb6cade11b989073f5ca41cc149be1a8aa6e4af7f0d2b2c12b0f5419cb5219b65adc6af8b9bc4eb59cddb6b2c0f10e5af9f2457988461009b565b61038960c08801357f1c4afd871a75b4947295b72694afe55898e5fbdd709761aaebe18504d293ccf87f01d2f88211e9a581b05ab4dd1d729fe81c8ead89c99b18f91dba85959c7cba188461009b565b6103d960e08801357f04147f433b3494171646751d7dfbc75d4a16123504bd8e0b89c60fc9c4e83a8f7f0f8b0cf5bcc961aff8f907fe57c17ef4454c04993b44487b64a1d5ffc46280368461009b565b61042a6101008801357f064c2729ee36909be0a23172996cbb53be7c48f851387eccae11219354935d697f12dd41080bc4a8c1cce02f30db96b2a43ce477b3da40680ea77699e22178636e8461009b565b61047b6101208801357f14efed7ffc68fdd3c5261f781f5d9f34a7dcbcb128c77e56ef0f6c89d918a7c07f0e38af5e669aaac57757714446eecf9a4225d364f0257b709ec4018b504d2bc58461009b565b6104cc6101408801357f2c92a50fbe9d76cdbfc7c31edb620008e0ccbb05b635bee13f6ef526c00691b67f0a8af0b236e92e631ca6ffbf5976d07440f3db2c66c42e748097fd6fd90799af8461009b565b61051d6101608801357f1f5351d8ff1cd9c1c5269157ce9c4cae675177851c98906b526676b1eb4ff32a7f14fa968fc89f5cf8a3bca94df59b0ad9b1320a1d724afab424ff425e3b22c53c8461009b565b61056e6101808801357f1c65c67142d2e48b281ec3522c85d317fe840b554f648f0ddcf7a753879065107f018e7d42efb653c03fd27c34b40d699a049633d5ee183c2fca09d37e411a4c5b8461009b565b6105bf6101a08801357f2f0a400cf7e67760989b265e61827b2d54508b25fd4f84d551bb8d8556eb6a187f1df6ab10f60130759e9c80ffa0abbfb11d9e3c18a6ba74c0cf8b2daf226555ab8461009b565b6106106101c08801357f28aa34581e0f7d563c3038e6fbbe8dc77d7d8fcd5f11165b8bc0fa1d32ce51f87f18d66db8d7485ea8a3bb7c5761b61a6251226736b411e9f11569778211d5c3a38461009b565b6106616101e08801357f0eded6628ac0e70c523498e42fe3585a4953d03473e43863cdfd0324b779b8a47f03fbc1e256475cd5a0556511f1efb883ac30379251073fa2f41ec90019e900938461009b565b6106b26102008801357f02bd79417f48cfce15a151b7cb775888d739cd430541bb1fca9860ddabf003427f2d0e6b447b64184e559eed0d1111ab11719df308f74cd6f4869cddf23c7075248461009b565b6107036102208801357f028123c10e9553486454941a4f2af228e78f0369208c404eaa7237407d5836997f23653fee6521583a518b9ebf01b7cf899e082fc9f8affcaec5de58e62b4b84ac8461009b565b6107546102408801357f0f35ef1061f67984a7e39999bbb036524e78be4e256d8393943af4158b54ab3b7f27bd0c47d713f03d8cc1746d11a9da0554dd854e24826389b008299601c502088461009b565b6107a56102608801357f1233b80ee81c310a9d3793a5308dd1016cda557331ae9fbc623d4fbcee5423cf7f07dde92d188d5e2182fcb1e0a83e91113434369cb93b8324becdf38357b4ed908461009b565b6107f66102808801357f1a006b2a2d09e74053f823a6fafa9ad1b74b838691d8088ffba7de194283884f7f26b08ca5e668c9e05517d4f6f038a34e2edbd0f799c277662119ceccdb2f23f68461009b565b6108476102a08801357f12640f2ad8f71fd744c70bdbc9a23eca5b82597da84f687c1fab7fb49b8a47f47f1b81f92a0efe17529b48eeaa89a6abeb126047b545550d13f60b61c642704f328461009b565b6108986102c08801357f12e2f459dc317d375aa964cf8b0161b273097dab626e5da50a9c36f5babd4d697f1e72f4a921f525364826503044dfc576d6283e8c5b20e4f588a8f4208b533ffe8461009b565b6108e96102e08801357f133f06de6de187d6bc1882b10b509c2347023ee4ac25f263f145adf46ce9e5df7f0415e1fd50c09337d8367f1df14d6f894225f3fc275a291763cf16476b71ba118461009b565b61093a6103008801357f1d545632d6479b043fdf44772eeffa4c35e151a85a791090e3f2e0fcd869650d7f023e9567a0c43dd9e13557a7c43986b3a289be488d11a8bfb686aed0961ff99d8461009b565b61098b6103208801357f14ad7e0b85d316a448d839d8b53386a7b9a26175eb8730832fb12040ffd53b807f07c52997abe64712fecb8edb693ef53726812cee1edf0fa06acd1ca6aa5459ba8461009b565b6109dc6103408801357f061a2fab0634905cb2b87a465f37962b6ca98d2953b4cfea2bb7944170217ba97f0908847e5fa0fe9ce43545c9f33b8ece9a6024d131c5cf6f0f5b638f8506077e8461009b565b610a2d6103608801357f146da95351bcb882a0b16585a74f8cb217fb1ef6fc83f63da95346d16660fc537f056f0e2d636546b4c190d354befe4407cd6f9f19e9675f594e2230b4537abfc48461009b565b610a7e6103808801357f27e77663bb38a982134c5b474ef874189c74c56278290f11295fd02e8256b3d97f2e25cb17314dcbabdce60cfd3bc1a4b0dc5ba96cb5cb6938a8a555c966909dc58461009b565b610acf6103a08801357f113b73b3de557a718387fe70124568793d817b8b5b6868eee35d35ad0019b1e07f17b1943d87b90ee36bfffa4b6bd76264fe2ef984a03a0fa71863b8c51f560e288461009b565b610b206103c08801357f220c5709aab40acfc85293a1e6b56062acab9390294474d359c041e1f2b709e27f15f2f79df1a7b5333db9c6ff4b917ccabc8fdf4fc3ad91d2a69d11fa9a1fe4b38461009b565b833582527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208501357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020830152843560408301526020850135606083015260408501356080830152606085013560a08301527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08301527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08301527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008301527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208301527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408301527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160830152600088015161018083015260206000018801516101a08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220830152853561024083015260208601356102608301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102c08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102e08301526020826103008460086107d05a03fa82518116935050505095945050505050565b6040516103808101604052610e1c6000840135610067565b610e296020840135610067565b610e366040840135610067565b610e436060840135610067565b610e506080840135610067565b610e5d60a0840135610067565b610e6a60c0840135610067565b610e7760e0840135610067565b610e85610100840135610067565b610e93610120840135610067565b610ea1610140840135610067565b610eaf610160840135610067565b610ebd610180840135610067565b610ecb6101a0840135610067565b610ed96101c0840135610067565b610ee76101e0840135610067565b610ef5610200840135610067565b610f03610220840135610067565b610f11610240840135610067565b610f1f610260840135610067565b610f2d610280840135610067565b610f3b6102a0840135610067565b610f496102c0840135610067565b610f576102e0840135610067565b610f65610300840135610067565b610f73610320840135610067565b610f81610340840135610067565b610f8f610360840135610067565b610f9d610380840135610067565b610fab6103a0840135610067565b610fb96103c0840135610067565b610fc6818486888a610106565b8060005260206000f35b600080fd5b600080fd5b600081905082602060020282011115610ff657610ff5610fd5565b5b92915050565b60008190508260406002028201111561101857611017610fd5565b5b92915050565b6000819050826020601f028201111561103a57611039610fd5565b5b92915050565b6000806000806104e0858703121561105b5761105a610fd0565b5b600061106987828801610fda565b945050604061107a87828801610ffc565b93505060c061108b87828801610fda565b92505061010061109d8782880161101e565b91505092959194509250565b60008115159050919050565b6110be816110a9565b82525050565b60006020820190506110d960008301846110b5565b9291505056fea2646970667358221220a64017355ddb8c52e911c7fa66732034e8748f856d1b3c0ba09bf4bd49d33d9c64736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-impl-anon +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "IdentityNotRegistered", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadyOwned", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadySpent", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "UTXOArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXODuplicate", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXONotMinted", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "WithdrawArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOMint", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOTransfer", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "outputs": null, + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValue", + "name": "_withdrawVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValueBatch", + "name": "_batchWithdrawVerifier", + "type": "address" + } + ], + "name": "__ZetoFungibleWithdraw_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + } + ], + "name": "__ZetoFungible_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_Anon", + "name": "_verifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValue", + "name": "_withdrawVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_AnonBatch", + "name": "_batchVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValueBatch", + "name": "_batchWithdrawVerifier", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "lockProof", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "utxos", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_erc20", + "type": "address" + } + ], + "name": "setERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "txo", + "type": "uint256" + } + ], + "name": "spent", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015604257600080fd5b5060805161471961006c6000396000818161221f01528181612274015261242f01526147196000f3fe6080604052600436106101295760003560e01c80638da5cb5b116100a5578063c29a6fda11610074578063d5b5cc2311610059578063d5b5cc2314610390578063f2fde38b146103cd578063f756356a146103f657610129565b8063c29a6fda1461033e578063cc2a9a5b1461036757610129565b80638da5cb5b146102965780639b2e8b52146102c15780639fcc50af146102ea578063ad3cb1cc1461031357610129565b80634f1ef286116100fc578063715018a6116100e1578063715018a61461022d578063788c0456146102445780638bb2513b1461026d57610129565b80634f1ef286146101e657806352d1902d1461020257610129565b80630107eb4a1461012e57806312c0fed2146101575780633e96e273146101805780634ad89929146101bd575b600080fd5b34801561013a57600080fd5b5061015560048036038101906101509190613165565b61041f565b005b34801561016357600080fd5b5061017e60048036038101906101799190613209565b6104b7565b005b34801561018c57600080fd5b506101a760048036038101906101a29190613435565b610623565b6040516101b49190613512565b60405180910390f35b3480156101c957600080fd5b506101e460048036038101906101df919061352d565b610ade565b005b61020060048036038101906101fb9190613666565b610ec7565b005b34801561020e57600080fd5b50610217610ee6565b60405161022491906136db565b60405180910390f35b34801561023957600080fd5b50610242610f19565b005b34801561025057600080fd5b5061026b6004803603810190610266919061352d565b610f2d565b005b34801561027957600080fd5b50610294600480360381019061028f91906136f6565b610fd9565b005b3480156102a257600080fd5b506102ab610ff1565b6040516102b89190613781565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e3919061379c565b611029565b005b3480156102f657600080fd5b50610311600480360381019061030c9190613826565b6110b6565b005b34801561031f57600080fd5b50610328611102565b60405161033591906138d2565b60405180910390f35b34801561034a57600080fd5b5061036560048036038101906103609190613932565b61113b565b005b34801561037357600080fd5b5061038e600480360381019061038991906139db565b611187565b005b34801561039c57600080fd5b506103b760048036038101906103b29190613a68565b6113a8565b6040516103c49190613512565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190613a95565b6113f8565b005b34801561040257600080fd5b5061041d60048036038101906104189190613ac2565b61147e565b005b610427611693565b610430836110b6565b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006104c2836116d3565b9050600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061058e57503373ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6105cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c490613b88565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006106318686600a611875565b8096508197505050610644868686611923565b610683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067a90613bf4565b60405180910390fd5b600286511180610694575060028551115b156107f35760006106a787876014611f18565b90506106b1612fdb565b60005b6014811015610701578281815181106106d0576106cf613c14565b5b60200260200101518282601481106106eb576106ea613c14565b5b60200201818152505080806001019150506106b4565b50600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56ac42f87600001886040018960c001856040518563ffffffff1660e01b815260040161076c9493929190613dc6565b602060405180830381865afa158015610789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ad9190613e39565b6107ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e390613eb2565b60405180910390fd5b5050610949565b600061080187876004611f18565b905061080b612ffe565b60005b600481101561085b5782818151811061082a57610829613c14565b5b602002602001015182826004811061084557610844613c14565b5b602002018181525050808060010191505061080e565b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fe8c13b87600001886040018960c001856040518563ffffffff1660e01b81526004016108c69493929190613f56565b602060405180830381865afa1580156108e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109079190613e39565b610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d90613eb2565b60405180910390fd5b50505b610953868661202e565b6000865167ffffffffffffffff8111156109705761096f613261565b5b60405190808252806020026020018201604052801561099e5781602001602082028036833780820191505090505b5090506000865167ffffffffffffffff8111156109be576109bd613261565b5b6040519080825280602002602001820160405280156109ec5781602001602082028036833780820191505090505b50905060005b8851811015610a7a57888181518110610a0e57610a0d613c14565b5b6020026020010151838281518110610a2957610a28613c14565b5b602002602001018181525050878181518110610a4857610a47613c14565b5b6020026020010151828281518110610a6357610a62613c14565b5b6020026020010181815250508060010190506109f2565b503373ffffffffffffffffffffffffffffffffffffffff167fcb56a7130431b68e0e636f24584d40580490c1bf882bef3701f317d47ba98c3883838888604051610ac79493929190614072565b60405180910390a260019250505095945050505050565b600283511115610c8b57600c83511115610b3057600c6040517f71798fb5000000000000000000000000000000000000000000000000000000008152600401610b2791906140cf565b60405180910390fd5b6000610b3f858585600c61210d565b9050610b49613020565b60005b600c811015610b9957828181518110610b6857610b67613c14565b5b60200260200101518282600c8110610b8357610b82613c14565b5b6020020181815250508080600101915050610b4c565b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638cbac0fa84600001856040018660c001856040518563ffffffff1660e01b8152600401610c04949392919061416e565b602060405180830381865afa158015610c21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c459190613e39565b610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7b90613eb2565b60405180910390fd5b5050610de2565b6000610c9a858585600461210d565b9050610ca4612ffe565b60005b6004811015610cf457828181518110610cc357610cc2613c14565b5b6020026020010151828260048110610cde57610cdd613c14565b5b6020020181815250508080600101915050610ca7565b50600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fe8c13b84600001856040018660c001856040518563ffffffff1660e01b8152600401610d5f9493929190613f56565b602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da09190613e39565b610ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd690613eb2565b60405180910390fd5b50505b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33866040518363ffffffff1660e01b8152600401610e3f9291906141b5565b6020604051808303816000875af1158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190613e39565b610ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb89061422a565b60405180910390fd5b50505050565b610ecf61221d565b610ed882612303565b610ee2828261230e565b5050565b6000610ef061242d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b610f216124b4565b610f2b600061253b565b565b6000835167ffffffffffffffff811115610f4a57610f49613261565b5b604051908082528060200260200182016040528015610f785781602001602082028036833780820191505090505b5090508281600081518110610f9057610f8f613c14565b5b602002602001018181525050610fa88482600a611875565b8092508195505050610fbb848284611923565b50610fc885858585610ade565b610fd2848261202e565b5050505050565b610fe16124b4565b610fec838383612612565b505050565b600080610ffc6127ed565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b61103485858561147e565b6000600167ffffffffffffffff81111561105157611050613261565b5b60405190808252806020026020018201604052801561107f5781602001602082028036833780820191505090505b509050848160008151811061109757611096613c14565b5b6020026020010181815250506110ae818484612612565b505050505050565b6110be611693565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6111436124b4565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611191612815565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff161480156111df5750825b9050600060018367ffffffffffffffff16148015611214575060003073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015611222575080155b15611259576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083156112a95760018560000160086101000a81548160ff0219169083151502179055505b6112b28b61283d565b6112bd89898861041f565b89600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550831561139b5760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2600160405161139291906142a3565b60405180910390a15b5050505050505050505050565b60006002808111156113bd576113bc6142be565b5b6001600084815260200190815260200160002060009054906101000a900460ff1660028111156113f0576113ef6142be565b5b149050919050565b6114006124b4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114725760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016114699190613781565b60405180910390fd5b61147b8161253b565b50565b611486613043565b838160006002811061149b5761149a613c14565b5b60200201818152505082816001600281106114b9576114b8613c14565b5b602002018181525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f5c9d69e83600001846040018560c001856040518563ffffffff1660e01b815260040161152c9493929190614371565b602060405180830381865afa158015611549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156d9190613e39565b6115ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a390613eb2565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b815260040161160b939291906143b8565b6020604051808303816000875af115801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e9190613e39565b61168d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116849061422a565b60405180910390fd5b50505050565b61169b612851565b6116d1576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600080604051806101000160405280846000016000600281106116f9576116f8613c14565b5b602002013581526020018460000160016002811061171a57611719613c14565b5b602002013581526020018460400160006002811061173b5761173a613c14565b5b6040020160006002811061175257611751613c14565b5b602002013581526020018460400160006002811061177357611772613c14565b5b6040020160016002811061178a57611789613c14565b5b60200201358152602001846040016001600281106117ab576117aa613c14565b5b604002016000600281106117c2576117c1613c14565b5b60200201358152602001846040016001600281106117e3576117e2613c14565b5b604002016001600281106117fa576117f9613c14565b5b602002013581526020018460c00160006002811061181b5761181a613c14565b5b602002013581526020018460c00160016002811061183c5761183b613c14565b5b6020020135815250905080604051602001611857919061449a565b60405160208183030381529060405280519060200120915050919050565b6060806000855190506000855190508482118061189157508481115b156118d357846040517f9ebbc98e0000000000000000000000000000000000000000000000000000000081526004016118ca91906140cf565b60405180910390fd5b600060028311806118e45750600282115b156118f1578590506118f6565b600290505b61190288826000612871565b975061191087826000612871565b9650878794509450505050935093915050565b6000806000611932868661296d565b9150915060005b8251811015611b9557600083828151811061195757611956613c14565b5b60200260200101510315611b8a576000811180156119b457508260018261197e91906144e5565b8151811061198f5761198e613c14565b5b60200260200101518382815181106119aa576119a9613c14565b5b6020026020010151145b15611a10578281815181106119cc576119cb613c14565b5b60200260200101516040517fdd574831000000000000000000000000000000000000000000000000000000008152600401611a0791906140cf565b60405180910390fd5b60006002811115611a2457611a236142be565b5b60016000858481518110611a3b57611a3a613c14565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611a7157611a706142be565b5b03611acd57828181518110611a8957611a88613c14565b5b60200260200101516040517f83925127000000000000000000000000000000000000000000000000000000008152600401611ac491906140cf565b60405180910390fd5b600280811115611ae057611adf6142be565b5b60016000858481518110611af757611af6613c14565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611b2d57611b2c6142be565b5b03611b8957828181518110611b4557611b44613c14565b5b60200260200101516040517f41a06d28000000000000000000000000000000000000000000000000000000008152600401611b8091906140cf565b60405180910390fd5b5b806001019050611939565b5060005b8151811015611df5576000828281518110611bb757611bb6613c14565b5b60200260200101510315611dea57600081118015611c14575081600182611bde91906144e5565b81518110611bef57611bee613c14565b5b6020026020010151828281518110611c0a57611c09613c14565b5b6020026020010151145b15611c7057818181518110611c2c57611c2b613c14565b5b60200260200101516040517fdd574831000000000000000000000000000000000000000000000000000000008152600401611c6791906140cf565b60405180910390fd5b600280811115611c8357611c826142be565b5b60016000848481518110611c9a57611c99613c14565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611cd057611ccf6142be565b5b03611d2c57818181518110611ce857611ce7613c14565b5b60200260200101516040517f41a06d28000000000000000000000000000000000000000000000000000000008152600401611d2391906140cf565b60405180910390fd5b60016002811115611d4057611d3f6142be565b5b60016000848481518110611d5757611d56613c14565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611d8d57611d8c6142be565b5b03611de957818181518110611da557611da4613c14565b5b60200260200101516040517f79e1da47000000000000000000000000000000000000000000000000000000008152600401611de091906140cf565b60405180910390fd5b5b806001019050611b99565b506000611e01856116d3565b9050600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f0a573373ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f009061458b565b60405180910390fd5b5b600193505050509392505050565b60608167ffffffffffffffff811115611f3457611f33613261565b5b604051908082528060200260200182016040528015611f625781602001602082028036833780820191505090505b5090506000805b8551811015611fc557858181518110611f8557611f84613c14565b5b6020026020010151838380611f99906145ab565b945081518110611fac57611fab613c14565b5b6020026020010181815250508080600101915050611f69565b5060005b845181101561202557848181518110611fe557611fe4613c14565b5b6020026020010151838380611ff9906145ab565b94508151811061200c5761200b613c14565b5b6020026020010181815250508080600101915050611fc9565b50509392505050565b60005b825181101561209b5760026001600085848151811061205357612052613c14565b5b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083600281111561208b5761208a6142be565b5b0217905550806001019050612031565b5060005b81518110156121085760018060008484815181106120c0576120bf613c14565b5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908360028111156120f8576120f76142be565b5b021790555080600101905061209f565b505050565b60608167ffffffffffffffff81111561212957612128613261565b5b6040519080825280602002602001820160405280156121575781602001602082028036833780820191505090505b509050600085828280612169906145ab565b93508151811061217c5761217b613c14565b5b60200260200101818152505060005b85518110156121e7578581815181106121a7576121a6613c14565b5b60200260200101518383806121bb906145ab565b9450815181106121ce576121cd613c14565b5b602002602001018181525050808060010191505061218b565b50838282806121f5906145ab565b93508151811061220857612207613c14565b5b60200260200101818152505050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614806122ca57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166122b1612ad5565b73ffffffffffffffffffffffffffffffffffffffff1614155b15612301576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61230b6124b4565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561237657506040513d601f19601f82011682018060405250810190612373919061461f565b60015b6123b757816040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526004016123ae9190613781565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b811461241e57806040517faa1d49a400000000000000000000000000000000000000000000000000000000815260040161241591906136db565b60405180910390fd5b6124288383612b2c565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16146124b2576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6124bc612b9f565b73ffffffffffffffffffffffffffffffffffffffff166124da610ff1565b73ffffffffffffffffffffffffffffffffffffffff1614612539576124fd612b9f565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016125309190613781565b60405180910390fd5b565b60006125456127ed565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b835181101561279557600084828151811061263357612632613c14565b5b6020026020010151905060016002811115612651576126506142be565b5b6001600083815260200190815260200160002060009054906101000a900460ff166002811115612684576126836142be565b5b036126c657806040517f79e1da470000000000000000000000000000000000000000000000000000000081526004016126bd91906140cf565b60405180910390fd5b6002808111156126d9576126d86142be565b5b6001600083815260200190815260200160002060009054906101000a900460ff16600281111561270c5761270b6142be565b5b0361274e57806040517f41a06d2800000000000000000000000000000000000000000000000000000000815260040161274591906140cf565b60405180910390fd5b600180600083815260200190815260200160002060006101000a81548160ff02191690836002811115612784576127836142be565b5b021790555050806001019050612615565b503373ffffffffffffffffffffffffffffffffffffffff167f7ff08e0ca1fce6b202b83128811e4f6ceda54930aa074cd365bf68f95c20ce198484846040516127e09392919061464c565b60405180910390a2505050565b60007f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b612845611693565b61284e81612ba7565b50565b600061285b612815565b60000160089054906101000a900460ff16905090565b60608284510361288357839050612966565b60008367ffffffffffffffff81111561289f5761289e613261565b5b6040519080825280602002602001820160405280156128cd5781602001602082028036833780820191505090505b50905060005b8551811015612923578581815181106128ef576128ee613c14565b5b602002602001015182828151811061290a57612909613c14565b5b60200260200101818152505080806001019150506128d3565b506000855190505b84811015612960578382828151811061294757612946613c14565b5b602002602001018181525050808060010191505061292b565b50809150505b9392505050565b6060806000845167ffffffffffffffff81111561298d5761298c613261565b5b6040519080825280602002602001820160405280156129bb5781602001602082028036833780820191505090505b5090506000845167ffffffffffffffff8111156129db576129da613261565b5b604051908082528060200260200182016040528015612a095781602001602082028036833780820191505090505b50905060005b8651811015612a5d57868181518110612a2b57612a2a613c14565b5b6020026020010151838281518110612a4657612a45613c14565b5b602002602001018181525050806001019050612a0f565b5060005b8551811015612aaf57858181518110612a7d57612a7c613c14565b5b6020026020010151828281518110612a9857612a97613c14565b5b602002602001018181525050806001019050612a61565b50612ab982612bbb565b9150612ac481612bbb565b905081819350935050509250929050565b6000612b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612bd2565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612b3582612bdc565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a2600081511115612b9257612b8c8282612ca9565b50612b9b565b612b9a612d2d565b5b5050565b600033905090565b612baf611693565b612bb881612d6a565b50565b6060612bc982612d7e612d8b565b50819050919050565b6000819050919050565b60008173ffffffffffffffffffffffffffffffffffffffff163b03612c3857806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401612c2f9190613781565b60405180910390fd5b80612c657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612bd2565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051612cd391906146cc565b600060405180830381855af49150503d8060008114612d0e576040519150601f19603f3d011682016040523d82523d6000602084013e612d13565b606091505b5091509150612d23858383612db1565b9250505092915050565b6000341115612d68576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612d72611693565b612d7b81612e40565b50565b6000818310905092915050565b6060612da8612d9984612ec6565b612da285612ed3565b84612eeb565b82905092915050565b606082612dc657612dc182612f7b565b612e38565b60008251148015612dee575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15612e3057836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401612e279190613781565b60405180910390fd5b819050612e39565b5b9392505050565b612e48611693565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612eba5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612eb19190613781565b60405180910390fd5b612ec38161253b565b50565b6000602082019050919050565b60006020825102612ee383612ec6565b019050919050565b604083830310612f76576000612f0084612fc0565b9050600084905060006020860190505b84811015612f4f57612f2e612f2482612fc0565b848663ffffffff16565b15612f4457602082019150612f438282612fcb565b5b602081019050612f10565b50612f5a8582612fcb565b612f65858285612eeb565b612f73602082018585612eeb565b50505b505050565b600081511115612f8e5780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081519050919050565b8151815180845281835250505050565b604051806102800160405280601490602082028036833780820191505090505090565b6040518060800160405280600490602082028036833780820191505090505090565b604051806101800160405280600c90602082028036833780820191505090505090565b6040518060400160405280600290602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130a482613079565b9050919050565b60006130b682613099565b9050919050565b6130c6816130ab565b81146130d157600080fd5b50565b6000813590506130e3816130bd565b92915050565b60006130f482613099565b9050919050565b613104816130e9565b811461310f57600080fd5b50565b600081359050613121816130fb565b92915050565b600061313282613099565b9050919050565b61314281613127565b811461314d57600080fd5b50565b60008135905061315f81613139565b92915050565b60008060006060848603121561317e5761317d61306f565b5b600061318c868287016130d4565b935050602061319d86828701613112565b92505060406131ae86828701613150565b9150509250925092565b600080fd5b600061010082840312156131d4576131d36131b8565b5b81905092915050565b6131e681613099565b81146131f157600080fd5b50565b600081359050613203816131dd565b92915050565b60008061012083850312156132215761322061306f565b5b600061322f858286016131bd565b925050610100613241858286016131f4565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61329982613250565b810181811067ffffffffffffffff821117156132b8576132b7613261565b5b80604052505050565b60006132cb613065565b90506132d78282613290565b919050565b600067ffffffffffffffff8211156132f7576132f6613261565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b6133208161330d565b811461332b57600080fd5b50565b60008135905061333d81613317565b92915050565b6000613356613351846132dc565b6132c1565b9050808382526020820190506020840283018581111561337957613378613308565b5b835b818110156133a2578061338e888261332e565b84526020840193505060208101905061337b565b5050509392505050565b600082601f8301126133c1576133c061324b565b5b81356133d1848260208601613343565b91505092915050565b600080fd5b60008083601f8401126133f5576133f461324b565b5b8235905067ffffffffffffffff811115613412576134116133da565b5b60208301915083600182028301111561342e5761342d613308565b5b9250929050565b600080600080600061016086880312156134525761345161306f565b5b600086013567ffffffffffffffff8111156134705761346f613074565b5b61347c888289016133ac565b955050602086013567ffffffffffffffff81111561349d5761349c613074565b5b6134a9888289016133ac565b94505060406134ba888289016131bd565b93505061014086013567ffffffffffffffff8111156134dc576134db613074565b5b6134e8888289016133df565b92509250509295509295909350565b60008115159050919050565b61350c816134f7565b82525050565b60006020820190506135276000830184613503565b92915050565b60008060008061016085870312156135485761354761306f565b5b60006135568782880161332e565b945050602085013567ffffffffffffffff81111561357757613576613074565b5b613583878288016133ac565b93505060406135948782880161332e565b92505060606135a5878288016131bd565b91505092959194509250565b600080fd5b600067ffffffffffffffff8211156135d1576135d0613261565b5b6135da82613250565b9050602081019050919050565b82818337600083830152505050565b6000613609613604846135b6565b6132c1565b905082815260208101848484011115613625576136246135b1565b5b6136308482856135e7565b509392505050565b600082601f83011261364d5761364c61324b565b5b813561365d8482602086016135f6565b91505092915050565b6000806040838503121561367d5761367c61306f565b5b600061368b858286016131f4565b925050602083013567ffffffffffffffff8111156136ac576136ab613074565b5b6136b885828601613638565b9150509250929050565b6000819050919050565b6136d5816136c2565b82525050565b60006020820190506136f060008301846136cc565b92915050565b60008060006040848603121561370f5761370e61306f565b5b600084013567ffffffffffffffff81111561372d5761372c613074565b5b613739868287016133ac565b935050602084013567ffffffffffffffff81111561375a57613759613074565b5b613766868287016133df565b92509250509250925092565b61377b81613099565b82525050565b60006020820190506137966000830184613772565b92915050565b600080600080600061016086880312156137b9576137b861306f565b5b60006137c78882890161332e565b95505060206137d88882890161332e565b94505060406137e9888289016131bd565b93505061014086013567ffffffffffffffff81111561380b5761380a613074565b5b613817888289016133df565b92509250509295509295909350565b60006020828403121561383c5761383b61306f565b5b600061384a848285016130d4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561388d578082015181840152602081019050613872565b60008484015250505050565b60006138a482613853565b6138ae818561385e565b93506138be81856020860161386f565b6138c781613250565b840191505092915050565b600060208201905081810360008301526138ec8184613899565b905092915050565b60006138ff82613099565b9050919050565b61390f816138f4565b811461391a57600080fd5b50565b60008135905061392c81613906565b92915050565b6000602082840312156139485761394761306f565b5b60006139568482850161391d565b91505092915050565b600061396a82613099565b9050919050565b61397a8161395f565b811461398557600080fd5b50565b60008135905061399781613971565b92915050565b60006139a882613099565b9050919050565b6139b88161399d565b81146139c357600080fd5b50565b6000813590506139d5816139af565b92915050565b60008060008060008060c087890312156139f8576139f761306f565b5b6000613a0689828a016131f4565b9650506020613a1789828a01613988565b9550506040613a2889828a016130d4565b9450506060613a3989828a01613112565b9350506080613a4a89828a016139c6565b92505060a0613a5b89828a01613150565b9150509295509295509295565b600060208284031215613a7e57613a7d61306f565b5b6000613a8c8482850161332e565b91505092915050565b600060208284031215613aab57613aaa61306f565b5b6000613ab9848285016131f4565b91505092915050565b60008060006101408486031215613adc57613adb61306f565b5b6000613aea8682870161332e565b9350506020613afb8682870161332e565b9250506040613b0c868287016131bd565b9150509250925092565b7f50726f6f6620616c7265616479206c6f636b656420627920616e6f746865722060008201527f7061727479000000000000000000000000000000000000000000000000000000602082015250565b6000613b7260258361385e565b9150613b7d82613b16565b604082019050919050565b60006020820190508181036000830152613ba181613b65565b9050919050565b7f496e76616c6964207472616e73616374696f6e2070726f706f73616c00000000600082015250565b6000613bde601c8361385e565b9150613be982613ba8565b602082019050919050565b60006020820190508181036000830152613c0d81613bd1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b82818337505050565b613c5860408383613c43565b5050565b600060029050919050565b600081905092915050565b6000819050919050565b613c8860408383613c43565b5050565b6000613c988383613c7c565b60408301905092915050565b600082905092915050565b6000604082019050919050565b613cc581613c5c565b613ccf8184613c67565b9250613cda82613c72565b8060005b83811015613d1357613cf08284613ca4565b613cfa8782613c8c565b9650613d0583613caf565b925050600181019050613cde565b505050505050565b600060149050919050565b600081905092915050565b6000819050919050565b613d448161330d565b82525050565b6000613d568383613d3b565b60208301905092915050565b6000602082019050919050565b613d7881613d1b565b613d828184613d26565b9250613d8d82613d31565b8060005b83811015613dbe578151613da58782613d4a565b9650613db083613d62565b925050600181019050613d91565b505050505050565b600061038082019050613ddc6000830187613c4c565b613de96040830186613cbc565b613df660c0830185613c4c565b613e04610100830184613d6f565b95945050505050565b613e16816134f7565b8114613e2157600080fd5b50565b600081519050613e3381613e0d565b92915050565b600060208284031215613e4f57613e4e61306f565b5b6000613e5d84828501613e24565b91505092915050565b7f496e76616c69642070726f6f6600000000000000000000000000000000000000600082015250565b6000613e9c600d8361385e565b9150613ea782613e66565b602082019050919050565b60006020820190508181036000830152613ecb81613e8f565b9050919050565b600060049050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b613f0881613ed2565b613f128184613edd565b9250613f1d82613ee8565b8060005b83811015613f4e578151613f358782613d4a565b9650613f4083613ef2565b925050600181019050613f21565b505050505050565b600061018082019050613f6c6000830187613c4c565b613f796040830186613cbc565b613f8660c0830185613c4c565b613f94610100830184613eff565b95945050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000602082019050919050565b6000613fe182613f9d565b613feb8185613fa8565b9350613ff683613fb9565b8060005b8381101561402757815161400e8882613d4a565b975061401983613fc9565b925050600181019050613ffa565b5085935050505092915050565b600082825260208201905092915050565b60006140518385614034565b935061405e8385846135e7565b61406783613250565b840190509392505050565b6000606082019050818103600083015261408c8187613fd6565b905081810360208301526140a08186613fd6565b905081810360408301526140b5818486614045565b905095945050505050565b6140c98161330d565b82525050565b60006020820190506140e460008301846140c0565b92915050565b6000600c9050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b614120816140ea565b61412a81846140f5565b925061413582614100565b8060005b8381101561416657815161414d8782613d4a565b96506141588361410a565b925050600181019050614139565b505050505050565b6000610280820190506141846000830187613c4c565b6141916040830186613cbc565b61419e60c0830185613c4c565b6141ac610100830184614117565b95945050505050565b60006040820190506141ca6000830185613772565b6141d760208301846140c0565b9392505050565b7f4661696c656420746f207472616e7366657220455243323020746f6b656e7300600082015250565b6000614214601f8361385e565b915061421f826141de565b602082019050919050565b6000602082019050818103600083015261424381614207565b9050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000819050919050565b600061428d6142886142838461424a565b614268565b614254565b9050919050565b61429d81614272565b82525050565b60006020820190506142b86000830184614294565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060029050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b614323816142ed565b61432d81846142f8565b925061433882614303565b8060005b838110156143695781516143508782613d4a565b965061435b8361430d565b92505060018101905061433c565b505050505050565b6000610140820190506143876000830187613c4c565b6143946040830186613cbc565b6143a160c0830185613c4c565b6143af61010083018461431a565b95945050505050565b60006060820190506143cd6000830186613772565b6143da6020830185613772565b6143e760408301846140c0565b949350505050565b600060089050919050565b600081905092915050565b6000819050919050565b6144188161330d565b82525050565b600061442a838361440f565b60208301905092915050565b6000602082019050919050565b61444c816143ef565b61445681846143fa565b925061446182614405565b8060005b83811015614492578151614479878261441e565b965061448483614436565b925050600181019050614465565b505050505050565b60006144a68284614443565b6101008201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006144f08261330d565b91506144fb8361330d565b9250828203905081811115614513576145126144b6565b5b92915050565b7f4c6f636b65642070726f6f662063616e206f6e6c79206265207375626d69747460008201527f656420627920746865206c6f636b657220616464726573730000000000000000602082015250565b600061457560388361385e565b915061458082614519565b604082019050919050565b600060208201905081810360008301526145a481614568565b9050919050565b60006145b68261330d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036145e8576145e76144b6565b5b600182019050919050565b6145fc816136c2565b811461460757600080fd5b50565b600081519050614619816145f3565b92915050565b6000602082840312156146355761463461306f565b5b60006146438482850161460a565b91505092915050565b600060408201905081810360008301526146668186613fd6565b9050818103602083015261467b818486614045565b9050949350505050565b600081519050919050565b600081905092915050565b60006146a682614685565b6146b08185614690565b93506146c081856020860161386f565b80840191505092915050565b60006146d8828461469b565b91508190509291505056fea26469706673582212205fb47fc58cfe8406b0221742bc2c462f224b8676d4eb5783cbdca9bc53e3b54364736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-impl-anon-enc +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "IdentityNotRegistered", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadyOwned", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadySpent", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "UTXOArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXODuplicate", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXONotMinted", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "WithdrawArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOMint", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "encryptionNonce", + "type": "uint256" + }, + { + "internalType": "uint256[2]", + "name": "ecdhPublicKey", + "type": "uint256[2]" + }, + { + "internalType": "uint256[]", + "name": "encryptedValues", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOTransferWithEncryptedValues", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "outputs": null, + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValue", + "name": "_withdrawVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValueBatch", + "name": "_batchWithdrawVerifier", + "type": "address" + } + ], + "name": "__ZetoFungibleWithdraw_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + } + ], + "name": "__ZetoFungible_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_AnonEnc", + "name": "_verifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValue", + "name": "_withdrawVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_AnonEncBatch", + "name": "_batchVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckInputsOutputsValueBatch", + "name": "_batchWithdrawVerifier", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "lockProof", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "utxos", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_erc20", + "type": "address" + } + ], + "name": "setERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "txo", + "type": "uint256" + } + ], + "name": "spent", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "encryptionNonce", + "type": "uint256" + }, + { + "internalType": "uint256[2]", + "name": "ecdhPublicKey", + "type": "uint256[2]" + }, + { + "internalType": "uint256[]", + "name": "encryptedValues", + "type": "uint256[]" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015604257600080fd5b506080516149ee61006c6000396000818161194e015281816119a30152611b5e01526149ee6000f3fe6080604052600436106101295760003560e01c80639b2e8b52116100a5578063cc2a9a5b11610074578063e4e3842a11610059578063e4e3842a14610390578063f2fde38b146103cd578063f756356a146103f657610129565b8063cc2a9a5b1461032a578063d5b5cc231461035357610129565b80639b2e8b52146102845780639fcc50af146102ad578063ad3cb1cc146102d6578063c29a6fda1461030157610129565b806352d1902d116100fc578063788c0456116100e1578063788c0456146102075780638bb2513b146102305780638da5cb5b1461025957610129565b806352d1902d146101c5578063715018a6146101f057610129565b80630107eb4a1461012e57806312c0fed2146101575780634ad89929146101805780634f1ef286146101a9575b600080fd5b34801561013a57600080fd5b5061015560048036038101906101509190613237565b61041f565b005b34801561016357600080fd5b5061017e600480360381019061017991906132db565b6104b7565b005b34801561018c57600080fd5b506101a760048036038101906101a291906134ac565b610623565b005b6101c360048036038101906101be91906135e5565b610a0c565b005b3480156101d157600080fd5b506101da610a2b565b6040516101e7919061365a565b60405180910390f35b3480156101fc57600080fd5b50610205610a5e565b005b34801561021357600080fd5b5061022e600480360381019061022991906134ac565b610a72565b005b34801561023c57600080fd5b50610257600480360381019061025291906136d0565b610b1e565b005b34801561026557600080fd5b5061026e610b36565b60405161027b919061375b565b60405180910390f35b34801561029057600080fd5b506102ab60048036038101906102a69190613776565b610b6e565b005b3480156102b957600080fd5b506102d460048036038101906102cf9190613800565b610bfb565b005b3480156102e257600080fd5b506102eb610c47565b6040516102f891906138ac565b60405180910390f35b34801561030d57600080fd5b506103286004803603810190610323919061390c565b610c80565b005b34801561033657600080fd5b50610351600480360381019061034c91906139b5565b610ccc565b005b34801561035f57600080fd5b5061037a60048036038101906103759190613a42565b610f2e565b6040516103879190613a8a565b60405180910390f35b34801561039c57600080fd5b506103b760048036038101906103b29190613b56565b610f7e565b6040516103c49190613a8a565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190613c6e565b6113bf565b005b34801561040257600080fd5b5061041d60048036038101906104189190613c9b565b611445565b005b61042761165a565b61043083610bfb565b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006104c28361169a565b9050600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061058e57503373ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6105cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c490613d61565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6002835111156107d057600c8351111561067557600c6040517f71798fb500000000000000000000000000000000000000000000000000000000815260040161066c9190613d90565b60405180910390fd5b6000610684858585600c61183c565b905061068e61308a565b60005b600c8110156106de578281815181106106ad576106ac613dab565b5b60200260200101518282600c81106106c8576106c7613dab565b5b6020020181815250508080600101915050610691565b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638cbac0fa84600001856040018660c001856040518563ffffffff1660e01b81526004016107499493929190613f5d565b602060405180830381865afa158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a9190613fd0565b6107c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c090614049565b60405180910390fd5b5050610927565b60006107df858585600461183c565b90506107e96130ad565b60005b60048110156108395782818151811061080857610807613dab565b5b602002602001015182826004811061082357610822613dab565b5b60200201818152505080806001019150506107ec565b50600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fe8c13b84600001856040018660c001856040518563ffffffff1660e01b81526004016108a494939291906140ed565b602060405180830381865afa1580156108c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e59190613fd0565b610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b90614049565b60405180910390fd5b50505b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33866040518363ffffffff1660e01b8152600401610984929190614134565b6020604051808303816000875af11580156109a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190613fd0565b610a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fd906141a9565b60405180910390fd5b50505050565b610a1461194c565b610a1d82611a32565b610a278282611a3d565b5050565b6000610a35611b5c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b610a66611be3565b610a706000611c6a565b565b6000835167ffffffffffffffff811115610a8f57610a8e613369565b5b604051908082528060200260200182016040528015610abd5781602001602082028036833780820191505090505b5090508281600081518110610ad557610ad4613dab565b5b602002602001018181525050610aed8482600a611d41565b8092508195505050610b00848284611def565b50610b0d85858585610623565b610b1784826123e4565b5050505050565b610b26611be3565b610b318383836124c3565b505050565b600080610b4161269e565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b610b79858585611445565b6000600167ffffffffffffffff811115610b9657610b95613369565b5b604051908082528060200260200182016040528015610bc45781602001602082028036833780820191505090505b5090508481600081518110610bdc57610bdb613dab565b5b602002602001018181525050610bf38184846124c3565b505050505050565b610c0361165a565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b610c88611be3565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610cd66126c6565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff16148015610d245750825b9050600060018367ffffffffffffffff16148015610d59575060003073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015610d67575080155b15610d9e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315610dee5760018560000160086101000a81548160ff0219169083151502179055505b610df78b6126ee565b610e0289898861041f565b89600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508315610f215760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d26001604051610f189190614222565b60405180910390a15b5050505050505050505050565b6000600280811115610f4357610f4261423d565b5b6001600084815260200190815260200160002060009054906101000a900460ff166002811115610f7657610f7561423d565b5b149050919050565b6000610f8c8989600a611d41565b809950819a505050610f9f898986611def565b610fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd5906142b8565b60405180910390fd5b600289511180610fef575060028851115b156111515760006110058a8a8a8a8a603f612702565b905061100f6130cf565b60005b603f81101561105f5782818151811061102e5761102d613dab565b5b60200260200101518282603f811061104957611048613dab565b5b6020020181815250508080600101915050611012565b50600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d40902687600001886040018960c001856040518563ffffffff1660e01b81526004016110ca949392919061435c565b602060405180830381865afa1580156110e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110b9190613fd0565b61114a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114190614049565b60405180910390fd5b50506112aa565b60006111628a8a8a8a8a600f612702565b905061116c6130f2565b60005b600f8110156111bc5782818151811061118b5761118a613dab565b5b60200260200101518282600f81106111a6576111a5613dab565b5b602002018181525050808060010191505061116f565b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f054a9a387600001886040018960c001856040518563ffffffff1660e01b81526004016112279493929190614427565b602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112689190613fd0565b6112a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129e90614049565b60405180910390fd5b50505b6112b489896123e4565b6000855167ffffffffffffffff8111156112d1576112d0613369565b5b6040519080825280602002602001820160405280156112ff5781602001602082028036833780820191505090505b50905060005b86518110156113535786818151811061132157611320613dab565b5b602002602001015182828151811061133c5761133b613dab565b5b602002602001018181525050806001019050611305565b503373ffffffffffffffffffffffffffffffffffffffff167f18fd5042f65c100c3eb616143f0e3d2d83f7efe63df2a868b19f0b823c08a21b8b8b8b8b868a8a6040516113a697969594939291906145c7565b60405180910390a2600191505098975050505050505050565b6113c7611be3565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114395760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401611430919061375b565b60405180910390fd5b61144281611c6a565b50565b61144d613115565b838160006002811061146257611461613dab565b5b60200201818152505082816001600281106114805761147f613dab565b5b602002018181525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f5c9d69e83600001846040018560c001856040518563ffffffff1660e01b81526004016114f39493929190614646565b602060405180830381865afa158015611510573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115349190613fd0565b611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156a90614049565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b81526004016115d29392919061468d565b6020604051808303816000875af11580156115f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116159190613fd0565b611654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164b906141a9565b60405180910390fd5b50505050565b611662612900565b611698576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600080604051806101000160405280846000016000600281106116c0576116bf613dab565b5b60200201358152602001846000016001600281106116e1576116e0613dab565b5b602002013581526020018460400160006002811061170257611701613dab565b5b6040020160006002811061171957611718613dab565b5b602002013581526020018460400160006002811061173a57611739613dab565b5b6040020160016002811061175157611750613dab565b5b602002013581526020018460400160016002811061177257611771613dab565b5b6040020160006002811061178957611788613dab565b5b60200201358152602001846040016001600281106117aa576117a9613dab565b5b604002016001600281106117c1576117c0613dab565b5b602002013581526020018460c0016000600281106117e2576117e1613dab565b5b602002013581526020018460c00160016002811061180357611802613dab565b5b602002013581525090508060405160200161181e919061476f565b60405160208183030381529060405280519060200120915050919050565b60608167ffffffffffffffff81111561185857611857613369565b5b6040519080825280602002602001820160405280156118865781602001602082028036833780820191505090505b509050600085828280611898906147ba565b9350815181106118ab576118aa613dab565b5b60200260200101818152505060005b8551811015611916578581815181106118d6576118d5613dab565b5b60200260200101518383806118ea906147ba565b9450815181106118fd576118fc613dab565b5b60200260200101818152505080806001019150506118ba565b5083828280611924906147ba565b93508151811061193757611936613dab565b5b60200260200101818152505050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614806119f957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166119e0612920565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611a30576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b611a3a611be3565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611aa557506040513d601f19601f82011682018060405250810190611aa2919061482e565b60015b611ae657816040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401611add919061375b565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611b4d57806040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600401611b44919061365a565b60405180910390fd5b611b578383612977565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614611be1576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b611beb6129ea565b73ffffffffffffffffffffffffffffffffffffffff16611c09610b36565b73ffffffffffffffffffffffffffffffffffffffff1614611c6857611c2c6129ea565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611c5f919061375b565b60405180910390fd5b565b6000611c7461269e565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60608060008551905060008551905084821180611d5d57508481115b15611d9f57846040517f9ebbc98e000000000000000000000000000000000000000000000000000000008152600401611d969190613d90565b60405180910390fd5b60006002831180611db05750600282115b15611dbd57859050611dc2565b600290505b611dce888260006129f2565b9750611ddc878260006129f2565b9650878794509450505050935093915050565b6000806000611dfe8686612aee565b9150915060005b8251811015612061576000838281518110611e2357611e22613dab565b5b6020026020010151031561205657600081118015611e80575082600182611e4a919061485b565b81518110611e5b57611e5a613dab565b5b6020026020010151838281518110611e7657611e75613dab565b5b6020026020010151145b15611edc57828181518110611e9857611e97613dab565b5b60200260200101516040517fdd574831000000000000000000000000000000000000000000000000000000008152600401611ed39190613d90565b60405180910390fd5b60006002811115611ef057611eef61423d565b5b60016000858481518110611f0757611f06613dab565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611f3d57611f3c61423d565b5b03611f9957828181518110611f5557611f54613dab565b5b60200260200101516040517f83925127000000000000000000000000000000000000000000000000000000008152600401611f909190613d90565b60405180910390fd5b600280811115611fac57611fab61423d565b5b60016000858481518110611fc357611fc2613dab565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff166002811115611ff957611ff861423d565b5b036120555782818151811061201157612010613dab565b5b60200260200101516040517f41a06d2800000000000000000000000000000000000000000000000000000000815260040161204c9190613d90565b60405180910390fd5b5b806001019050611e05565b5060005b81518110156122c157600082828151811061208357612082613dab565b5b602002602001015103156122b6576000811180156120e05750816001826120aa919061485b565b815181106120bb576120ba613dab565b5b60200260200101518282815181106120d6576120d5613dab565b5b6020026020010151145b1561213c578181815181106120f8576120f7613dab565b5b60200260200101516040517fdd5748310000000000000000000000000000000000000000000000000000000081526004016121339190613d90565b60405180910390fd5b60028081111561214f5761214e61423d565b5b6001600084848151811061216657612165613dab565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff16600281111561219c5761219b61423d565b5b036121f8578181815181106121b4576121b3613dab565b5b60200260200101516040517f41a06d280000000000000000000000000000000000000000000000000000000081526004016121ef9190613d90565b60405180910390fd5b6001600281111561220c5761220b61423d565b5b6001600084848151811061222357612222613dab565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff1660028111156122595761225861423d565b5b036122b55781818151811061227157612270613dab565b5b60200260200101516040517f79e1da470000000000000000000000000000000000000000000000000000000081526004016122ac9190613d90565b60405180910390fd5b5b806001019050612065565b5060006122cd8561169a565b9050600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123d6573373ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123cc90614901565b60405180910390fd5b5b600193505050509392505050565b60005b82518110156124515760026001600085848151811061240957612408613dab565b5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908360028111156124415761244061423d565b5b02179055508060010190506123e7565b5060005b81518110156124be57600180600084848151811061247657612475613dab565b5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908360028111156124ae576124ad61423d565b5b0217905550806001019050612455565b505050565b60005b83518110156126465760008482815181106124e4576124e3613dab565b5b60200260200101519050600160028111156125025761250161423d565b5b6001600083815260200190815260200160002060009054906101000a900460ff1660028111156125355761253461423d565b5b0361257757806040517f79e1da4700000000000000000000000000000000000000000000000000000000815260040161256e9190613d90565b60405180910390fd5b60028081111561258a5761258961423d565b5b6001600083815260200190815260200160002060009054906101000a900460ff1660028111156125bd576125bc61423d565b5b036125ff57806040517f41a06d280000000000000000000000000000000000000000000000000000000081526004016125f69190613d90565b60405180910390fd5b600180600083815260200190815260200160002060006101000a81548160ff021916908360028111156126355761263461423d565b5b0217905550508060010190506124c6565b503373ffffffffffffffffffffffffffffffffffffffff167f7ff08e0ca1fce6b202b83128811e4f6ceda54930aa074cd365bf68f95c20ce1984848460405161269193929190614921565b60405180910390a2505050565b60007f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b6126f661165a565b6126ff81612c56565b50565b60608167ffffffffffffffff81111561271e5761271d613369565b5b60405190808252806020026020018201604052801561274c5781602001602082028036833780820191505090505b5090506000805b60028110156127aa5785816002811061276f5761276e613dab565b5b6020020151838380612780906147ba565b94508151811061279357612792613dab565b5b602002602001018181525050806001019050612753565b5060005b8451811015612808578481815181106127ca576127c9613dab565b5b60200260200101518383806127de906147ba565b9450815181106127f1576127f0613dab565b5b6020026020010181815250508060010190506127ae565b5060005b88518110156128685788818151811061282857612827613dab565b5b602002602001015183838061283c906147ba565b94508151811061284f5761284e613dab565b5b602002602001018181525050808060010191505061280c565b5060005b87518110156128c85787818151811061288857612887613dab565b5b602002602001015183838061289c906147ba565b9450815181106128af576128ae613dab565b5b602002602001018181525050808060010191505061286c565b50858282806128d6906147ba565b9350815181106128e9576128e8613dab565b5b602002602001018181525050509695505050505050565b600061290a6126c6565b60000160089054906101000a900460ff16905090565b600061294e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612c6a565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61298082612c74565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a26000815111156129dd576129d78282612d41565b506129e6565b6129e5612dc5565b5b5050565b600033905090565b606082845103612a0457839050612ae7565b60008367ffffffffffffffff811115612a2057612a1f613369565b5b604051908082528060200260200182016040528015612a4e5781602001602082028036833780820191505090505b50905060005b8551811015612aa457858181518110612a7057612a6f613dab565b5b6020026020010151828281518110612a8b57612a8a613dab565b5b6020026020010181815250508080600101915050612a54565b506000855190505b84811015612ae15783828281518110612ac857612ac7613dab565b5b6020026020010181815250508080600101915050612aac565b50809150505b9392505050565b6060806000845167ffffffffffffffff811115612b0e57612b0d613369565b5b604051908082528060200260200182016040528015612b3c5781602001602082028036833780820191505090505b5090506000845167ffffffffffffffff811115612b5c57612b5b613369565b5b604051908082528060200260200182016040528015612b8a5781602001602082028036833780820191505090505b50905060005b8651811015612bde57868181518110612bac57612bab613dab565b5b6020026020010151838281518110612bc757612bc6613dab565b5b602002602001018181525050806001019050612b90565b5060005b8551811015612c3057858181518110612bfe57612bfd613dab565b5b6020026020010151828281518110612c1957612c18613dab565b5b602002602001018181525050806001019050612be2565b50612c3a82612e02565b9150612c4581612e02565b905081819350935050509250929050565b612c5e61165a565b612c6781612e19565b50565b6000819050919050565b60008173ffffffffffffffffffffffffffffffffffffffff163b03612cd057806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401612cc7919061375b565b60405180910390fd5b80612cfd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612c6a565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051612d6b91906149a1565b600060405180830381855af49150503d8060008114612da6576040519150601f19603f3d011682016040523d82523d6000602084013e612dab565b606091505b5091509150612dbb858383612e2d565b9250505092915050565b6000341115612e00576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6060612e1082612ebc612ec9565b50819050919050565b612e2161165a565b612e2a81612eef565b50565b606082612e4257612e3d82612f75565b612eb4565b60008251148015612e6a575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15612eac57836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401612ea3919061375b565b60405180910390fd5b819050612eb5565b5b9392505050565b6000818310905092915050565b6060612ee6612ed784612fba565b612ee085612fc7565b84612fdf565b82905092915050565b612ef761165a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612f695760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612f60919061375b565b60405180910390fd5b612f7281611c6a565b50565b600081511115612f885780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602082019050919050565b60006020825102612fd783612fba565b019050919050565b60408383031061306a576000612ff48461306f565b9050600084905060006020860190505b84811015613043576130226130188261306f565b848663ffffffff16565b1561303857602082019150613037828261307a565b5b602081019050613004565b5061304e858261307a565b613059858285612fdf565b613067602082018585612fdf565b50505b505050565b600081519050919050565b8151815180845281835250505050565b604051806101800160405280600c90602082028036833780820191505090505090565b6040518060800160405280600490602082028036833780820191505090505090565b604051806107e00160405280603f90602082028036833780820191505090505090565b604051806101e00160405280600f90602082028036833780820191505090505090565b6040518060400160405280600290602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006131768261314b565b9050919050565b60006131888261316b565b9050919050565b6131988161317d565b81146131a357600080fd5b50565b6000813590506131b58161318f565b92915050565b60006131c68261316b565b9050919050565b6131d6816131bb565b81146131e157600080fd5b50565b6000813590506131f3816131cd565b92915050565b60006132048261316b565b9050919050565b613214816131f9565b811461321f57600080fd5b50565b6000813590506132318161320b565b92915050565b6000806000606084860312156132505761324f613141565b5b600061325e868287016131a6565b935050602061326f868287016131e4565b925050604061328086828701613222565b9150509250925092565b600080fd5b600061010082840312156132a6576132a561328a565b5b81905092915050565b6132b88161316b565b81146132c357600080fd5b50565b6000813590506132d5816132af565b92915050565b60008061012083850312156132f3576132f2613141565b5b60006133018582860161328f565b925050610100613313858286016132c6565b9150509250929050565b6000819050919050565b6133308161331d565b811461333b57600080fd5b50565b60008135905061334d81613327565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6133a182613358565b810181811067ffffffffffffffff821117156133c0576133bf613369565b5b80604052505050565b60006133d3613137565b90506133df8282613398565b919050565b600067ffffffffffffffff8211156133ff576133fe613369565b5b602082029050602081019050919050565b600080fd5b6000613428613423846133e4565b6133c9565b9050808382526020820190506020840283018581111561344b5761344a613410565b5b835b818110156134745780613460888261333e565b84526020840193505060208101905061344d565b5050509392505050565b600082601f83011261349357613492613353565b5b81356134a3848260208601613415565b91505092915050565b60008060008061016085870312156134c7576134c6613141565b5b60006134d58782880161333e565b945050602085013567ffffffffffffffff8111156134f6576134f5613146565b5b6135028782880161347e565b93505060406135138782880161333e565b92505060606135248782880161328f565b91505092959194509250565b600080fd5b600067ffffffffffffffff8211156135505761354f613369565b5b61355982613358565b9050602081019050919050565b82818337600083830152505050565b600061358861358384613535565b6133c9565b9050828152602081018484840111156135a4576135a3613530565b5b6135af848285613566565b509392505050565b600082601f8301126135cc576135cb613353565b5b81356135dc848260208601613575565b91505092915050565b600080604083850312156135fc576135fb613141565b5b600061360a858286016132c6565b925050602083013567ffffffffffffffff81111561362b5761362a613146565b5b613637858286016135b7565b9150509250929050565b6000819050919050565b61365481613641565b82525050565b600060208201905061366f600083018461364b565b92915050565b600080fd5b60008083601f8401126136905761368f613353565b5b8235905067ffffffffffffffff8111156136ad576136ac613675565b5b6020830191508360018202830111156136c9576136c8613410565b5b9250929050565b6000806000604084860312156136e9576136e8613141565b5b600084013567ffffffffffffffff81111561370757613706613146565b5b6137138682870161347e565b935050602084013567ffffffffffffffff81111561373457613733613146565b5b6137408682870161367a565b92509250509250925092565b6137558161316b565b82525050565b6000602082019050613770600083018461374c565b92915050565b6000806000806000610160868803121561379357613792613141565b5b60006137a18882890161333e565b95505060206137b28882890161333e565b94505060406137c38882890161328f565b93505061014086013567ffffffffffffffff8111156137e5576137e4613146565b5b6137f18882890161367a565b92509250509295509295909350565b60006020828403121561381657613815613141565b5b6000613824848285016131a6565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561386757808201518184015260208101905061384c565b60008484015250505050565b600061387e8261382d565b6138888185613838565b9350613898818560208601613849565b6138a181613358565b840191505092915050565b600060208201905081810360008301526138c68184613873565b905092915050565b60006138d98261316b565b9050919050565b6138e9816138ce565b81146138f457600080fd5b50565b600081359050613906816138e0565b92915050565b60006020828403121561392257613921613141565b5b6000613930848285016138f7565b91505092915050565b60006139448261316b565b9050919050565b61395481613939565b811461395f57600080fd5b50565b6000813590506139718161394b565b92915050565b60006139828261316b565b9050919050565b61399281613977565b811461399d57600080fd5b50565b6000813590506139af81613989565b92915050565b60008060008060008060c087890312156139d2576139d1613141565b5b60006139e089828a016132c6565b96505060206139f189828a01613962565b9550506040613a0289828a016131a6565b9450506060613a1389828a016131e4565b9350506080613a2489828a016139a0565b92505060a0613a3589828a01613222565b9150509295509295509295565b600060208284031215613a5857613a57613141565b5b6000613a668482850161333e565b91505092915050565b60008115159050919050565b613a8481613a6f565b82525050565b6000602082019050613a9f6000830184613a7b565b92915050565b600067ffffffffffffffff821115613ac057613abf613369565b5b602082029050919050565b6000613ade613ad984613aa5565b6133c9565b90508060208402830185811115613af857613af7613410565b5b835b81811015613b215780613b0d888261333e565b845260208401935050602081019050613afa565b5050509392505050565b600082601f830112613b4057613b3f613353565b5b6002613b4d848285613acb565b91505092915050565b6000806000806000806000806101e0898b031215613b7757613b76613141565b5b600089013567ffffffffffffffff811115613b9557613b94613146565b5b613ba18b828c0161347e565b985050602089013567ffffffffffffffff811115613bc257613bc1613146565b5b613bce8b828c0161347e565b9750506040613bdf8b828c0161333e565b9650506060613bf08b828c01613b2b565b95505060a089013567ffffffffffffffff811115613c1157613c10613146565b5b613c1d8b828c0161347e565b94505060c0613c2e8b828c0161328f565b9350506101c089013567ffffffffffffffff811115613c5057613c4f613146565b5b613c5c8b828c0161367a565b92509250509295985092959890939650565b600060208284031215613c8457613c83613141565b5b6000613c92848285016132c6565b91505092915050565b60008060006101408486031215613cb557613cb4613141565b5b6000613cc38682870161333e565b9350506020613cd48682870161333e565b9250506040613ce58682870161328f565b9150509250925092565b7f50726f6f6620616c7265616479206c6f636b656420627920616e6f746865722060008201527f7061727479000000000000000000000000000000000000000000000000000000602082015250565b6000613d4b602583613838565b9150613d5682613cef565b604082019050919050565b60006020820190508181036000830152613d7a81613d3e565b9050919050565b613d8a8161331d565b82525050565b6000602082019050613da56000830184613d81565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b82818337505050565b613def60408383613dda565b5050565b600060029050919050565b600081905092915050565b6000819050919050565b613e1f60408383613dda565b5050565b6000613e2f8383613e13565b60408301905092915050565b600082905092915050565b6000604082019050919050565b613e5c81613df3565b613e668184613dfe565b9250613e7182613e09565b8060005b83811015613eaa57613e878284613e3b565b613e918782613e23565b9650613e9c83613e46565b925050600181019050613e75565b505050505050565b6000600c9050919050565b600081905092915050565b6000819050919050565b613edb8161331d565b82525050565b6000613eed8383613ed2565b60208301905092915050565b6000602082019050919050565b613f0f81613eb2565b613f198184613ebd565b9250613f2482613ec8565b8060005b83811015613f55578151613f3c8782613ee1565b9650613f4783613ef9565b925050600181019050613f28565b505050505050565b600061028082019050613f736000830187613de3565b613f806040830186613e53565b613f8d60c0830185613de3565b613f9b610100830184613f06565b95945050505050565b613fad81613a6f565b8114613fb857600080fd5b50565b600081519050613fca81613fa4565b92915050565b600060208284031215613fe657613fe5613141565b5b6000613ff484828501613fbb565b91505092915050565b7f496e76616c69642070726f6f6600000000000000000000000000000000000000600082015250565b6000614033600d83613838565b915061403e82613ffd565b602082019050919050565b6000602082019050818103600083015261406281614026565b9050919050565b600060049050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b61409f81614069565b6140a98184614074565b92506140b48261407f565b8060005b838110156140e55781516140cc8782613ee1565b96506140d783614089565b9250506001810190506140b8565b505050505050565b6000610180820190506141036000830187613de3565b6141106040830186613e53565b61411d60c0830185613de3565b61412b610100830184614096565b95945050505050565b6000604082019050614149600083018561374c565b6141566020830184613d81565b9392505050565b7f4661696c656420746f207472616e7366657220455243323020746f6b656e7300600082015250565b6000614193601f83613838565b915061419e8261415d565b602082019050919050565b600060208201905081810360008301526141c281614186565b9050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000819050919050565b600061420c614207614202846141c9565b6141e7565b6141d3565b9050919050565b61421c816141f1565b82525050565b60006020820190506142376000830184614213565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f496e76616c6964207472616e73616374696f6e2070726f706f73616c00000000600082015250565b60006142a2601c83613838565b91506142ad8261426c565b602082019050919050565b600060208201905081810360008301526142d181614295565b9050919050565b6000603f9050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b61430e816142d8565b61431881846142e3565b9250614323826142ee565b8060005b8381101561435457815161433b8782613ee1565b9650614346836142f8565b925050600181019050614327565b505050505050565b60006108e0820190506143726000830187613de3565b61437f6040830186613e53565b61438c60c0830185613de3565b61439a610100830184614305565b95945050505050565b6000600f9050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b6143d9816143a3565b6143e381846143ae565b92506143ee826143b9565b8060005b8381101561441f5781516144068782613ee1565b9650614411836143c3565b9250506001810190506143f2565b505050505050565b60006102e08201905061443d6000830187613de3565b61444a6040830186613e53565b61445760c0830185613de3565b6144656101008301846143d0565b95945050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000602082019050919050565b60006144b28261446e565b6144bc8185614479565b93506144c78361448a565b8060005b838110156144f85781516144df8882613ee1565b97506144ea8361449a565b9250506001810190506144cb565b5085935050505092915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b61453b81614505565b6145458184614510565b92506145508261451b565b8060005b838110156145815781516145688782613ee1565b965061457383614525565b925050600181019050614554565b505050505050565b600082825260208201905092915050565b60006145a68385614589565b93506145b3838584613566565b6145bc83613358565b840190509392505050565b600060e08201905081810360008301526145e1818a6144a7565b905081810360208301526145f581896144a7565b90506146046040830188613d81565b6146116060830187614532565b81810360a083015261462381866144a7565b905081810360c083015261463881848661459a565b905098975050505050505050565b60006101408201905061465c6000830187613de3565b6146696040830186613e53565b61467660c0830185613de3565b614684610100830184614532565b95945050505050565b60006060820190506146a2600083018661374c565b6146af602083018561374c565b6146bc6040830184613d81565b949350505050565b600060089050919050565b600081905092915050565b6000819050919050565b6146ed8161331d565b82525050565b60006146ff83836146e4565b60208301905092915050565b6000602082019050919050565b614721816146c4565b61472b81846146cf565b9250614736826146da565b8060005b8381101561476757815161474e87826146f3565b96506147598361470b565b92505060018101905061473a565b505050505050565b600061477b8284614718565b6101008201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006147c58261331d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036147f7576147f661478b565b5b600182019050919050565b61480b81613641565b811461481657600080fd5b50565b60008151905061482881614802565b92915050565b60006020828403121561484457614843613141565b5b600061485284828501614819565b91505092915050565b60006148668261331d565b91506148718361331d565b92508282039050818111156148895761488861478b565b5b92915050565b7f4c6f636b65642070726f6f662063616e206f6e6c79206265207375626d69747460008201527f656420627920746865206c6f636b657220616464726573730000000000000000602082015250565b60006148eb603883613838565b91506148f68261488f565b604082019050919050565b6000602082019050818103600083015261491a816148de565b9050919050565b6000604082019050818103600083015261493b81866144a7565b9050818103602083015261495081848661459a565b9050949350505050565b600081519050919050565b600081905092915050565b600061497b8261495a565b6149858185614965565b9350614995818560208601613849565b80840191505092915050565b60006149ad8284614970565b91508190509291505056fea26469706673582212200c95893e0fffa35f9182616d575ffab8e9b15dcc05cd34a7c68e68b1c41400a964736f6c634300081b0033 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-impl-anon-nullifier +spec: + abiJSON: |- + [ + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "IdentityNotRegistered", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadyOwned", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXOAlreadySpent", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "UTXOArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXODuplicate", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + } + ], + "name": "UTXONotMinted", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "root", + "type": "uint256" + } + ], + "name": "UTXORootNotFound", + "outputs": null, + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxAllowed", + "type": "uint256" + } + ], + "name": "WithdrawArrayTooLarge", + "outputs": null, + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOMint", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "UTXOTransfer", + "outputs": null, + "type": "event" + }, + { + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "outputs": null, + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + } + ], + "name": "__ZetoFungible_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "nullifiers", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "root", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "_withdrawWithNullifiers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utxo", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRoot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_AnonNullifier", + "name": "_verifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckHashesValue", + "name": "_depositVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckNullifierValue", + "name": "_withdrawVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_AnonNullifierBatch", + "name": "_batchVerifier", + "type": "address" + }, + { + "internalType": "contract Groth16Verifier_CheckNullifierValueBatch", + "name": "_batchWithdrawVerifier", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "lockProof", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "utxos", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_erc20", + "type": "address" + } + ], + "name": "setERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "nullifiers", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "outputs", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "root", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "nullifiers", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "root", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256[2]", + "name": "pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "pC", + "type": "uint256[2]" + } + ], + "internalType": "struct Commonlib.Proof", + "name": "proof", + "type": "tuple" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + bytecode: 0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015604257600080fd5b50608051614a1261006c60003960008181611fc40152818161201901526121d40152614a126000f3fe60806040526004361061010e5760003560e01c80638da5cb5b116100a5578063ad3cb1cc11610074578063cc2a9a5b11610059578063cc2a9a5b1461034e578063f2fde38b14610377578063f756356a146103a05761010e565b8063ad3cb1cc146102fa578063c29a6fda146103255761010e565b80638da5cb5b146102545780639b2e8b521461027f5780639e2a7194146102a85780639fcc50af146102d15761010e565b80635ca1e165116100e15780635ca1e165146101c0578063715018a6146101eb57806373295241146102025780638bb2513b1461022b5761010e565b806312c0fed21461011357806322414cf31461013c5780634f1ef2861461017957806352d1902d14610195575b600080fd5b34801561011f57600080fd5b5061013a60048036038101906101359190613265565b6103c9565b005b34801561014857600080fd5b50610163600480360381019061015e9190613491565b610535565b6040516101709190613580565b60405180910390f35b610193600480360381019061018e9190613650565b6109f3565b005b3480156101a157600080fd5b506101aa610a12565b6040516101b791906136c5565b60405180910390f35b3480156101cc57600080fd5b506101d5610a45565b6040516101e291906136ef565b60405180910390f35b3480156101f757600080fd5b50610200610ac7565b005b34801561020e57600080fd5b506102296004803603810190610224919061370a565b610adb565b005b34801561023757600080fd5b50610252600480360381019061024d91906137a2565b610b89565b005b34801561026057600080fd5b50610269610ba1565b604051610276919061382d565b60405180910390f35b34801561028b57600080fd5b506102a660048036038101906102a19190613848565b610bd9565b005b3480156102b457600080fd5b506102cf60048036038101906102ca919061370a565b610c66565b005b3480156102dd57600080fd5b506102f860048036038101906102f39190613910565b611052565b005b34801561030657600080fd5b5061030f61109e565b60405161031c91906139bc565b60405180910390f35b34801561033157600080fd5b5061034c60048036038101906103479190613a1c565b6110d7565b005b34801561035a57600080fd5b5061037560048036038101906103709190613b41565b611123565b005b34801561038357600080fd5b5061039e60048036038101906103999190613bce565b611344565b005b3480156103ac57600080fd5b506103c760048036038101906103c29190613bfb565b6113ca565b005b60006103d4836115df565b9050600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806104a057503373ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6104df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d690613cc1565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006105438787600a611781565b809750819850505061055687878761182f565b610595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058c90613d2d565b60405180910390fd5b6002875111806105a6575060028651115b156107065760006105ba888888601f611ca9565b90506105c4613144565b60005b601f811015610614578281815181106105e3576105e2613d4d565b5b60200260200101518282601f81106105fe576105fd613d4d565b5b60200201818152505080806001019150506105c7565b50603960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166344a173dd87600001886040018960c001856040518563ffffffff1660e01b815260040161067f9493929190613eff565b602060405180830381865afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c09190613f72565b6106ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f690613feb565b60405180910390fd5b505061085d565b60006107158888886007611ca9565b905061071f613167565b60005b600781101561076f5782818151811061073e5761073d613d4d565b5b602002602001015182826007811061075957610758613d4d565b5b6020020181815250508080600101915050610722565b50603860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c894e75787600001886040018960c001856040518563ffffffff1660e01b81526004016107da949392919061408f565b602060405180830381865afa1580156107f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081b9190613f72565b61085a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085190613feb565b60405180910390fd5b50505b6108678787611e60565b6000875167ffffffffffffffff811115610884576108836132bd565b5b6040519080825280602002602001820160405280156108b25781602001602082028036833780820191505090505b5090506000875167ffffffffffffffff8111156108d2576108d16132bd565b5b6040519080825280602002602001820160405280156109005781602001602082028036833780820191505090505b50905060005b895181101561098e5789818151811061092257610921613d4d565b5b602002602001015183828151811061093d5761093c613d4d565b5b60200260200101818152505088818151811061095c5761095b613d4d565b5b602002602001015182828151811061097757610976613d4d565b5b602002602001018181525050806001019050610906565b503373ffffffffffffffffffffffffffffffffffffffff167fcb56a7130431b68e0e636f24584d40580490c1bf882bef3701f317d47ba98c38838388886040516109db94939291906141ab565b60405180910390a26001925050509695505050505050565b6109fb611fc2565b610a04826120a8565b610a0e82826120b3565b5050565b6000610a1c6121d2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b6000600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__6379f9712590916040518263ffffffff1660e01b8152600401610a819190614200565b602060405180830381865af4158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac29190614230565b905090565b610acf612259565b610ad960006122e0565b565b6000845167ffffffffffffffff811115610af857610af76132bd565b5b604051908082528060200260200182016040528015610b265781602001602082028036833780820191505090505b5090508381600081518110610b3e57610b3d613d4d565b5b602002602001018181525050610b568582600a611781565b8092508196505050610b6985828561182f565b50610b778686868686610c66565b610b818582611e60565b505050505050565b610b91612259565b610b9c8383836123b7565b505050565b600080610bac6125c0565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b610be48585856113ca565b6000600167ffffffffffffffff811115610c0157610c006132bd565b5b604051908082528060200260200182016040528015610c2f5781602001602082028036833780820191505090505b5090508481600081518110610c4757610c46613d4d565b5b602002602001018181525050610c5e8184846123b7565b505050505050565b600284511115610e1457601784511115610cb85760176040517f71798fb5000000000000000000000000000000000000000000000000000000008152600401610caf91906136ef565b60405180910390fd5b6000610cc88686868660176125e8565b9050610cd2613189565b60005b6017811015610d2257828181518110610cf157610cf0613d4d565b5b6020026020010151828260178110610d0c57610d0b613d4d565b5b6020020181815250508080600101915050610cd5565b50603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a0c2a19a84600001856040018660c001856040518563ffffffff1660e01b8152600401610d8d94939291906142e1565b602060405180830381865afa158015610daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dce9190613f72565b610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0490613feb565b60405180910390fd5b5050610f6c565b6000610e248686868660076125e8565b9050610e2e613167565b60005b6007811015610e7e57828181518110610e4d57610e4c613d4d565b5b6020026020010151828260078110610e6857610e67613d4d565b5b6020020181815250508080600101915050610e31565b50603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c894e75784600001856040018660c001856040518563ffffffff1660e01b8152600401610ee9949392919061408f565b602060405180830381865afa158015610f06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2a9190613f72565b610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6090613feb565b60405180910390fd5b50505b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33876040518363ffffffff1660e01b8152600401610fc9929190614328565b6020604051808303816000875af1158015610fe8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100c9190613f72565b61104b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110429061439d565b60405180910390fd5b5050505050565b61105a612799565b80603460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6110df612259565b80603560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061112d6127d9565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff1614801561117b5750825b9050600060018367ffffffffffffffff161480156111b0575060003073ffffffffffffffffffffffffffffffffffffffff163b145b9050811580156111be575080155b156111f5576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083156112455760018560000160086101000a81548160ff0219169083151502179055505b61124e8b612801565b611259898988612881565b89603860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086603960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083156113375760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2600160405161132e9190614416565b60405180910390a15b5050505050505050505050565b61134c612259565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113be5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016113b5919061382d565b60405180910390fd5b6113c7816122e0565b50565b6113d26131ac565b83816000600281106113e7576113e6613d4d565b5b602002018181525050828160016002811061140557611404613d4d565b5b602002018181525050603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f5c9d69e83600001846040018560c001856040518563ffffffff1660e01b815260040161147894939291906144b5565b602060405180830381865afa158015611495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b99190613f72565b6114f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ef90613feb565b60405180910390fd5b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b8152600401611557939291906144fc565b6020604051808303816000875af1158015611576573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159a9190613f72565b6115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d09061439d565b60405180910390fd5b50505050565b6000806040518061010001604052808460000160006002811061160557611604613d4d565b5b602002013581526020018460000160016002811061162657611625613d4d565b5b602002013581526020018460400160006002811061164757611646613d4d565b5b6040020160006002811061165e5761165d613d4d565b5b602002013581526020018460400160006002811061167f5761167e613d4d565b5b6040020160016002811061169657611695613d4d565b5b60200201358152602001846040016001600281106116b7576116b6613d4d565b5b604002016000600281106116ce576116cd613d4d565b5b60200201358152602001846040016001600281106116ef576116ee613d4d565b5b6040020160016002811061170657611705613d4d565b5b602002013581526020018460c00160006002811061172757611726613d4d565b5b602002013581526020018460c00160016002811061174857611747613d4d565b5b602002013581525090508060405160200161176391906145de565b60405160208183030381529060405280519060200120915050919050565b6060806000855190506000855190508482118061179d57508481115b156117df57846040517f9ebbc98e0000000000000000000000000000000000000000000000000000000081526004016117d691906136ef565b60405180910390fd5b600060028311806117f05750600282115b156117fd57859050611802565b600290505b61180e88826000612919565b975061181c87826000612919565b9650878794509450505050935093915050565b600080600061183e8686612a15565b9150915060005b82518110156119c557600083828151811061186357611862613d4d565b5b602002602001015103156119ba576000811180156118c057508260018261188a9190614629565b8151811061189b5761189a613d4d565b5b60200260200101518382815181106118b6576118b5613d4d565b5b6020026020010151145b1561191c578281815181106118d8576118d7613d4d565b5b60200260200101516040517fdd57483100000000000000000000000000000000000000000000000000000000815260040161191391906136ef565b60405180910390fd5b600115156033600085848151811061193757611936613d4d565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff161515036119b95782818151811061197557611974613d4d565b5b60200260200101516040517f41a06d280000000000000000000000000000000000000000000000000000000081526004016119b091906136ef565b60405180910390fd5b5b806001019050611845565b5060005b8151811015611bdd5760008282815181106119e7576119e6613d4d565b5b60200260200101510315611bd257600081118015611a44575081600182611a0e9190614629565b81518110611a1f57611a1e613d4d565b5b6020026020010151828281518110611a3a57611a39613d4d565b5b6020026020010151145b15611aa057818181518110611a5c57611a5b613d4d565b5b60200260200101516040517fdd574831000000000000000000000000000000000000000000000000000000008152600401611a9791906136ef565b60405180910390fd5b6000611ac5838381518110611ab857611ab7613d4d565b5b6020026020010151612b7d565b90506000600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__63e170cf6e9091846040518363ffffffff1660e01b8152600401611b0592919061466c565b60a060405180830381865af4158015611b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b46919061474b565b905060006002811115611b5c57611b5b614778565b5b81600001516002811115611b7357611b72614778565b5b14611bcf57838381518110611b8b57611b8a613d4d565b5b60200260200101516040517f79e1da47000000000000000000000000000000000000000000000000000000008152600401611bc691906136ef565b60405180910390fd5b50505b8060010190506119c9565b50600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__6392f5b06c9091866040518363ffffffff1660e01b8152600401611c1a92919061466c565b602060405180830381865af4158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190613f72565b611c9c57836040517f4acd7ab8000000000000000000000000000000000000000000000000000000008152600401611c9391906136ef565b60405180910390fd5b6001925050509392505050565b60608167ffffffffffffffff811115611cc557611cc46132bd565b5b604051908082528060200260200182016040528015611cf35781602001602082028036833780820191505090505b5090506000805b8651811015611d5657868181518110611d1657611d15613d4d565b5b6020026020010151838380611d2a906147a7565b945081518110611d3d57611d3c613d4d565b5b6020026020010181815250508080600101915050611cfa565b5083828280611d64906147a7565b935081518110611d7757611d76613d4d565b5b60200260200101818152505060005b8651811015611df6576000878281518110611da457611da3613d4d565b5b602002602001015114611db8576001611dbb565b60005b60ff16838380611dca906147a7565b945081518110611ddd57611ddc613d4d565b5b6020026020010181815250508080600101915050611d86565b5060005b8551811015611e5657858181518110611e1657611e15613d4d565b5b6020026020010151838380611e2a906147a7565b945081518110611e3d57611e3c613d4d565b5b6020026020010181815250508080600101915050611dfa565b5050949350505050565b60005b8251811015611ee0576000838281518110611e8157611e80613d4d565b5b602002602001015114611ed557600160336000858481518110611ea757611ea6613d4d565b5b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055505b806001019050611e63565b5060005b8151811015611fbd576000828281518110611f0257611f01613d4d565b5b602002602001015114611fb257600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__63c1d29f019091848481518110611f4057611f3f613d4d565b5b6020026020010151858581518110611f5b57611f5a613d4d565b5b60200260200101516040518463ffffffff1660e01b8152600401611f81939291906147ef565b60006040518083038186803b158015611f9957600080fd5b505af4158015611fad573d6000803e3d6000fd5b505050505b806001019050611ee4565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148061206f57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16612056612c1e565b73ffffffffffffffffffffffffffffffffffffffff1614155b156120a6576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6120b0612259565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561211b57506040513d601f19601f820116820180604052508101906121189190614852565b60015b61215c57816040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401612153919061382d565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b81146121c357806040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004016121ba91906136c5565b60405180910390fd5b6121cd8383612c75565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614612257576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612261612ce8565b73ffffffffffffffffffffffffffffffffffffffff1661227f610ba1565b73ffffffffffffffffffffffffffffffffffffffff16146122de576122a2612ce8565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016122d5919061382d565b60405180910390fd5b565b60006122ea6125c0565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b83518110156125685760008482815181106123d8576123d7613d4d565b5b60200260200101519050600081036123f0575061255d565b60006123fb82612b7d565b90506000600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__63e170cf6e9091846040518363ffffffff1660e01b815260040161243b92919061466c565b60a060405180830381865af4158015612458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061247c919061474b565b90506000600281111561249257612491614778565b5b816000015160028111156124a9576124a8614778565b5b146124eb57826040517f79e1da470000000000000000000000000000000000000000000000000000000081526004016124e291906136ef565b60405180910390fd5b600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__63c1d29f01909185866040518463ffffffff1660e01b8152600401612529939291906147ef565b60006040518083038186803b15801561254157600080fd5b505af4158015612555573d6000803e3d6000fd5b505050505050505b8060010190506123ba565b503373ffffffffffffffffffffffffffffffffffffffff167f7ff08e0ca1fce6b202b83128811e4f6ceda54930aa074cd365bf68f95c20ce198484846040516125b39392919061487f565b60405180910390a2505050565b60007f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b60608167ffffffffffffffff811115612604576126036132bd565b5b6040519080825280602002602001820160405280156126325781602001602082028036833780820191505090505b509050600086828280612644906147a7565b93508151811061265757612656613d4d565b5b60200260200101818152505060005b86518110156126c25786818151811061268257612681613d4d565b5b6020026020010151838380612696906147a7565b9450815181106126a9576126a8613d4d565b5b6020026020010181815250508080600101915050612666565b50838282806126d0906147a7565b9350815181106126e3576126e2613d4d565b5b60200260200101818152505060005b86518110156127625760008782815181106127105761270f613d4d565b5b602002602001015114612724576001612727565b60005b60ff16838380612736906147a7565b94508151811061274957612748613d4d565b5b60200260200101818152505080806001019150506126f2565b5084828280612770906147a7565b93508151811061278357612782613d4d565b5b6020026020010181815250505095945050505050565b6127a1612cf0565b6127d7576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b612809612799565b61281281612d10565b600173__$dc6c4dd02ac6da041aea5ed0aea43c2a22$__639e43b8139091604080518363ffffffff1660e01b815260040161284e92919061466c565b60006040518083038186803b15801561286657600080fd5b505af415801561287a573d6000803e3d6000fd5b5050505050565b612889612799565b61289283611052565b81603660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080603760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60608284510361292b57839050612a0e565b60008367ffffffffffffffff811115612947576129466132bd565b5b6040519080825280602002602001820160405280156129755781602001602082028036833780820191505090505b50905060005b85518110156129cb5785818151811061299757612996613d4d565b5b60200260200101518282815181106129b2576129b1613d4d565b5b602002602001018181525050808060010191505061297b565b506000855190505b84811015612a0857838282815181106129ef576129ee613d4d565b5b60200260200101818152505080806001019150506129d3565b50809150505b9392505050565b6060806000845167ffffffffffffffff811115612a3557612a346132bd565b5b604051908082528060200260200182016040528015612a635781602001602082028036833780820191505090505b5090506000845167ffffffffffffffff811115612a8357612a826132bd565b5b604051908082528060200260200182016040528015612ab15781602001602082028036833780820191505090505b50905060005b8651811015612b0557868181518110612ad357612ad2613d4d565b5b6020026020010151838281518110612aee57612aed613d4d565b5b602002602001018181525050806001019050612ab7565b5060005b8551811015612b5757858181518110612b2557612b24613d4d565b5b6020026020010151828281518110612b4057612b3f613d4d565b5b602002602001018181525050806001019050612b09565b50612b6182612d24565b9150612b6c81612d24565b905081819350935050509250929050565b60008060405180606001604052808481526020018481526020016001815250905073__$03320550cd1b629da90608251571b2532e$__6325cc70e8826040518263ffffffff1660e01b8152600401612bd59190614963565b602060405180830381865af4158015612bf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c169190614230565b915050919050565b6000612c4c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612d3b565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612c7e82612d45565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a2600081511115612cdb57612cd58282612e12565b50612ce4565b612ce3612e96565b5b5050565b600033905090565b6000612cfa6127d9565b60000160089054906101000a900460ff16905090565b612d18612799565b612d2181612ed3565b50565b6060612d3282612ee7612ef4565b50819050919050565b6000819050919050565b60008173ffffffffffffffffffffffffffffffffffffffff163b03612da157806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401612d98919061382d565b60405180910390fd5b80612dce7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612d3b565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051612e3c91906149c5565b600060405180830381855af49150503d8060008114612e77576040519150601f19603f3d011682016040523d82523d6000602084013e612e7c565b606091505b5091509150612e8c858383612f1a565b9250505092915050565b6000341115612ed1576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612edb612799565b612ee481612fa9565b50565b6000818310905092915050565b6060612f11612f028461302f565b612f0b8561303c565b84613054565b82905092915050565b606082612f2f57612f2a826130e4565b612fa1565b60008251148015612f57575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15612f9957836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401612f90919061382d565b60405180910390fd5b819050612fa2565b5b9392505050565b612fb1612799565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036130235760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161301a919061382d565b60405180910390fd5b61302c816122e0565b50565b6000602082019050919050565b6000602082510261304c8361302f565b019050919050565b6040838303106130df57600061306984613129565b9050600084905060006020860190505b848110156130b85761309761308d82613129565b848663ffffffff16565b156130ad576020820191506130ac8282613134565b5b602081019050613079565b506130c38582613134565b6130ce858285613054565b6130dc602082018585613054565b50505b505050565b6000815111156130f75780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081519050919050565b8151815180845281835250505050565b604051806103e00160405280601f90602082028036833780820191505090505090565b6040518060e00160405280600790602082028036833780820191505090505090565b604051806102e00160405280601790602082028036833780820191505090505090565b6040518060400160405280600290602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600061010082840312156131fe576131fd6131e2565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061323282613207565b9050919050565b61324281613227565b811461324d57600080fd5b50565b60008135905061325f81613239565b92915050565b600080610120838503121561327d5761327c6131d8565b5b600061328b858286016131e7565b92505061010061329d85828601613250565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6132f5826132ac565b810181811067ffffffffffffffff82111715613314576133136132bd565b5b80604052505050565b60006133276131ce565b905061333382826132ec565b919050565b600067ffffffffffffffff821115613353576133526132bd565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b61337c81613369565b811461338757600080fd5b50565b60008135905061339981613373565b92915050565b60006133b26133ad84613338565b61331d565b905080838252602082019050602084028301858111156133d5576133d4613364565b5b835b818110156133fe57806133ea888261338a565b8452602084019350506020810190506133d7565b5050509392505050565b600082601f83011261341d5761341c6132a7565b5b813561342d84826020860161339f565b91505092915050565b600080fd5b60008083601f840112613451576134506132a7565b5b8235905067ffffffffffffffff81111561346e5761346d613436565b5b60208301915083600182028301111561348a57613489613364565b5b9250929050565b60008060008060008061018087890312156134af576134ae6131d8565b5b600087013567ffffffffffffffff8111156134cd576134cc6131dd565b5b6134d989828a01613408565b965050602087013567ffffffffffffffff8111156134fa576134f96131dd565b5b61350689828a01613408565b955050604061351789828a0161338a565b945050606061352889828a016131e7565b93505061016087013567ffffffffffffffff81111561354a576135496131dd565b5b61355689828a0161343b565b92509250509295509295509295565b60008115159050919050565b61357a81613565565b82525050565b60006020820190506135956000830184613571565b92915050565b600080fd5b600067ffffffffffffffff8211156135bb576135ba6132bd565b5b6135c4826132ac565b9050602081019050919050565b82818337600083830152505050565b60006135f36135ee846135a0565b61331d565b90508281526020810184848401111561360f5761360e61359b565b5b61361a8482856135d1565b509392505050565b600082601f830112613637576136366132a7565b5b81356136478482602086016135e0565b91505092915050565b60008060408385031215613667576136666131d8565b5b600061367585828601613250565b925050602083013567ffffffffffffffff811115613696576136956131dd565b5b6136a285828601613622565b9150509250929050565b6000819050919050565b6136bf816136ac565b82525050565b60006020820190506136da60008301846136b6565b92915050565b6136e981613369565b82525050565b600060208201905061370460008301846136e0565b92915050565b60008060008060006101808688031215613727576137266131d8565b5b60006137358882890161338a565b955050602086013567ffffffffffffffff811115613756576137556131dd565b5b61376288828901613408565b94505060406137738882890161338a565b93505060606137848882890161338a565b9250506080613795888289016131e7565b9150509295509295909350565b6000806000604084860312156137bb576137ba6131d8565b5b600084013567ffffffffffffffff8111156137d9576137d86131dd565b5b6137e586828701613408565b935050602084013567ffffffffffffffff811115613806576138056131dd565b5b6138128682870161343b565b92509250509250925092565b61382781613227565b82525050565b6000602082019050613842600083018461381e565b92915050565b60008060008060006101608688031215613865576138646131d8565b5b60006138738882890161338a565b95505060206138848882890161338a565b9450506040613895888289016131e7565b93505061014086013567ffffffffffffffff8111156138b7576138b66131dd565b5b6138c38882890161343b565b92509250509295509295909350565b60006138dd82613227565b9050919050565b6138ed816138d2565b81146138f857600080fd5b50565b60008135905061390a816138e4565b92915050565b600060208284031215613926576139256131d8565b5b6000613934848285016138fb565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561397757808201518184015260208101905061395c565b60008484015250505050565b600061398e8261393d565b6139988185613948565b93506139a8818560208601613959565b6139b1816132ac565b840191505092915050565b600060208201905081810360008301526139d68184613983565b905092915050565b60006139e982613227565b9050919050565b6139f9816139de565b8114613a0457600080fd5b50565b600081359050613a16816139f0565b92915050565b600060208284031215613a3257613a316131d8565b5b6000613a4084828501613a07565b91505092915050565b6000613a5482613227565b9050919050565b613a6481613a49565b8114613a6f57600080fd5b50565b600081359050613a8181613a5b565b92915050565b6000613a9282613227565b9050919050565b613aa281613a87565b8114613aad57600080fd5b50565b600081359050613abf81613a99565b92915050565b6000613ad082613227565b9050919050565b613ae081613ac5565b8114613aeb57600080fd5b50565b600081359050613afd81613ad7565b92915050565b6000613b0e82613227565b9050919050565b613b1e81613b03565b8114613b2957600080fd5b50565b600081359050613b3b81613b15565b92915050565b60008060008060008060c08789031215613b5e57613b5d6131d8565b5b6000613b6c89828a01613250565b9650506020613b7d89828a01613a72565b9550506040613b8e89828a016138fb565b9450506060613b9f89828a01613ab0565b9350506080613bb089828a01613aee565b92505060a0613bc189828a01613b2c565b9150509295509295509295565b600060208284031215613be457613be36131d8565b5b6000613bf284828501613250565b91505092915050565b60008060006101408486031215613c1557613c146131d8565b5b6000613c238682870161338a565b9350506020613c348682870161338a565b9250506040613c45868287016131e7565b9150509250925092565b7f50726f6f6620616c7265616479206c6f636b656420627920616e6f746865722060008201527f7061727479000000000000000000000000000000000000000000000000000000602082015250565b6000613cab602583613948565b9150613cb682613c4f565b604082019050919050565b60006020820190508181036000830152613cda81613c9e565b9050919050565b7f496e76616c6964207472616e73616374696f6e2070726f706f73616c00000000600082015250565b6000613d17601c83613948565b9150613d2282613ce1565b602082019050919050565b60006020820190508181036000830152613d4681613d0a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b82818337505050565b613d9160408383613d7c565b5050565b600060029050919050565b600081905092915050565b6000819050919050565b613dc160408383613d7c565b5050565b6000613dd18383613db5565b60408301905092915050565b600082905092915050565b6000604082019050919050565b613dfe81613d95565b613e088184613da0565b9250613e1382613dab565b8060005b83811015613e4c57613e298284613ddd565b613e338782613dc5565b9650613e3e83613de8565b925050600181019050613e17565b505050505050565b6000601f9050919050565b600081905092915050565b6000819050919050565b613e7d81613369565b82525050565b6000613e8f8383613e74565b60208301905092915050565b6000602082019050919050565b613eb181613e54565b613ebb8184613e5f565b9250613ec682613e6a565b8060005b83811015613ef7578151613ede8782613e83565b9650613ee983613e9b565b925050600181019050613eca565b505050505050565b60006104e082019050613f156000830187613d85565b613f226040830186613df5565b613f2f60c0830185613d85565b613f3d610100830184613ea8565b95945050505050565b613f4f81613565565b8114613f5a57600080fd5b50565b600081519050613f6c81613f46565b92915050565b600060208284031215613f8857613f876131d8565b5b6000613f9684828501613f5d565b91505092915050565b7f496e76616c69642070726f6f6600000000000000000000000000000000000000600082015250565b6000613fd5600d83613948565b9150613fe082613f9f565b602082019050919050565b6000602082019050818103600083015261400481613fc8565b9050919050565b600060079050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b6140418161400b565b61404b8184614016565b925061405682614021565b8060005b8381101561408757815161406e8782613e83565b96506140798361402b565b92505060018101905061405a565b505050505050565b60006101e0820190506140a56000830187613d85565b6140b26040830186613df5565b6140bf60c0830185613d85565b6140cd610100830184614038565b95945050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000602082019050919050565b600061411a826140d6565b61412481856140e1565b935061412f836140f2565b8060005b838110156141605781516141478882613e83565b975061415283614102565b925050600181019050614133565b5085935050505092915050565b600082825260208201905092915050565b600061418a838561416d565b93506141978385846135d1565b6141a0836132ac565b840190509392505050565b600060608201905081810360008301526141c5818761410f565b905081810360208301526141d9818661410f565b905081810360408301526141ee81848661417e565b905095945050505050565b8082525050565b600060208201905061421560008301846141f9565b92915050565b60008151905061422a81613373565b92915050565b600060208284031215614246576142456131d8565b5b60006142548482850161421b565b91505092915050565b600060179050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b6142938161425d565b61429d8184614268565b92506142a882614273565b8060005b838110156142d95781516142c08782613e83565b96506142cb8361427d565b9250506001810190506142ac565b505050505050565b60006103e0820190506142f76000830187613d85565b6143046040830186613df5565b61431160c0830185613d85565b61431f61010083018461428a565b95945050505050565b600060408201905061433d600083018561381e565b61434a60208301846136e0565b9392505050565b7f4661696c656420746f207472616e7366657220455243323020746f6b656e7300600082015250565b6000614387601f83613948565b915061439282614351565b602082019050919050565b600060208201905081810360008301526143b68161437a565b9050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000819050919050565b60006144006143fb6143f6846143bd565b6143db565b6143c7565b9050919050565b614410816143e5565b82525050565b600060208201905061442b6000830184614407565b92915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b61446781614431565b614471818461443c565b925061447c82614447565b8060005b838110156144ad5781516144948782613e83565b965061449f83614451565b925050600181019050614480565b505050505050565b6000610140820190506144cb6000830187613d85565b6144d86040830186613df5565b6144e560c0830185613d85565b6144f361010083018461445e565b95945050505050565b6000606082019050614511600083018661381e565b61451e602083018561381e565b61452b60408301846136e0565b949350505050565b600060089050919050565b600081905092915050565b6000819050919050565b61455c81613369565b82525050565b600061456e8383614553565b60208301905092915050565b6000602082019050919050565b61459081614533565b61459a818461453e565b92506145a582614549565b8060005b838110156145d65781516145bd8782614562565b96506145c88361457a565b9250506001810190506145a9565b505050505050565b60006145ea8284614587565b6101008201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061463482613369565b915061463f83613369565b9250828203905081811115614657576146566145fa565b5b92915050565b61466681613369565b82525050565b600060408201905061468160008301856141f9565b61468e602083018461465d565b9392505050565b600080fd5b600381106146a757600080fd5b50565b6000815190506146b98161469a565b92915050565b600060a082840312156146d5576146d4614695565b5b6146df60a061331d565b905060006146ef848285016146aa565b60008301525060206147038482850161421b565b60208301525060406147178482850161421b565b604083015250606061472b8482850161421b565b606083015250608061473f8482850161421b565b60808301525092915050565b600060a08284031215614761576147606131d8565b5b600061476f848285016146bf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006147b282613369565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036147e4576147e36145fa565b5b600182019050919050565b600060608201905061480460008301866141f9565b614811602083018561465d565b61481e604083018461465d565b949350505050565b61482f816136ac565b811461483a57600080fd5b50565b60008151905061484c81614826565b92915050565b600060208284031215614868576148676131d8565b5b60006148768482850161483d565b91505092915050565b60006040820190508181036000830152614899818661410f565b905081810360208301526148ae81848661417e565b9050949350505050565b600060039050919050565b600081905092915050565b6000819050919050565b6148e181613369565b82525050565b60006148f383836148d8565b60208301905092915050565b6000602082019050919050565b614915816148b8565b61491f81846148c3565b925061492a826148ce565b8060005b8381101561495b57815161494287826148e7565b965061494d836148ff565b92505060018101905061492e565b505050505050565b6000606082019050614978600083018461490c565b92915050565b600081519050919050565b600081905092915050565b600061499f8261497e565b6149a98185614989565b93506149b9818560208601613959565b80840191505092915050565b60006149d18284614994565b91508190509291505056fea2646970667358221220b4b2ba8cddbc85df7ba32c78f3e39d75ed70ace0a752198cd7854e0001a2faed64736f6c634300081b0033 + from: zeto.operator + linkReferencesJSON: |- + { + "@iden3/contracts/lib/Poseidon.sol": { + "PoseidonUnit3L": [ + { + "length": 20, + "start": 11276 + } + ] + }, + "@iden3/contracts/lib/SmtLib.sol": { + "SmtLib": [ + { + "length": 20, + "start": 2743 + }, + { + "length": 20, + "start": 6969 + }, + { + "length": 20, + "start": 7246 + }, + { + "length": 20, + "start": 8063 + }, + { + "length": 20, + "start": 9327 + }, + { + "length": 20, + "start": 9563 + }, + { + "length": 20, + "start": 10370 + } + ] + } + } + linkedContracts: + PoseidonUnit3L: '{{index .status.resolvedContractAddresses "zeto-poseidon-unit3l"}}' + SmtLib: '{{index .status.resolvedContractAddresses "zeto-smt-lib"}}' + node: node1 + paramsJSON: '{}' + requiredContractDeployments: + - zeto-poseidon-unit3l + - zeto-smt-lib + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-poseidon-unit2l +spec: + abiJSON: |- + [ + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[2]", + "name": "input", + "type": "bytes32[2]" + } + ], + "name": "poseidon", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256[2]", + "name": "input", + "type": "uint256[2]" + } + ], + "name": "poseidon", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + } + ] + bytecode: 0x38600c60003961260f6000f37c010000000000000000000000000000000000000000000000000000000060003504806329a5f2f6149063299e566014176200003757fe5b7f109b7f411ba0e4c9b2b70caf5c36a7b194be7c11ad24378bfedb68592ba8118b6020527f16ed41e13bb9c0c66ae119424fddbcbc9314dc9fdbdeea55d6c64543dc4903e06040527f2b90bba00fca0589f617e7dcbfe82e0df706ab640ceb247b791a93b74e36736d6060527f2969f27eed31a480b9c36c764379dbca2cc8fdd1415c3dded62940bcde0bd7716080527f2e2419f9ec02ec394c9871c832963dc1b89d743c8c7b964029b2311687b1fe2360a0527f101071f0032379b697315876690f053d148d4e109f5fb065c8aacc55a0f89bfa60c0527f143021ec686a3f330d5f9e654638065ce6cd79e28c5b3753326244ee65a1b1a760e0527f176cc029695ad02582a70eff08a6fd99d057e12e58e7d7b6b16cdfabc8ee2911610100527f19a3fc0a56702bf417ba7fee3802593fa644470307043f7773279cd71d25d5e0610120527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016024356004356000837f0ee9a592ba9a9518d05986d656f40c2114c4993c11bb29938d21d47304cd8e6e82089050837f00f1445235f2148c5986587169fc1bcd887b08d4d00868df5696fff40956e86483089150837f08dff3487e8ac99e1f29a058d0fa80b930c728730b7ab36ce879f3890ecf73f58408925083818180828009800909905083828180828009800909915083838180828009800909925062000249600052620025ba565b837f2f27be690fdaee46c3ce28f7532b13c856c35342c84bda6e20966310fadc01d082089050837f2b2ae1acf68b7b8d2416bebf3d4f6234b763fe04b8043ee48b8327bebca16cf283089150837f0319d062072bef7ecca5eac06f97d4d55952c175ab6b03eae64b44c7dbf11cfa84089250838181808280098009099050838281808280098009099150838381808280098009099250620002ec600052620025ba565b837f28813dcaebaeaa828a376df87af4a63bc8b7bf27ad49c6298ef7b387bf28526d82089050837f2727673b2ccbc903f181bf38e1c1d40d2033865200c352bc150928adddf9cb7883089150837f234ec45ca27727c2e74abd2b2a1494cd6efbd43e340587d6b8fb9e31e65cc632840892508381818082800980090990508382818082800980090991508383818082800980090992506200038f600052620025ba565b837f15b52534031ae18f7f862cb2cf7cf760ab10a8150a337b1ccd99ff6e8797d42882089050837f0dc8fad6d9e4b35f5ed9a3d186b79ce38e0e8a8d1b58b132d701d4eecf68d1f683089150837f1bcd95ffc211fbca600f705fad3fb567ea4eb378f62e1fec97805518a47e4d9c8408925083818180828009800909905083828180828009800909915083838180828009800909925062000432600052620025ba565b837f10520b0ab721cadfe9eff81b016fc34dc76da36c2578937817cb978d069de55982089050837f1f6d48149b8e7f7d9b257d8ed5fbbaf42932498075fed0ace88a9eb81f5627f683089150837f1d9655f652309014d29e00ef35a2089bfff8dc1c816f0dc9ca34bdb5460c870584089250838181808280098009099050620004bd600052620025ba565b837f04df5a56ff95bcafb051f7b1cd43a99ba731ff67e47032058fe3d4185697cc7d82089050837f0672d995f8fff640151b3d290cedaf148690a10a8c8424a7f6ec282b6e4be82883089150837f099952b414884454b21200d7ffafdd5f0c9a9dcc06f2708e9fc1d8209b5c75b98408925083818180828009800909905062000548600052620025ba565b837f052cba2255dfd00c7c483143ba8d469448e43586a9b4cd9183fd0e843a6b9fa682089050837f0b8badee690adb8eb0bd74712b7999af82de55707251ad7716077cb93c464ddc83089150837f119b1590f13307af5a1ee651020c07c749c15d60683a8050b963d0a8e4b2bdd184089250838181808280098009099050620005d3600052620025ba565b837f03150b7cd6d5d17b2529d36be0f67b832c4acfc884ef4ee5ce15be0bfb4a8d0982089050837f2cc6182c5e14546e3cf1951f173912355374efb83d80898abe69cb317c9ea56583089150837f005032551e6378c450cfe129a404b3764218cadedac14e2b92d2cd73111bf0f9840892508381818082800980090990506200065e600052620025ba565b837f233237e3289baa34bb147e972ebcb9516469c399fcc069fb88f9da2cc28276b582089050837f05c8f4f4ebd4a6e3c980d31674bfbe6323037f21b34ae5a4e80c2d4c24d6028083089150837f0a7b1db13042d396ba05d818a319f25252bcf35ef3aeed91ee1f09b2590fc65b84089250838181808280098009099050620006e9600052620025ba565b837f2a73b71f9b210cf5b14296572c9d32dbf156e2b086ff47dc5df542365a404ec082089050837f1ac9b0417abcc9a1935107e9ffc91dc3ec18f2c4dbe7f22976a760bb5c50c46083089150837f12c0339ae08374823fabb076707ef479269f3e4d6cb104349015ee046dc93fc08408925083818180828009800909905062000774600052620025ba565b837f0b7475b102a165ad7f5b18db4e1e704f52900aa3253baac68246682e56e9a28e82089050837f037c2849e191ca3edb1c5e49f6e8b8917c843e379366f2ea32ab3aa88d7f844883089150837f05a6811f8556f014e92674661e217e9bd5206c5c93a07dc145fdb176a716346f84089250838181808280098009099050620007ff600052620025ba565b837f29a795e7d98028946e947b75d54e9f044076e87a7b2883b47b675ef5f38bd66e82089050837f20439a0c84b322eb45a3857afc18f5826e8c7382c8a1585c507be199981fd22f83089150837f2e0ba8d94d9ecf4a94ec2050c7371ff1bb50f27799a84b6d4a2a6f2a0982c887840892508381818082800980090990506200088a600052620025ba565b837f143fd115ce08fb27ca38eb7cce822b4517822cd2109048d2e6d0ddcca17d71c882089050837f0c64cbecb1c734b857968dbbdcf813cdf8611659323dbcbfc84323623be9caf183089150837f028a305847c683f646fca925c163ff5ae74f348d62c2b670f1426cef9403da538408925083818180828009800909905062000915600052620025ba565b837f2e4ef510ff0b6fda5fa940ab4c4380f26a6bcb64d89427b824d6755b5db9e30c82089050837f0081c95bc43384e663d79270c956ce3b8925b4f6d033b078b96384f50579400e83089150837f2ed5f0c91cbd9749187e2fade687e05ee2491b349c039a0bba8a9f4023a0bb3884089250838181808280098009099050620009a0600052620025ba565b837f30509991f88da3504bbf374ed5aae2f03448a22c76234c8c990f01f33a73520682089050837f1c3f20fd55409a53221b7c4d49a356b9f0a1119fb2067b41a7529094424ec6ad83089150837f10b4e7f3ab5df003049514459b6e18eec46bb2213e8e131e170887b47ddcb96c8408925083818180828009800909905062000a2b600052620025ba565b837f2a1982979c3ff7f43ddd543d891c2abddd80f804c077d775039aa3502e43adef82089050837f1c74ee64f15e1db6feddbead56d6d55dba431ebc396c9af95cad0f1315bd5c9183089150837f07533ec850ba7f98eab9303cace01b4b9e4f2e8b82708cfa9c2fe45a0ae146a08408925083818180828009800909905062000ab6600052620025ba565b837f21576b438e500449a151e4eeaf17b154285c68f42d42c1808a11abf3764c075082089050837f2f17c0559b8fe79608ad5ca193d62f10bce8384c815f0906743d6930836d4a9e83089150837f2d477e3862d07708a79e8aae946170bc9775a4201318474ae665b0b1b7e2730e8408925083818180828009800909905062000b41600052620025ba565b837f162f5243967064c390e095577984f291afba2266c38f5abcd89be0f5b2747eab82089050837f2b4cb233ede9ba48264ecd2c8ae50d1ad7a8596a87f29f8a7777a7009239331183089150837f2c8fbcb2dd8573dc1dbaf8f4622854776db2eece6d85c4cf4254e7c35e03b07a8408925083818180828009800909905062000bcc600052620025ba565b837f1d6f347725e4816af2ff453f0cd56b199e1b61e9f601e9ade5e88db870949da982089050837f204b0c397f4ebe71ebc2d8b3df5b913df9e6ac02b68d31324cd49af5c456552983089150837f0c4cb9dc3c4fd8174f1149b3c63c3c2f9ecb827cd7dc25534ff8fb75bc79c5028408925083818180828009800909905062000c57600052620025ba565b837f174ad61a1448c899a25416474f4930301e5c49475279e0639a616ddc45bc7b5482089050837f1a96177bcf4d8d89f759df4ec2f3cde2eaaa28c177cc0fa13a9816d49a38d2ef83089150837f066d04b24331d71cd0ef8054bc60c4ff05202c126a233c1a8242ace360b8a30a8408925083818180828009800909905062000ce2600052620025ba565b837f2a4c4fc6ec0b0cf52195782871c6dd3b381cc65f72e02ad527037a62aa1bd80482089050837f13ab2d136ccf37d447e9f2e14a7cedc95e727f8446f6d9d7e55afc01219fd64983089150837f1121552fca26061619d24d843dc82769c1b04fcec26f55194c2e3e869acc6a9a8408925083818180828009800909905062000d6d600052620025ba565b837f00ef653322b13d6c889bc81715c37d77a6cd267d595c4a8909a5546c7c97cff182089050837f0e25483e45a665208b261d8ba74051e6400c776d652595d9845aca35d8a397d383089150837f29f536dcb9dd7682245264659e15d88e395ac3d4dde92d8c46448db979eeba898408925083818180828009800909905062000df8600052620025ba565b837f2a56ef9f2c53febadfda33575dbdbd885a124e2780bbea170e456baace0fa5be82089050837f1c8361c78eb5cf5decfb7a2d17b5c409f2ae2999a46762e8ee416240a8cb9af183089150837f151aff5f38b20a0fc0473089aaf0206b83e8e68a764507bfd3d0ab4be74319c58408925083818180828009800909905062000e83600052620025ba565b837f04c6187e41ed881dc1b239c88f7f9d43a9f52fc8c8b6cdd1e76e47615b51f10082089050837f13b37bd80f4d27fb10d84331f6fb6d534b81c61ed15776449e801b7ddc9c296783089150837f01a5c536273c2d9df578bfbd32c17b7a2ce3664c2a52032c9321ceb1c4e8a8e48408925083818180828009800909905062000f0e600052620025ba565b837f2ab3561834ca73835ad05f5d7acb950b4a9a2c666b9726da832239065b7c3b0282089050837f1d4d8ec291e720db200fe6d686c0d613acaf6af4e95d3bf69f7ed516a597b64683089150837f041294d2cc484d228f5784fe7919fd2bb925351240a04b711514c9c80b65af1d8408925083818180828009800909905062000f99600052620025ba565b837f154ac98e01708c611c4fa715991f004898f57939d126e392042971dd90e81fc682089050837f0b339d8acca7d4f83eedd84093aef51050b3684c88f8b0b04524563bc6ea4da483089150837f0955e49e6610c94254a4f84cfbab344598f0e71eaff4a7dd81ed95b50839c82e8408925083818180828009800909905062001024600052620025ba565b837f06746a6156eba54426b9e22206f15abca9a6f41e6f535c6f3525401ea065462682089050837f0f18f5a0ecd1423c496f3820c549c27838e5790e2bd0a196ac917c7ff32077fb83089150837f04f6eeca1751f7308ac59eff5beb261e4bb563583ede7bc92a738223d6f76e1384089250838181808280098009099050620010af600052620025ba565b837f2b56973364c4c4f5c1a3ec4da3cdce038811eb116fb3e45bc1768d26fc0b375882089050837f123769dd49d5b054dcd76b89804b1bcb8e1392b385716a5d83feb65d437f29ef83089150837f2147b424fc48c80a88ee52b91169aacea989f6446471150994257b2fb01c63e9840892508381818082800980090990506200113a600052620025ba565b837f0fdc1f58548b85701a6c5505ea332a29647e6f34ad4243c2ea54ad897cebe54d82089050837f12373a8251fea004df68abcf0f7786d4bceff28c5dbbe0c3944f685cc0a0b1f283089150837f21e4f4ea5f35f85bad7ea52ff742c9e8a642756b6af44203dd8a1f35c1a9003584089250838181808280098009099050620011c5600052620025ba565b837f16243916d69d2ca3dfb4722224d4c462b57366492f45e90d8a81934f1bc3b14782089050837f1efbe46dd7a578b4f66f9adbc88b4378abc21566e1a0453ca13a4159cac04ac283089150837f07ea5e8537cf5dd08886020e23a7f387d468d5525be66f853b672cc96a88969a8408925083818180828009800909905062001250600052620025ba565b837f05a8c4f9968b8aa3b7b478a30f9a5b63650f19a75e7ce11ca9fe16c0b76c00bc82089050837f20f057712cc21654fbfe59bd345e8dac3f7818c701b9c7882d9d57b72a32e83f83089150837f04a12ededa9dfd689672f8c67fee31636dcd8e88d01d49019bd90b33eb33db6984089250838181808280098009099050620012db600052620025ba565b837f27e88d8c15f37dcee44f1e5425a51decbd136ce5091a6767e49ec9544ccd101a82089050837f2feed17b84285ed9b8a5c8c5e95a41f66e096619a7703223176c41ee433de4d183089150837f1ed7cc76edf45c7c404241420f729cf394e5942911312a0d6972b8bd53aff2b88408925083818180828009800909905062001366600052620025ba565b837f15742e99b9bfa323157ff8c586f5660eac6783476144cdcadf2874be45466b1a82089050837f1aac285387f65e82c895fc6887ddf40577107454c6ec0317284f033f27d0c78583089150837f25851c3c845d4790f9ddadbdb6057357832e2e7a49775f71ec75a96554d67c7784089250838181808280098009099050620013f1600052620025ba565b837f15a5821565cc2ec2ce78457db197edf353b7ebba2c5523370ddccc3d9f146a6782089050837f2411d57a4813b9980efa7e31a1db5966dcf64f36044277502f15485f28c7172783089150837f002e6f8d6520cd4713e335b8c0b6d2e647e9a98e12f4cd2558828b5ef6cb4c9b840892508381818082800980090990506200147c600052620025ba565b837f2ff7bc8f4380cde997da00b616b0fcd1af8f0e91e2fe1ed7398834609e0315d282089050837f00b9831b948525595ee02724471bcd182e9521f6b7bb68f1e93be4febb0d3cbe83089150837f0a2f53768b8ebf6a86913b0e57c04e011ca408648a4743a87d77adbf0c9c35128408925083818180828009800909905062001507600052620025ba565b837f00248156142fd0373a479f91ff239e960f599ff7e94be69b7f2a290305e1198d82089050837f171d5620b87bfb1328cf8c02ab3f0c9a397196aa6a542c2350eb512a2b2bcda983089150837f170a4f55536f7dc970087c7c10d6fad760c952172dd54dd99d1045e4ec34a8088408925083818180828009800909905062001592600052620025ba565b837f29aba33f799fe66c2ef3134aea04336ecc37e38c1cd211ba482eca17e2dbfae182089050837f1e9bc179a4fdd758fdd1bb1945088d47e70d114a03f6a0e8b5ba650369e6497383089150837f1dd269799b660fad58f7f4892dfb0b5afeaad869a9c4b44f9c9e1c43bdaf8f09840892508381818082800980090990506200161d600052620025ba565b837f22cdbc8b70117ad1401181d02e15459e7ccd426fe869c7c95d1dd2cb0f24af3882089050837f0ef042e454771c533a9f57a55c503fcefd3150f52ed94a7cd5ba93b9c7dacefd83089150837f11609e06ad6c8fe2f287f3036037e8851318e8b08a0359a03b304ffca62e828484089250838181808280098009099050620016a8600052620025ba565b837f1166d9e554616dba9e753eea427c17b7fecd58c076dfe42708b08f5b783aa9af82089050837f2de52989431a859593413026354413db177fbf4cd2ac0b56f855a888357ee46683089150837f3006eb4ffc7a85819a6da492f3a8ac1df51aee5b17b8e89d74bf01cf5f71e9ad8408925083818180828009800909905062001733600052620025ba565b837f2af41fbb61ba8a80fdcf6fff9e3f6f422993fe8f0a4639f962344c822514508682089050837f119e684de476155fe5a6b41a8ebc85db8718ab27889e85e781b214bace4827c383089150837f1835b786e2e8925e188bea59ae363537b51248c23828f047cff784b97b3fd80084089250838181808280098009099050620017be600052620025ba565b837f28201a34c594dfa34d794996c6433a20d152bac2a7905c926c40e285ab32eeb682089050837f083efd7a27d1751094e80fefaf78b000864c82eb571187724a761f88c22cc4e783089150837f0b6f88a3577199526158e61ceea27be811c16df7774dd8519e079564f61fd13b8408925083818180828009800909905062001849600052620025ba565b837f0ec868e6d15e51d9644f66e1d6471a94589511ca00d29e1014390e6ee4254f5b82089050837f2af33e3f866771271ac0c9b3ed2e1142ecd3e74b939cd40d00d937ab84c9859183089150837f0b520211f904b5e7d09b5d961c6ace7734568c547dd6858b364ce5e47951f17884089250838181808280098009099050620018d4600052620025ba565b837f0b2d722d0919a1aad8db58f10062a92ea0c56ac4270e822cca228620188a1d4082089050837f1f790d4d7f8cf094d980ceb37c2453e957b54a9991ca38bbe0061d1ed6e562d483089150837f0171eb95dfbf7d1eaea97cd385f780150885c16235a2a6a8da92ceb01e504233840892508381818082800980090990506200195f600052620025ba565b837f0c2d0e3b5fd57549329bf6885da66b9b790b40defd2c8650762305381b16887382089050837f1162fb28689c27154e5a8228b4e72b377cbcafa589e283c35d3803054407a18d83089150837f2f1459b65dee441b64ad386a91e8310f282c5a92a89e19921623ef8249711bc084089250838181808280098009099050620019ea600052620025ba565b837f1e6ff3216b688c3d996d74367d5cd4c1bc489d46754eb712c243f70d1b53cfbb82089050837f01ca8be73832b8d0681487d27d157802d741a6f36cdc2a0576881f932647887583089150837f1f7735706ffe9fc586f976d5bdf223dc680286080b10cea00b9b5de315f9650e8408925083818180828009800909905062001a75600052620025ba565b837f2522b60f4ea3307640a0c2dce041fba921ac10a3d5f096ef4745ca838285f01982089050837f23f0bee001b1029d5255075ddc957f833418cad4f52b6c3f8ce16c235572575b83089150837f2bc1ae8b8ddbb81fcaac2d44555ed5685d142633e9df905f66d9401093082d598408925083818180828009800909905062001b00600052620025ba565b837f0f9406b8296564a37304507b8dba3ed162371273a07b1fc98011fcd6ad72205f82089050837f2360a8eb0cc7defa67b72998de90714e17e75b174a52ee4acb126c8cd995f0a883089150837f15871a5cddead976804c803cbaef255eb4815a5e96df8b006dcbbc2767f889488408925083818180828009800909905062001b8b600052620025ba565b837f193a56766998ee9e0a8652dd2f3b1da0362f4f54f72379544f957ccdeefb420f82089050837f2a394a43934f86982f9be56ff4fab1703b2e63c8ad334834e4309805e777ae0f83089150837f1859954cfeb8695f3e8b635dcb345192892cd11223443ba7b4166e8876c0d1428408925083818180828009800909905062001c16600052620025ba565b837f04e1181763050e58013444dbcb99f1902b11bc25d90bbdca408d3819f4fed32b82089050837f0fdb253dee83869d40c335ea64de8c5bb10eb82db08b5e8b1f5e5552bfd05f2383089150837f058cbe8a9a5027bdaa4efb623adead6275f08686f1c08984a9d7c5bae9b4f1c08408925083818180828009800909905062001ca1600052620025ba565b837f1382edce9971e186497eadb1aeb1f52b23b4b83bef023ab0d15228b4cceca59a82089050837f03464990f045c6ee0819ca51fd11b0be7f61b8eb99f14b77e1e6634601d9e8b583089150837f23f7bfc8720dc296fff33b41f98ff83c6fcab4605db2eb5aaa5bc137aeb70a588408925083818180828009800909905062001d2c600052620025ba565b837f0a59a158e3eec2117e6e94e7f0e9decf18c3ffd5e1531a9219636158bbaf62f282089050837f06ec54c80381c052b58bf23b312ffd3ce2c4eba065420af8f4c23ed0075fd07b83089150837f118872dc832e0eb5476b56648e867ec8b09340f7a7bcb1b4962f0ff9ed1f9d018408925083818180828009800909905062001db7600052620025ba565b837f13d69fa127d834165ad5c7cba7ad59ed52e0b0f0e42d7fea95e1906b520921b182089050837f169a177f63ea681270b1c6877a73d21bde143942fb71dc55fd8a49f19f10c77b83089150837f04ef51591c6ead97ef42f287adce40d93abeb032b922f66ffb7e9a5a7450544d8408925083818180828009800909905062001e42600052620025ba565b837f256e175a1dc079390ecd7ca703fb2e3b19ec61805d4f03ced5f45ee6dd0f69ec82089050837f30102d28636abd5fe5f2af412ff6004f75cc360d3205dd2da002813d3e2ceeb283089150837f10998e42dfcd3bbf1c0714bc73eb1bf40443a3fa99bef4a31fd31be182fcc7928408925083818180828009800909905062001ecd600052620025ba565b837f193edd8e9fcf3d7625fa7d24b598a1d89f3362eaf4d582efecad76f879e3686082089050837f18168afd34f2d915d0368ce80b7b3347d1c7a561ce611425f2664d7aa51f0b5d83089150837f29383c01ebd3b6ab0c017656ebe658b6a328ec77bc33626e29e2e95b33ea61118408925083818180828009800909905062001f58600052620025ba565b837f10646d2f2603de39a1f4ae5e7771a64a702db6e86fb76ab600bf573f9010c71182089050837f0beb5e07d1b27145f575f1395a55bf132f90c25b40da7b3864d0242dcb1117fb83089150837f16d685252078c133dc0d3ecad62b5c8830f95bb2e54b59abdffbf018d96fa3368408925083818180828009800909905062001fe3600052620025ba565b837f0a6abd1d833938f33c74154e0404b4b40a555bbbec21ddfafd672dd62047f01a82089050837f1a679f5d36eb7b5c8ea12a4c2dedc8feb12dffeec450317270a6f19b34cf186083089150837f0980fb233bd456c23974d50e0ebfde4726a423eada4e8f6ffbc7592e3f1b93d6840892508381818082800980090990506200206e600052620025ba565b837f161b42232e61b84cbf1810af93a38fc0cece3d5628c9282003ebacb5c312c72b82089050837f0ada10a90c7f0520950f7d47a60d5e6a493f09787f1564e5d09203db47de1a0b83089150837f1a730d372310ba82320345a29ac4238ed3f07a8a2b4e121bb50ddb9af407f45184089250838181808280098009099050620020f9600052620025ba565b837f2c8120f268ef054f817064c369dda7ea908377feaba5c4dffbda10ef58e8c55682089050837f1c7c8824f758753fa57c00789c684217b930e95313bcb73e6e7b8649a4968f7083089150837f2cd9ed31f5f8691c8e39e4077a74faa0f400ad8b491eb3f7b47b27fa3fd1cf778408925083818180828009800909905062002184600052620025ba565b837f23ff4f9d46813457cf60d92f57618399a5e022ac321ca550854ae23918a22eea82089050837f09945a5d147a4f66ceece6405dddd9d0af5a2c5103529407dff1ea58f180426d83089150837f188d9c528025d4c2b67660c6b771b90f7c7da6eaa29d3f268a6dd223ec6fc630840892508381818082800980090990506200220f600052620025ba565b837f3050e37996596b7f81f68311431d8734dba7d926d3633595e0c0d8ddf4f0f47f82089050837f15af1169396830a91600ca8102c35c426ceae5461e3f95d89d829518d30afd7883089150837f1da6d09885432ea9a06d9f37f873d985dae933e351466b2904284da3320d8acc840892508381818082800980090990506200229a600052620025ba565b837f2796ea90d269af29f5f8acf33921124e4e4fad3dbe658945e546ee411ddaa9cb82089050837f202d7dd1da0f6b4b0325c8b3307742f01e15612ec8e9304a7cb0319e01d32d6083089150837f096d6790d05bb759156a952ba263d672a2d7f9c788f4c831a29dace4c0f8be5f8408925083818180828009800909905062002325600052620025ba565b837f054efa1f65b0fce283808965275d877b438da23ce5b13e1963798cb1447d25a482089050837f1b162f83d917e93edb3308c29802deb9d8aa690113b2e14864ccf6e18e4165f183089150837f21e5241e12564dd6fd9f1cdd2a0de39eedfefc1466cc568ec5ceb745a0506edc84089250838181808280098009099050838281808280098009099150838381808280098009099250620023c8600052620025ba565b837f1cfb5662e8cf5ac9226a80ee17b36abecb73ab5f87e161927b4349e10e4bdf0882089050837f0f21177e302a771bbae6d8d1ecb373b62c99af346220ac0129c53f666eb2410083089150837f1671522374606992affb0dd7f71b12bec4236aede6290546bcef7e1f515c2320840892508381818082800980090990508382818082800980090991508383818082800980090992506200246b600052620025ba565b837f0fa3ec5b9488259c2eb4cf24501bfad9be2ec9e42c5cc8ccd419d2a692cad87082089050837f193c0e04e0bd298357cb266c1506080ed36edce85c648cc085e8c57b1ab54bba83089150837f102adf8ef74735a27e9128306dcbc3c99f6f7291cd406578ce14ea2adaba68f8840892508381818082800980090990508382818082800980090991508383818082800980090992506200250e600052620025ba565b837f0fe0af7858e49859e2a54d6f1ad945b1316aa24bfbdd23ae40a6d0cb70c3eab182089050837f216f6717bbc7dedb08536a2220843f4e2da5f1daa9ebdefde8a5ea7344798d2283089150837f1da55cc900f0d21f4a3e694391918a1b3c23b2ac773c6b3ef88e2e422832516184089250838181808280098009099050838281808280098009099150838381808280098009099250620025b1600052620025ba565b60005260206000f35b8360205182098460405184098591088460605185098591088460805183098560a05185098691088560c05186098691088560e0518409866101005186098791088661012051870987910894509250905060005156 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-poseidon-unit3l +spec: + abiJSON: |- + [ + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[3]", + "name": "input", + "type": "bytes32[3]" + } + ], + "name": "poseidon", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256[3]", + "name": "input", + "type": "uint256[3]" + } + ], + "name": "poseidon", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + } + ] + bytecode: 0x38600c6000396130af6000f37c010000000000000000000000000000000000000000000000000000000060003504806325cc70e81490635a53025d14176200003757fe5b7f236d13393ef85cc48a351dd786dd7a1de5e39942296127fd87947223ae5108ad6020527f277686494f7644bbc4a9b194e10724eb967f1dc58718e59e3cedc821b2a7ae196040527f023db68784e3f0cc0b85618826a9b3505129c16479973b0a84a4529e66b09c626060527f1d359d245f286c12d50d663bae733f978af08cdbd63017c57b3a75646ff382c16080527f2a75a171563b807db525be259699ab28fe9bc7fb1f70943ff049bc970e841a0c60a0527f083abff5e10051f078e2827d092e1ae808b4dd3e15ccc3706f38ce4157b6770e60c0527f1a5ad71bbbecd8a97dc49cfdbae303ad24d5c4741eab8b7568a9ff8253a1eb6f60e0527f0d745fd00dd167fb86772133640f02ce945004a7bc2c59e8790f725c5d84f0af610100527f2070679e798782ef592a52ca9cef820d497ad2eecbaa7e42f366b3e521c4ed42610120527f2e18c8570d20bf5df800739a53da75d906ece318cd224ab6b3a2be979e2d7eab610140527f0fa86f0f27e4d3dd7f3367ce86f684f1f2e4386d3e5b9f38fa283c6aa723b608610160527f03f3e6fab791f16628168e4b14dbaeb657035ee3da6b2ca83f0c2491e0b403eb610180527f2f545e578202c9732488540e41f783b68ff0613fd79375f8ba8b3d30958e76776101a0527f23810bf82877fc19bff7eefeae3faf4bb8104c32ba4cd701596a15623d01476e6101c0527f014fcd5eb0be6d5beeafc4944034cf321c068ef930f10be2207ed58d2a34cdd66101e0527f00c15fc3a1d5733dd835eae0823e377f8ba4a8b627627cc2bb661c25d20fb52a610200527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016044356024356004356000847f19b849f69450b06848da1d39bd5e4a4302bb86744edc26238b0878e269ed23e582089050847f265ddfe127dd51bd7239347b758f0a1320eb2cc7450acc1dad47f80c8dcf34d683089150847f199750ec472f1809e0f66a545e1e51624108ac845015c2aa3dfc36bab497d8aa84089250847f157ff3fe65ac7208110f06a5f74302b14d743ea25067f0ffd032f787c7f1cdf8850893508481818082800980090990508482818082800980090991508483818082800980090992508484818082800980090993506200038160005262003015565b847f2e49c43c4569dd9c5fd35ac45fca33f10b15c590692f8beefe18f4896ac9490282089050847f0e35fb89981890520d4aef2b6d6506c3cb2f0b6973c24fa82731345ffa2d1f1e83089150847f251ad47cb15c4f1105f109ae5e944f1ba9d9e7806d667ffec6fe723002e0b99684089250847f13da07dc64d428369873e97160234641f8beb56fdd05e5f3563fa39d9c22df4e850893508481818082800980090990508482818082800980090991508483818082800980090992508484818082800980090993506200045660005262003015565b847f0c009b84e650e6d23dc00c7dccef7483a553939689d350cd46e7b89055fd473882089050847f011f16b1c63a854f01992e3956f42d8b04eb650c6d535eb0203dec74befdca0683089150847f0ed69e5e383a688f209d9a561daa79612f3f78d0467ad45485df07093f36754984089250847f04dba94a7b0ce9e221acad41472b6bbe3aec507f5eb3d33f463672264c9f789b850893508481818082800980090990508482818082800980090991508483818082800980090992508484818082800980090993506200052b60005262003015565b847f0a3f2637d840f3a16eb094271c9d237b6036757d4bb50bf7ce732ff1d4fa28e882089050847f259a666f129eea198f8a1c502fdb38fa39b1f075569564b6e54a485d1182323f83089150847f28bf7459c9b2f4c6d8e7d06a4ee3a47f7745d4271038e5157a32fdf7ede0d6a184089250847f0a1ca941f057037526ea200f489be8d4c37c85bbcce6a2aeec91bd6941432447850893508481818082800980090990508482818082800980090991508483818082800980090992508484818082800980090993506200060060005262003015565b847f0c6f8f958be0e93053d7fd4fc54512855535ed1539f051dcb43a26fd926361cf82089050847f123106a93cd17578d426e8128ac9d90aa9e8a00708e296e084dd57e69caaf81183089150847f26e1ba52ad9285d97dd3ab52f8e840085e8fa83ff1e8f1877b074867cd2dee7584089250847f1cb55cad7bd133de18a64c5c47b9c97cbe4d8b7bf9e095864471537e6a4ae2c585089350848181808280098009099050620006b160005262003015565b847f1dcd73e46acd8f8e0e2c7ce04bde7f6d2a53043d5060a41c7143f08e6e9055d082089050847f011003e32f6d9c66f5852f05474a4def0cda294a0eb4e9b9b12b9bb4512e557483089150847f2b1e809ac1d10ab29ad5f20d03a57dfebadfe5903f58bafed7c508dd2287ae8c84089250847f2539de1785b735999fb4dac35ee17ed0ef995d05ab2fc5faeaa69ae87bcec0a5850893508481818082800980090990506200076260005262003015565b847f0c246c5a2ef8ee0126497f222b3e0a0ef4e1c3d41c86d46e43982cb11d77951d82089050847f192089c4974f68e95408148f7c0632edbb09e6a6ad1a1c2f3f0305f5d03b527b83089150847f1eae0ad8ab68b2f06a0ee36eeb0d0c058529097d91096b756d8fdc2fb5a60d8584089250847f179190e5d0e22179e46f8282872abc88db6e2fdc0dee99e69768bd98c5d06bfb850893508481818082800980090990506200081360005262003015565b847f29bb9e2c9076732576e9a81c7ac4b83214528f7db00f31bf6cafe794a9b3cd1c82089050847f225d394e42207599403efd0c2464a90d52652645882aac35b10e590e6e691e0883089150847f064760623c25c8cf753d238055b444532be13557451c087de09efd454b23fd5984089250847f10ba3a0e01df92e87f301c4b716d8a394d67f4bf42a75c10922910a78f6b5b8785089350848181808280098009099050620008c460005262003015565b847f0e070bf53f8451b24f9c6e96b0c2a801cb511bc0c242eb9d361b77693f21471c82089050847f1b94cd61b051b04dd39755ff93821a73ccd6cb11d2491d8aa7f921014de252fb83089150847f1d7cb39bafb8c744e148787a2e70230f9d4e917d5713bb050487b5aa7d74070b84089250847f2ec93189bd1ab4f69117d0fe980c80ff8785c2961829f701bb74ac1f303b17db850893508481818082800980090990506200097560005262003015565b847f2db366bfdd36d277a692bb825b86275beac404a19ae07a9082ea46bd8351792682089050847f062100eb485db06269655cf186a68532985275428450359adc99cec6960711b883089150847f0761d33c66614aaa570e7f1e8244ca1120243f92fa59e4f900c567bf41f5a59b84089250847f20fc411a114d13992c2705aa034e3f315d78608a0f7de4ccf7a72e494855ad0d8508935084818180828009800909905062000a2660005262003015565b847f25b5c004a4bdfcb5add9ec4e9ab219ba102c67e8b3effb5fc3a30f317250bc5a82089050847f23b1822d278ed632a494e58f6df6f5ed038b186d8474155ad87e7dff62b37f4b83089150847f22734b4c5c3f9493606c4ba9012499bf0f14d13bfcfcccaa16102a29cc2f69e084089250847f26c0c8fe09eb30b7e27a74dc33492347e5bdff409aa3610254413d3fad795ce58508935084818180828009800909905062000ad760005262003015565b847f070dd0ccb6bd7bbae88eac03fa1fbb26196be3083a809829bbd626df348ccad982089050847f12b6595bdb329b6fb043ba78bb28c3bec2c0a6de46d8c5ad6067c4ebfd4250da83089150847f248d97d7f76283d63bec30e7a5876c11c06fca9b275c671c5e33d95bb7e8d72984089250847f1a306d439d463b0816fc6fd64cc939318b45eb759ddde4aa106d15d9bd9baaaa8508935084818180828009800909905062000b8860005262003015565b847f28a8f8372e3c38daced7c00421cb4621f4f1b54ddc27821b0d62d3d6ec7c56cf82089050847f0094975717f9a8a8bb35152f24d43294071ce320c829f388bc852183e1e2ce7e83089150847f04d5ee4c3aa78f7d80fde60d716480d3593f74d4f653ae83f4103246db2e8d6584089250847f2a6cf5e9aa03d4336349ad6fb8ed2269c7bef54b8822cc76d08495c12efde1878508935084818180828009800909905062000c3960005262003015565b847f2304d31eaab960ba9274da43e19ddeb7f792180808fd6e43baae48d7efcba3f382089050847f03fd9ac865a4b2a6d5e7009785817249bff08a7e0726fcb4e1c11d39d199f0b083089150847f00b7258ded52bbda2248404d55ee5044798afc3a209193073f7954d4d63b0b6484089250847f159f81ada0771799ec38fca2d4bf65ebb13d3a74f3298db36272c5ca65e92d9a8508935084818180828009800909905062000cea60005262003015565b847f1ef90e67437fbc8550237a75bc28e3bb9000130ea25f0c5471e144cf4264431f82089050847f1e65f838515e5ff0196b49aa41a2d2568df739bc176b08ec95a79ed82932e30d83089150847f2b1b045def3a166cec6ce768d079ba74b18c844e570e1f826575c1068c94c33f84089250847f0832e5753ceb0ff6402543b1109229c165dc2d73bef715e3f1c6e07c168bb1738508935084818180828009800909905062000d9b60005262003015565b847f02f614e9cedfb3dc6b762ae0a37d41bab1b841c2e8b6451bc5a8e3c390b6ad1682089050847f0e2427d38bd46a60dd640b8e362cad967370ebb777bedff40f6a0be27e7ed70583089150847f0493630b7c670b6deb7c84d414e7ce79049f0ec098c3c7c50768bbe29214a53a84089250847f22ead100e8e482674decdab17066c5a26bb1515355d5461a3dc06cc85327cea98508935084818180828009800909905062000e4c60005262003015565b847f25b3e56e655b42cdaae2626ed2554d48583f1ae35626d04de5084e0b6d2a6f1682089050847f1e32752ada8836ef5837a6cde8ff13dbb599c336349e4c584b4fdc0a0cf6f9d083089150847f2fa2a871c15a387cc50f68f6f3c3455b23c00995f05078f672a9864074d412e584089250847f2f569b8a9a4424c9278e1db7311e889f54ccbf10661bab7fcd18e7c7a7d835058508935084818180828009800909905062000efd60005262003015565b847f044cb455110a8fdd531ade530234c518a7df93f7332ffd2144165374b246b43d82089050847f227808de93906d5d420246157f2e42b191fe8c90adfe118178ddc723a531902583089150847f02fcca2934e046bc623adead873579865d03781ae090ad4a8579d2e7a680035584089250847f0ef915f0ac120b876abccceb344a1d36bad3f3c5ab91a8ddcbec2e060d8befac8508935084818180828009800909905062000fae60005262003015565b847f1797130f4b7a3e1777eb757bc6f287f6ab0fb85f6be63b09f3b16ef2b1405d3882089050847f0a76225dc04170ae3306c85abab59e608c7f497c20156d4d36c668555decc6e583089150847f1fffb9ec1992d66ba1e77a7b93209af6f8fa76d48acb664796174b5326a31a5c84089250847f25721c4fc15a3f2853b57c338fa538d85f8fbba6c6b9c6090611889b797b9c5f850893508481818082800980090990506200105f60005262003015565b847f0c817fd42d5f7a41215e3d07ba197216adb4c3790705da95eb63b982bfcaf75a82089050847f13abe3f5239915d39f7e13c2c24970b6df8cf86ce00a22002bc15866e52b5a9683089150847f2106feea546224ea12ef7f39987a46c85c1bc3dc29bdbd7a92cd60acb4d391ce84089250847f21ca859468a746b6aaa79474a37dab49f1ca5a28c748bc7157e1b3345bb0f959850893508481818082800980090990506200111060005262003015565b847f05ccd6255c1e6f0c5cf1f0df934194c62911d14d0321662a8f1a48999e34185b82089050847f0f0e34a64b70a626e464d846674c4c8816c4fb267fe44fe6ea28678cb09490a483089150847f0558531a4e25470c6157794ca36d0e9647dbfcfe350d64838f5b1a8a2de0d4bf84089250847f09d3dca9173ed2faceea125157683d18924cadad3f655a60b72f5864961f145585089350848181808280098009099050620011c160005262003015565b847f0328cbd54e8c0913493f866ed03d218bf23f92d68aaec48617d4c722e5bd433582089050847f2bf07216e2aff0a223a487b1a7094e07e79e7bcc9798c648ee3347dd5329d34b83089150847f1daf345a58006b736499c583cb76c316d6f78ed6a6dffc82111e11a63fe412df84089250847f176563472456aaa746b694c60e1823611ef39039b2edc7ff391e6f2293d2c404850893508481818082800980090990506200127260005262003015565b847f2ef1e0fad9f08e87a3bb5e47d7e33538ca964d2b7d1083d4fb0225035bd3f8db82089050847f226c9b1af95babcf17b2b1f57c7310179c1803dec5ae8f0a1779ed36c817ae2a83089150847f14bce3549cc3db7428126b4c3a15ae0ff8148c89f13fb35d35734eb5d4ad0def84089250847f2debff156e276bb5742c3373f2635b48b8e923d301f372f8e550cfd4034212c7850893508481818082800980090990506200132360005262003015565b847f2d4083cf5a87f5b6fc2395b22e356b6441afe1b6b29c47add7d0432d1d4760c782089050847f0c225b7bcd04bf9c34b911262fdc9c1b91bf79a10c0184d89c317c53d7161c2983089150847f03152169d4f3d06ec33a79bfac91a02c99aa0200db66d5aa7b835265f9c9c8f384089250847f0b61811a9210be78b05974587486d58bddc8f51bfdfebbb87afe8b7aa7d3199c85089350848181808280098009099050620013d460005262003015565b847f203e000cad298daaf7eba6a5c5921878b8ae48acf7048f16046d637a533b6f7882089050847f1a44bf0937c722d1376672b69f6c9655ba7ee386fda1112c0757143d1bfa914683089150847f0376b4fae08cb03d3500afec1a1f56acb8e0fde75a2106d7002f59c5611d4daa84089250847f00780af2ca1cad6465a2171250fdfc32d6fc241d3214177f3d553ef363182185850893508481818082800980090990506200148560005262003015565b847f10774d9ab80c25bdeb808bedfd72a8d9b75dbe18d5221c87e9d857079bdc31d582089050847f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e883089150847f00544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1684089250847f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428c850893508481818082800980090990506200153660005262003015565b847f2840d045e9bc22b259cfb8811b1e0f45b77f7bdb7f7e2b46151a1430f608e3c582089050847f062752f86eebe11a009c937e468c335b04554574c2990196508e01fa5860186b83089150847f06041bdac48205ac87adb87c20a478a71c9950c12a80bc0a55a8e83eaaf0474684089250847f04a533f236c422d1ff900a368949b0022c7a2ae092f308d82b1dcbbf51f5000d85089350848181808280098009099050620015e760005262003015565b847f13e31d7a67232fd811d6a955b3d4f25dfe066d1e7dc33df04bde50a2b2d05b2a82089050847f011c2683ae91eb4dfbc13d6357e8599a9279d1648ff2c95d2f79905bb13920f183089150847f0b0d219346b8574525b1a270e0b4cba5d56c928e3e2c2bd0a1ecaed015aaf6ae84089250847f14abdec8db9c6dc970291ee638690209b65080781ef9fd13d84c7a726b5f1364850893508481818082800980090990506200169860005262003015565b847f1a0b70b4b26fdc28fcd32aa3d266478801eb12202ef47ced988d0376610be10682089050847f278543721f96d1307b6943f9804e7fe56401deb2ef99c4d12704882e7278b60783089150847f16eb59494a9776cf57866214dbd1473f3f0738a325638d8ba36535e011d5825984089250847f2567a658a81ffb444f240088fa5524c69a9e53eeab6b7f8c41c3479dcf8c644a850893508481818082800980090990506200174960005262003015565b847f29aa1d7c151e9ad0a7ab39f1abd9cf77ab78e0215a5715a6b882ade840bb13d882089050847f15c091233e60efe0d4bbfce2b36415006a4f017f9a85388ce206b91f99f2c98483089150847f16bd7d22ff858e5e0882c2c999558d77e7673ad5f1915f9feb679a8115f014cf84089250847f02db50480a07be0eb2c2e13ed6ef4074c0182d9b668b8e08ffe676925004202585089350848181808280098009099050620017fa60005262003015565b847f05e4a220e6a3bc9f7b6806ec9d6cdba186330ef2bf7adb4c13ba866343b7311982089050847f1dda05ebc30170bc98cbf2a5ee3b50e8b5f70bc424d39fa4104d37f1cbcf7a4283089150847f0184bef721888187f645b6fee3667f3c91da214414d89ba5cd301f22b0de899084089250847f1498a307e68900065f5e8276f62aef1c37414b84494e1577ad1a6d64341b78ec85089350848181808280098009099050620018ab60005262003015565b847f25f40f82b31dacc4f4939800b9d2c3eacef737b8fab1f864fe33548ad46bd49d82089050847f09d317cc670251943f6f5862a30d2ea9e83056ce4907bfbbcb1ff31ce5bb965083089150847f2f77d77786d979b23ba4ce4a4c1b3bd0a41132cd467a86ab29b913b6cf3149d084089250847f0f53dafd535a9f4473dc266b6fccc6841bbd336963f254c152f89e785f729bbf850893508481818082800980090990506200195c60005262003015565b847f25c1fd72e223045265c3a099e17526fa0e6976e1c00baf16de96de85deef2fa282089050847f2a902c8980c17faae368d385d52d16be41af95c84eaea3cf893e65d6ce4a8f6283089150847f1ce1580a3452ecf302878c8976b82be96676dd114d1dc8d25527405762f8352984089250847f24a6073f91addc33a49a1fa306df008801c5ec569609034d2fc50f7f0f4d00568508935084818180828009800909905062001a0d60005262003015565b847f25e52dbd6124530d9fc27fe306d71d4583e07ca554b5d1577f256c68b0be2b7482089050847f23dffae3c423fa7a93468dbccfb029855974be4d0a7b29946796e5b6cd70f15d83089150847f06342da370cc0d8c49b77594f6b027c480615d50be36243a99591bc9924ed6f584089250847f2754114281286546b75f09f115fc751b4778303d0405c1b4cc7df0d8e9f639258508935084818180828009800909905062001abe60005262003015565b847f15c19e8534c5c1a8862c2bc1d119eddeabf214153833d7bdb59ee197f8187cf582089050847f265fe062766d08fab4c78d0d9ef3cabe366f3be0a821061679b4b3d2d77d5f3e83089150847f13ccf689d67a3ec9f22cb7cd0ac3a327d377ac5cd0146f048debfd098d3ec7be84089250847f17662f7456789739f81cd3974827a887d92a5e05bdf3fe6b9fbccca4524aaebd8508935084818180828009800909905062001b6f60005262003015565b847f21b29c76329b31c8ef18631e515f7f2f82ca6a5cca70cee4e809fd624be7ad5d82089050847f18137478382aadba441eb97fe27901989c06738165215319939eb17b01fa975c83089150847f2bc07ea2bfad68e8dc724f5fef2b37c2d34f761935ffd3b739ceec4668f37e8884089250847f2ddb2e376f54d64a563840480df993feb4173203c2bd94ad0e602077aef9a03e8508935084818180828009800909905062001c2060005262003015565b847f277eb50f2baa706106b41cb24c602609e8a20f8d72f613708adb25373596c3f782089050847f0d4de47e1aba34269d0c620904f01a56b33fc4b450c0db50bb7f87734c9a1fe583089150847f0b8442bfe9e4a1b4428673b6bd3eea6f9f445697058f134aae908d0279a29f0c84089250847f11fe5b18fbbea1a86e06930cb89f7d4a26e186a65945e96574247fddb720f8f58508935084818180828009800909905062001cd160005262003015565b847f224026f6dfaf71e24d25d8f6d9f90021df5b774dcad4d883170e4ad89c33a0d682089050847f0b2ca6a999fe6887e0704dad58d03465a96bc9e37d1091f61bc9f9c62bbeb82483089150847f221b63d66f0b45f9d40c54053a28a06b1d0a4ce41d364797a1a7e0c96529f42184089250847f30185c48b7b2f1d53d4120801b047d087493bce64d4d24aedce2f4836bb84ad48508935084818180828009800909905062001d8260005262003015565b847f23f5d372a3f0e3cba989e223056227d3533356f0faa48f27f8267318632a61f082089050847f2716683b32c755fd1bf8235ea162b1f388e1e0090d06162e8e6dfbe4328f3e3b83089150847f0977545836866fa204ca1d853ec0909e3d140770c80ac67dc930c69748d5d4bc84089250847f1444e8f592bdbfd8025d91ab4982dd425f51682d31472b05e81c43c0f9434b318508935084818180828009800909905062001e3360005262003015565b847f26e04b65e9ca8270beb74a1c5cb8fee8be3ffbfe583f7012a00f874e7718fbe382089050847f22a5c2fa860d11fe34ee47a5cd9f869800f48f4febe29ad6df69816fb1a914d283089150847f174b54d9907d8f5c6afd672a738f42737ec338f3a0964c629f7474dd44c5c8d784089250847f1db1db8aa45283f31168fa66694cf2808d2189b87c8c8143d56c871907b39b878508935084818180828009800909905062001ee460005262003015565b847f1530bf0f46527e889030b8c7b7dfde126f65faf8cce0ab66387341d813d1bfd182089050847f0b73f613993229f59f01c1cec8760e9936ead9edc8f2814889330a2f2bade45783089150847f29c25a22fe2164604552aaea377f448d587ab977fc8227787bd2dc0f36bcf41e84089250847f2b30d53ed1759bfb8503da66c92cf4077abe82795dc272b377df57d77c8755268508935084818180828009800909905062001f9560005262003015565b847f12f6d703b5702aab7b7b7e69359d53a2756c08c85ede7227cf5f0a2916787cd282089050847f2520e18300afda3f61a40a0b8837293a55ad01071028d4841ffa9ac70636411383089150847f1ec9daea860971ecdda8ed4f346fa967ac9bc59278277393c68f09fa03b8b95f84089250847f0a99b3e178db2e2e432f5cd5bef8fe4483bf5cbf70ed407c08aae24b830ad725850893508481818082800980090990506200204660005262003015565b847f07cda9e63db6e39f086b89b601c2bbe407ee0abac3c817a1317abad7c577849282089050847f08c9c65a4f955e8952d571b191bb0adb49bd8290963203b35d48aab38f8fc3a383089150847f2737f8ce1d5a67b349590ddbfbd709ed9af54a2a3f2719d33801c9c17bdd9c9e84089250847f1049a6c65ff019f0d28770072798e8b7909432bd0c129813a9f179ba627f7d6a85089350848181808280098009099050620020f760005262003015565b847f18b4fe968732c462c0ea5a9beb27cecbde8868944fdf64ee60a5122361daeddb82089050847f2ff2b6fd22df49d2440b2eaeeefa8c02a6f478cfcf11f1b2a4f7473483885d1983089150847f2ec5f2f1928fe932e56c789b8f6bbcb3e8be4057cbd8dbd18a1b352f5cef42ff84089250847f265a5eccd8b92975e33ad9f75bf3426d424a4c6a7794ee3f08c1d100378e545e85089350848181808280098009099050620021a860005262003015565b847f2405eaa4c0bde1129d6242bb5ada0e68778e656cfcb366bf20517da1dfd4279c82089050847f094c97d8c194c42e88018004cbbf2bc5fdb51955d8b2d66b76dd98a2dbf6041783089150847f2c30d5f33bb32c5c22b9979a605bf64d508b705221e6a686330c9625c2afe0b884089250847f01a75666f6241f6825d01cc6dcb1622d4886ea583e87299e6aa2fc716fdb6cf5850893508481818082800980090990506200225960005262003015565b847f0a3290e8398113ea4d12ac091e87be7c6d359ab9a66979fcf47bf2e87d382fcb82089050847f154ade9ca36e268dfeb38461425bb0d8c31219d8fa0dfc75ecd21bf69aa0cc7483089150847f27aa8d3e25380c0b1b172d79c6f22eee99231ef5dc69d8dc13a4b5095d02877284089250847f2cf4051e6cab48301a8b2e3bca6099d756bbdf485afa1f549d395bbcbd806461850893508481818082800980090990506200230a60005262003015565b847f301e70f729f3c94b1d3f517ddff9f2015131feab8afa5eebb0843d7f84b23e7182089050847f298beb64f812d25d8b4d9620347ab02332dc4cef113ae60d17a8d7a4c91f83bc83089150847f1b362e72a5f847f84d03fd291c3c471ed1c14a15b221680acf11a3f02e46aa9584089250847f0dc8a2146110c0b375432902999223d5aa1ef6e78e1e5ebcbc1d9ba41dc1c73785089350848181808280098009099050620023bb60005262003015565b847f0a48663b34ce5e1c05dc93092cb69778cb21729a72ddc03a08afa1eb922ff27982089050847f0a87391fb1cd8cdf6096b64a82f9e95f0fe46f143b702d74545bb314881098ee83089150847f1b5b2946f7c28975f0512ff8e6ca362f8826edd7ea9c29f382ba8a2a0892fd5d84089250847f01001cf512ac241d47ebe2239219bc6a173a8bbcb8a5b987b4eac1f533315b6b850893508481818082800980090990506200246c60005262003015565b847f2fd977c70f645db4f704fa7d7693da727ac093d3fb5f5febc72beb17d8358a3282089050847f23c0039a3fab4ad3c2d7cc688164f39e761d5355c05444d99be763a97793a9c483089150847f19d43ee0c6081c052c9c0df6161eaac1aec356cf435888e79f27f22ff03fa25d84089250847f2d9b10c2f2e7ac1afddccffd94a563028bf29b646d020830919f9d5ca1cefe59850893508481818082800980090990506200251d60005262003015565b847f2457ca6c2f2aa30ec47e4aff5a66f5ce2799283e166fc81cdae2f2b9f83e426782089050847f0abc392fe85eda855820592445094022811ee8676ed6f0c3044dfb54a7c10b3583089150847f19d2cc5ca549d1d40cebcd37f3ea54f31161ac3993acf3101d2c2bc30eac1eb084089250847f0f97ae3033ffa01608aafb26ae13cd393ee0e4ec041ba644a3d3ab546e98c9c885089350848181808280098009099050620025ce60005262003015565b847f16dbc78fd28b7fb8260e404cf1d427a7fa15537ea4e168e88a166496e88cfeca82089050847f240faf28f11499b916f085f73bc4f22eef8344e576f8ad3d1827820366d5e07b83089150847f0a1bb075aa37ff0cfe6c8531e55e1770eaba808c8fdb6dbf46f8cab58d9ef1af84089250847f2e47e15ea4a47ff1a6a853aaf3a644ca38d5b085ac1042fdc4a705a7ce089f4d850893508481818082800980090990506200267f60005262003015565b847f166e5bf073378348860ca4a9c09d39e1673ab059935f4df35fb14528375772b682089050847f18b42d7ffdd2ea4faf235902f057a2740cacccd027233001ed10f96538f0916f83089150847f089cb1b032238f5e4914788e3e3c7ead4fc368020b3ed38221deab1051c3770284089250847f242acd3eb3a2f72baf7c7076dd165adf89f9339c7b971921d9e70863451dd8d1850893508481818082800980090990506200273060005262003015565b847f174fbb104a4ee302bf47f2bd82fce896eac9a068283f326474af860457245c3b82089050847f17340e71d96f466d61f3058ce092c67d2891fb2bb318613f780c275fe1116c6b83089150847f1e8e40ac853b7d42f00f2e383982d024f098b9f8fd455953a2fd380c4df7f6b284089250847f0529898dc0649907e1d4d5e284b8d1075198c55cad66e8a9bf40f92938e2e96185089350848181808280098009099050620027e160005262003015565b847f2162754db0baa030bf7de5bb797364dce8c77aa017ee1d7bf65f21c4d4e5df8f82089050847f12c7553698c4bf6f3ceb250ae00c58c2a9f9291efbde4c8421bef44741752ec683089150847f292643e3ba2026affcb8c5279313bd51a733c93353e9d9c79cb723136526508e84089250847f00ccf13e0cb6f9d81d52951bea990bd5b6c07c5d98e66ff71db6e74d5b87d158850893508481818082800980090990506200289260005262003015565b847f185d1e20e23b0917dd654128cf2f3aaab6723873cb30fc22b0f86c15ab645b4b82089050847f14c61c836d55d3df742bdf11c60efa186778e3de0f024c0f13fe53f8d8764e1f83089150847f0f356841b3f556fce5dbe4680457691c2919e2af53008184d03ee1195d72449e84089250847f1b8fd9ff39714e075df124f887bf40b383143374fd2080ba0c0a6b6e8fa5b3e8850893508481818082800980090990506200294360005262003015565b847f0e86a8c2009c140ca3f873924e2aaa14fc3c8ae04e9df0b3e9103418796f602482089050847f2e6c5e898f5547770e5462ad932fcdd2373fc43820ca2b16b0861421e79155c883089150847f05d797f1ab3647237c14f9d1df032bc9ff9fe1a0ecd377972ce5fd5a0c01460484089250847f29a3110463a5aae76c3d152875981d0c1daf2dcd65519ef5ca8929851da8c00885089350848181808280098009099050620029f460005262003015565b847f2974da7bc074322273c3a4b91c05354cdc71640a8bbd1f864b732f816388331482089050847f1ed0fb06699ba249b2a30621c05eb12ca29cb91aa082c8bfcce9c522889b47dc83089150847f1c793ef0dcc51123654ff26d8d863feeae29e8c572eca912d80c8ae36e40fe9b84089250847f1e6aac1c6d3dd3157956257d3d234ef18c91e82589a78169fbb4a8770977dc2f8508935084818180828009800909905062002aa560005262003015565b847f1a20ada7576234eee6273dd6fa98b25ed037748080a47d948fcda33256fb6bf582089050847f191033d6d85ceaa6fc7a9a23a6fd9996642d772045ece51335d49306728af96c83089150847f006e5979da7e7ef53a825aa6fddc3abfc76f200b3740b8b232ef481f5d06297b84089250847f0b0d7e69c651910bbef3e68d417e9fa0fbd57f596c8f29831eff8c0174cdb06d8508935084818180828009800909905062002b5660005262003015565b847f25caf5b0c1b93bc516435ec084e2ecd44ac46dbbb033c5112c4b20a25c9cdf9d82089050847f12c1ea892cc31e0d9af8b796d9645872f7f77442d62fd4c8085b2f150f72472a83089150847f16af29695157aba9b8bbe3afeb245feee5a929d9f928b9b81de6dadc78c32aae84089250847f0136df457c80588dd687fb2f3be18691705b87ec5a4cfdc168d31084256b67dc8508935084818180828009800909905062002c0760005262003015565b847f1639a28c5b4c81166aea984fba6e71479e07b1efbc74434db95a285060e7b08982089050847f03d62fbf82fd1d4313f8e650f587ec06816c28b700bdc50f7e232bd9b5ca9b7683089150847f11aeeb527dc8ce44b4d14aaddca3cfe2f77a1e40fc6da97c249830de1edfde5484089250847f13f9b9a41274129479c5e6138c6c8ee36a670e6bc68c7a49642b645807bfc8248508935084818180828009800909905062002cb860005262003015565b847f0e4772fa3d75179dc8484cd26c7c1f635ddeeed7a939440c506cae8b7ebcd15b82089050847f1b39a00cbc81e427de4bdec58febe8d8b5971752067a612b39fc46a68c5d4db483089150847f2bedb66e1ad5a1d571e16e2953f48731f66463c2eb54a245444d1c0a3a25707e84089250847f2cf0a09a55ca93af8abd068f06a7287fb08b193b608582a27379ce35da915dec8508935084818180828009800909905084828180828009800909915084838180828009800909925084848180828009800909935062002d8d60005262003015565b847f2d1bd78fa90e77aa88830cabfef2f8d27d1a512050ba7db0753c8fb863efb38782089050847f065610c6f4f92491f423d3071eb83539f7c0d49c1387062e630d7fd283dc339483089150847f2d933ff19217a5545013b12873452bebcc5f9969033f15ec642fb464bd60736884089250847f1aa9d3fe4c644910f76b92b3e13b30d500dae5354e79508c3c49c8aa99e0258b8508935084818180828009800909905084828180828009800909915084838180828009800909925084848180828009800909935062002e6260005262003015565b847f027ef04869e482b1c748638c59111c6b27095fa773e1aca078cea1f1c8450bdd82089050847f2b7d524c5172cbbb15db4e00668a8c449f67a2605d9ec03802e3fa136ad0b8fb83089150847f0c7c382443c6aa787c8718d86747c7f74693ae25b1e55df13f7c3c1dd735db0f84089250847f00b4567186bc3f7c62a7b56acf4f76207a1f43c2d30d0fe4a627dcdd9bd790788508935084818180828009800909905084828180828009800909915084838180828009800909925084848180828009800909935062002f3760005262003015565b847f1e41fc29b825454fe6d61737fe08b47fb07fe739e4c1e61d0337490883db4fd582089050847f12507cd556b7bbcc72ee6dafc616584421e1af872d8c0e89002ae8d3ba0653b683089150847f13d437083553006bcef312e5e6f52a5d97eb36617ef36fe4d77d3e97f71cb5db84089250847f163ec73251f85443687222487dda9a65467d90b22f0b38664686077c6a4486d5850893508481818082800980090990508482818082800980090991508483818082800980090992508484818082800980090993506200300c60005262003015565b60005260206000f35b8460205182098560405184098691088560605185098691088560805186098691088560a05183098660c05185098791088660e05186098791088661010051870987910886610120518409876101405186098891088761016051870988910887610180518809889108876101a0518509886101c0518709899108886101e051880989910888610200518909899108965094509250905060005156 + from: zeto.operator + node: node1 + paramsJSON: '{}' + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: SmartContractDeployment +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: operator-go + name: zeto-smt-lib +spec: + abiJSON: |- + [ + { + "inputs": [], + "name": "MAX_DEPTH_HARD_CAP", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ROOT_INFO_LIST_RETURN_LIMIT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + bytecode: 0x612f83610052600b82828239805160001a6073146045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101805760003560e01c806379f97125116100e2578063a751be2411610096578063dea7633a11610070578063dea7633a146104ac578063e170cf6e146104dc578063ec1451081461050c57610180565b8063a751be2414610435578063c1d29f0114610453578063dc9a7c8c1461047c57610180565b806391761b75116100c757806391761b75146103ac57806392f5b06c146103dc5780639e43b8131461040c57610180565b806379f971251461034c578063893f99f31461037c57610180565b806340a73d981161013957806362e8f2151161011e57806362e8f215146102bc578063792a470f146102ec57806379c17a961461031c57610180565b806340a73d981461026e5780635db40cda1461028c57610180565b8063138271361161016a57806313827136146101de57806317c850f01461020e57806321d609531461023e57610180565b806278f030146101855780630912610a146101b5575b600080fd5b61019f600480360381019061019a9190611fba565b61053c565b6040516101ac9190612009565b60405180910390f35b8180156101c157600080fd5b506101dc60048036038101906101d79190611fba565b61055f565b005b6101f860048036038101906101f39190612024565b61063a565b6040516102059190612200565b60405180910390f35b61022860048036038101906102239190611fba565b610669565b604051610235919061229d565b60405180910390f35b61025860048036038101906102539190612024565b6106c8565b60405161026591906123e2565b60405180910390f35b6102766107a5565b6040516102839190612009565b60405180910390f35b6102a660048036038101906102a19190611fba565b6107ab565b6040516102b39190612200565b60405180910390f35b6102d660048036038101906102d19190612404565b6107ce565b6040516102e39190612009565b60405180910390f35b61030660048036038101906103019190612024565b6107df565b6040516103139190612200565b60405180910390f35b61033660048036038101906103319190612024565b61080e565b6040516103439190612200565b60405180910390f35b61036660048036038101906103619190612404565b610b3a565b6040516103739190612009565b60405180910390f35b61039660048036038101906103919190612404565b610bc8565b6040516103a39190612009565b60405180910390f35b6103c660048036038101906103c19190612431565b610bd6565b6040516103d391906123e2565b60405180910390f35b6103f660048036038101906103f19190611fba565b610d35565b60405161040391906124a7565b60405180910390f35b81801561041857600080fd5b50610433600480360381019061042e9190611fba565b610d5a565b005b61043d610ddc565b60405161044a9190612009565b60405180910390f35b81801561045f57600080fd5b5061047a60048036038101906104759190612024565b610de2565b005b61049660048036038101906104919190611fba565b610e9e565b6040516104a3919061229d565b60405180910390f35b6104c660048036038101906104c19190611fba565b610efd565b6040516104d3919061229d565b60405180910390f35b6104f660048036038101906104f19190611fba565b610fb1565b60405161050391906125a1565b60405180910390f35b61052660048036038101906105219190612404565b611044565b60405161053391906124a7565b60405180910390f35b600082600201600083815260200190815260200160002080549050905092915050565b600081116105a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105999061263f565b60405180910390fd5b816003015481116105e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105df906126ab565b60405180910390fd5b61010081111561062d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106249061273d565b60405180910390fd5b8082600301819055505050565b610642611e89565b600061064e8584610669565b905061065f8585836000015161080e565b9150509392505050565b610671611ed2565b428211156106b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ab906127a9565b60405180910390fd5b6106c08383600061105f565b905092915050565b60606000806106e2866001018054905086866103e86110a6565b91509150600082826106f491906127f8565b67ffffffffffffffff81111561070d5761070c61282c565b5b60405190808252806020026020018201604052801561074657816020015b610733611ed2565b81526020019060019003908161072b5790505b50905060008390505b8281101561079757610761888261119d565b82858361076e91906127f8565b8151811061077f5761077e61285b565b5b6020026020010181905250808060010191505061074f565b508093505050509392505050565b6103e881565b6107b3611e89565b6107c683836107c186610b3a565b61080e565b905092915050565b600081600101805490509050919050565b6107e7611e89565b60006107f38584610e9e565b90506108048585836000015161080e565b9150509392505050565b610816611e89565b83826108228282610d35565b610861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610858906128d6565b60405180910390fd5b6000866003015467ffffffffffffffff8111156108815761088061282c565b5b6040519080825280602002602001820160405280156108af5781602001602082028036833780820191505090505b50905060005b87600301548110156108ef5760008282815181106108d6576108d561285b565b5b60200260200101818152505080806001019150506108b5565b5060006040518061010001604052808781526020016000151581526020018381526020018881526020016000815260200160001515815260200160008152602001600081525090506000869050610944611f08565b60005b8a600301548111610b295761095c8b84610fb1565b915060006002811115610972576109716124c2565b5b82600001516002811115610989576109886124c2565b5b0315610b2957600160028111156109a3576109a26124c2565b5b826000015160028111156109ba576109b96124c2565b5b03610a325783606001518260600151036109f25760018460200190151590811515815250508160800151846080018181525050610b29565b60018460a001901515908115158152505081606001518460c001818152505081608001518460e00181815250508160800151846080018181525050610b29565b600280811115610a4557610a446124c2565b5b82600001516002811115610a5c57610a5b6124c2565b5b03610adb57600180828660600151901c1603610aa65781604001519250816020015184604001518281518110610a9557610a9461285b565b5b602002602001018181525050610ad6565b81602001519250816040015184604001518281518110610ac957610ac861285b565b5b6020026020010181815250505b610b16565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d90612942565b60405180910390fd5b8080610b2190612962565b915050610947565b508296505050505050509392505050565b600081610b4681611044565b610b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7c906129f6565b60405180910390fd5b8260010160018460010180549050610b9d91906127f8565b81548110610bae57610bad61285b565b5b906000526020600020906003020160000154915050919050565b600081600301549050919050565b60608484610be48282610d35565b610c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1a906128d6565b60405180910390fd5b60008760020160008881526020019081526020016000209050600080610c51838054905089896103e86110a6565b9150915060008282610c6391906127f8565b67ffffffffffffffff811115610c7c57610c7b61282c565b5b604051908082528060200260200182016040528015610cb557816020015b610ca2611ed2565b815260200190600190039081610c9a5790505b50905060008390505b82811015610d2357610ced8c868381548110610cdd57610cdc61285b565b5b906000526020600020015461119d565b828583610cfa91906127f8565b81518110610d0b57610d0a61285b565b5b60200260200101819052508080600101915050610cbe565b50809650505050505050949350505050565b6000808360020160008481526020019081526020016000208054905011905092915050565b610d6382611044565b15610da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9a90612a62565b60405180910390fd5b610dad828261055f565b610dbb8260008060006112ea565b60018260040160006101000a81548160ff0219169083151502179055505050565b61010081565b82610dec81611044565b610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e22906129f6565b60405180910390fd5b60006040518060a0016040528060016002811115610e4c57610e4b6124c2565b5b815260200160008152602001600081526020018581526020018481525090506000610e7686610b3a565b90506000610e8787848460006113a7565b9050610e95878242436112ea565b50505050505050565b610ea6611ed2565b43821115610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090612ace565b60405180910390fd5b610ef58383600161105f565b905092915050565b610f05611ed2565b8282610f118282610d35565b610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f47906128d6565b60405180910390fd5b6000856002016000868152602001908152602001600020905060008160018380549050610f7d91906127f8565b81548110610f8e57610f8d61285b565b5b90600052602060002001549050610fa5878261119d565b94505050505092915050565b610fb9611f08565b8260000160008381526020019081526020016000206040518060a00160405290816000820160009054906101000a900460ff166002811115610ffe57610ffd6124c2565b5b60028111156110105761100f6124c2565b5b8152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b60008160040160009054906101000a900460ff169050919050565b611067611ed2565b60008061107f85858861164b9092919063ffffffff16565b915091508061109157611090612aee565b5b61109b868361119d565b925050509392505050565b600080600084116110ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e390612b69565b60405180910390fd5b8284111561112f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112690612bd5565b60405180910390fd5b858510611171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116890612c41565b60405180910390fd5b6000848661117f9190612c61565b90508681111561118d578690505b8581925092505094509492505050565b6111a5611ed2565b6000600184600101805490506111bb91906127f8565b8314905060008460010184815481106111d7576111d661285b565b5b906000526020600020906003020190506040518060c00160405280826000015481526020018361123a57866001016001876112129190612c61565b815481106112235761122261285b565b5b90600052602060002090600302016000015461123d565b60005b8152602001826001015481526020018361128a57866001016001876112629190612c61565b815481106112735761127261285b565b5b90600052602060002090600302016001015461128d565b60005b815260200182600201548152602001836112da57866001016001876112b29190612c61565b815481106112c3576112c261285b565b5b9060005260206000209060030201600201546112dd565b60005b8152509250505092915050565b83600101604051806060016040528085815260200184815260200183815250908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000155602082015181600101556040820151816002015550508360020160008481526020019081526020016000206001856001018054905061137b91906127f8565b908060018154018082558091505060019003906000526020600020016000909190919091505550505050565b600084600301548211156113f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e790612ce1565b60405180910390fd5b60008560000160008581526020019081526020016000206040518060a00160405290816000820160009054906101000a900460ff166002811115611437576114366124c2565b5b6002811115611449576114486124c2565b5b815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000806000905060006002811115611492576114916124c2565b5b836000015160028111156114a9576114a86124c2565b5b036114bf576114b88888611838565b905061163d565b600160028111156114d3576114d26124c2565b5b836000015160028111156114ea576114e96124c2565b5b0361152157866060015183606001511461150f5761150a88888588611a29565b61151a565b6115198888611838565b5b905061163c565b600280811115611534576115336124c2565b5b8360000151600281111561154b5761154a6124c2565b5b0361163b57611558611f08565b600180878a60600151901c16036115cd576115858989866040015160018a6115809190612c61565b6113a7565b92506040518060a001604052806002808111156115a5576115a46124c2565b5b815260200185602001518152602001848152602001600081526020016000815250905061162d565b6115e98989866020015160018a6115e49190612c61565b6113a7565b92506040518060a00160405280600280811115611609576116086124c2565b5b81526020018481526020018560400151815260200160008152602001600081525090505b6116378982611838565b9150505b5b5b809350505050949350505050565b60008060008560010180549050036116695760008091509150611830565b6000806001876001018054905061168091906127f8565b905060005b818311611825576002838361169a9190612c61565b6116a49190612d30565b905060006116fe8960010183815481106116c1576116c061285b565b5b9060005260206000209060030201604051806060016040529081600082015481526020016001820154815260200160028201548152505088611c28565b90508781036117ca575b6001896001018054905061171c91906127f8565b8210156117ba5760006117878a6001016001856117399190612c61565b8154811061174a5761174961285b565b5b9060005260206000209060030201604051806060016040529081600082015481526020016001820154815260200160028201548152505089611c28565b90508881036117a357828061179b90612962565b9350506117b4565b826001965096505050505050611830565b50611708565b8160019550955050505050611830565b808811156117e6576001826117df9190612c61565b935061181f565b80881080156117f55750600082115b1561180e5760018261180791906127f8565b925061181e565b6000809550955050505050611830565b5b50611685565b816001945094505050505b935093915050565b60008061184483611cda565b90506000600281111561185a576118596124c2565b5b84600001600083815260200190815260200160002060000160009054906101000a900460ff166002811115611892576118916124c2565b5b146119ad57826000015160028111156118ae576118ad6124c2565b5b84600001600083815260200190815260200160002060000160009054906101000a900460ff1660028111156118e6576118e56124c2565b5b146118f4576118f3612aee565b5b826020015184600001600083815260200190815260200160002060010154146119205761191f612aee565b5b8260400151846000016000838152602001908152602001600020600201541461194c5761194b612aee565b5b8260600151846000016000838152602001908152602001600020600301541461197857611977612aee565b5b826080015184600001600083815260200190815260200160002060040154146119a4576119a3612aee565b5b80915050611a23565b8284600001600083815260200190815260200160002060008201518160000160006101000a81548160ff021916908360028111156119ee576119ed6124c2565b5b021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050809150505b92915050565b600084600301548210611a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6890612ce1565b60405180910390fd5b611a79611f08565b6000600180858860600151901c161490506000600180868860600151901c1614905080151582151503611b5f576000611ac089898960018a611abb9190612c61565b611a29565b90508215611b0b576040518060a00160405280600280811115611ae657611ae56124c2565b5b8152602001600081526020018281526020016000815260200160008152509350611b4a565b6040518060a00160405280600280811115611b2957611b286124c2565b5b81526020018281526020016000815260200160008152602001600081525093505b611b548985611838565b945050505050611c20565b8115611bb7576040518060a00160405280600280811115611b8357611b826124c2565b5b8152602001611b9188611cda565b8152602001611b9f89611cda565b81526020016000815260200160008152509250611c05565b6040518060a00160405280600280811115611bd557611bd46124c2565b5b8152602001611be389611cda565b8152602001611bf188611cda565b815260200160008152602001600081525092505b611c0f8888611838565b50611c1a8884611838565b93505050505b949350505050565b6000600180811115611c3d57611c3c6124c2565b5b826001811115611c5057611c4f6124c2565b5b03611c615782604001519050611cd4565b60006001811115611c7557611c746124c2565b5b826001811115611c8857611c876124c2565b5b03611c995782602001519050611cd4565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccb90612dad565b60405180910390fd5b92915050565b6000806000905060016002811115611cf557611cf46124c2565b5b83600001516002811115611d0c57611d0b6124c2565b5b03611db9576000604051806060016040528085606001518152602001856080015181526020016001815250905073__$03320550cd1b629da90608251571b2532e$__6325cc70e8826040518263ffffffff1660e01b8152600401611d709190612e51565b602060405180830381865af4158015611d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db19190612e81565b915050611e80565b600280811115611dcc57611dcb6124c2565b5b83600001516002811115611de357611de26124c2565b5b03611e7f5773__$ebe82a1924a894141c89e6680d3cbc7e88$__6329a5f2f660405180604001604052808660200151815260200186604001518152506040518263ffffffff1660e01b8152600401611e3b9190612f32565b602060405180830381865af4158015611e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7c9190612e81565b90505b5b80915050919050565b6040518061010001604052806000815260200160001515815260200160608152602001600081526020016000815260200160001515815260200160008152602001600081525090565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528060006002811115611f2757611f266124c2565b5b8152602001600081526020016000815260200160008152602001600081525090565b600080fd5b6000819050919050565b611f6181611f4e565b8114611f6c57600080fd5b50565b600081359050611f7e81611f58565b92915050565b6000819050919050565b611f9781611f84565b8114611fa257600080fd5b50565b600081359050611fb481611f8e565b92915050565b60008060408385031215611fd157611fd0611f49565b5b6000611fdf85828601611f6f565b9250506020611ff085828601611fa5565b9150509250929050565b61200381611f84565b82525050565b600060208201905061201e6000830184611ffa565b92915050565b60008060006060848603121561203d5761203c611f49565b5b600061204b86828701611f6f565b935050602061205c86828701611fa5565b925050604061206d86828701611fa5565b9150509250925092565b61208081611f84565b82525050565b60008115159050919050565b61209b81612086565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006120d98383612077565b60208301905092915050565b6000602082019050919050565b60006120fd826120a1565b61210781856120ac565b9350612112836120bd565b8060005b8381101561214357815161212a88826120cd565b9750612135836120e5565b925050600181019050612116565b5085935050505092915050565b6000610100830160008301516121696000860182612077565b50602083015161217c6020860182612092565b506040830151848203604086015261219482826120f2565b91505060608301516121a96060860182612077565b5060808301516121bc6080860182612077565b5060a08301516121cf60a0860182612092565b5060c08301516121e260c0860182612077565b5060e08301516121f560e0860182612077565b508091505092915050565b6000602082019050818103600083015261221a8184612150565b905092915050565b60c0820160008201516122386000850182612077565b50602082015161224b6020850182612077565b50604082015161225e6040850182612077565b5060608201516122716060850182612077565b5060808201516122846080850182612077565b5060a082015161229760a0850182612077565b50505050565b600060c0820190506122b26000830184612222565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60c0820160008201516122fa6000850182612077565b50602082015161230d6020850182612077565b5060408201516123206040850182612077565b5060608201516123336060850182612077565b5060808201516123466080850182612077565b5060a082015161235960a0850182612077565b50505050565b600061236b83836122e4565b60c08301905092915050565b6000602082019050919050565b600061238f826122b8565b61239981856122c3565b93506123a4836122d4565b8060005b838110156123d55781516123bc888261235f565b97506123c783612377565b9250506001810190506123a8565b5085935050505092915050565b600060208201905081810360008301526123fc8184612384565b905092915050565b60006020828403121561241a57612419611f49565b5b600061242884828501611f6f565b91505092915050565b6000806000806080858703121561244b5761244a611f49565b5b600061245987828801611f6f565b945050602061246a87828801611fa5565b935050604061247b87828801611fa5565b925050606061248c87828801611fa5565b91505092959194509250565b6124a181612086565b82525050565b60006020820190506124bc6000830184612498565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110612502576125016124c2565b5b50565b6000819050612513826124f1565b919050565b600061252382612505565b9050919050565b61253381612518565b82525050565b60a08201600082015161254f600085018261252a565b5060208201516125626020850182612077565b5060408201516125756040850182612077565b5060608201516125886060850182612077565b50608082015161259b6080850182612077565b50505050565b600060a0820190506125b66000830184612539565b92915050565b600082825260208201905092915050565b7f4d6178206465707468206d7573742062652067726561746572207468616e207a60008201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b60006126296023836125bc565b9150612634826125cd565b604082019050919050565b600060208201905081810360008301526126588161261c565b9050919050565b7f4d61782064657074682063616e206f6e6c7920626520696e6372656173656400600082015250565b6000612695601f836125bc565b91506126a08261265f565b602082019050919050565b600060208201905081810360008301526126c481612688565b9050919050565b7f4d61782064657074682069732067726561746572207468616e2068617264206360008201527f6170000000000000000000000000000000000000000000000000000000000000602082015250565b60006127276022836125bc565b9150612732826126cb565b604082019050919050565b600060208201905081810360008301526127568161271a565b9050919050565b7f4e6f206675747572652074696d657374616d707320616c6c6f77656400000000600082015250565b6000612793601c836125bc565b915061279e8261275d565b602082019050919050565b600060208201905081810360008301526127c281612786565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061280382611f84565b915061280e83611f84565b9250828203905081811115612826576128256127c9565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f526f6f7420646f6573206e6f7420657869737400000000000000000000000000600082015250565b60006128c06013836125bc565b91506128cb8261288a565b602082019050919050565b600060208201905081810360008301526128ef816128b3565b9050919050565b7f496e76616c6964206e6f64652074797065000000000000000000000000000000600082015250565b600061292c6011836125bc565b9150612937826128f6565b602082019050919050565b6000602082019050818103600083015261295b8161291f565b9050919050565b600061296d82611f84565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361299f5761299e6127c9565b5b600182019050919050565b7f536d74206973206e6f7420696e697469616c697a656400000000000000000000600082015250565b60006129e06016836125bc565b91506129eb826129aa565b602082019050919050565b60006020820190508181036000830152612a0f816129d3565b9050919050565b7f536d7420697320616c726561647920696e697469616c697a6564000000000000600082015250565b6000612a4c601a836125bc565b9150612a5782612a16565b602082019050919050565b60006020820190508181036000830152612a7b81612a3f565b9050919050565b7f4e6f2066757475726520626c6f636b7320616c6c6f7765640000000000000000600082015250565b6000612ab86018836125bc565b9150612ac382612a82565b602082019050919050565b60006020820190508181036000830152612ae781612aab565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4c656e6774682073686f756c642062652067726561746572207468616e203000600082015250565b6000612b53601f836125bc565b9150612b5e82612b1d565b602082019050919050565b60006020820190508181036000830152612b8281612b46565b9050919050565b7f4c656e677468206c696d69742065786365656465640000000000000000000000600082015250565b6000612bbf6015836125bc565b9150612bca82612b89565b602082019050919050565b60006020820190508181036000830152612bee81612bb2565b9050919050565b7f537461727420696e646578206f7574206f6620626f756e647300000000000000600082015250565b6000612c2b6019836125bc565b9150612c3682612bf5565b602082019050919050565b60006020820190508181036000830152612c5a81612c1e565b9050919050565b6000612c6c82611f84565b9150612c7783611f84565b9250828201905080821115612c8f57612c8e6127c9565b5b92915050565b7f4d61782064657074682072656163686564000000000000000000000000000000600082015250565b6000612ccb6011836125bc565b9150612cd682612c95565b602082019050919050565b60006020820190508181036000830152612cfa81612cbe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d3b82611f84565b9150612d4683611f84565b925082612d5657612d55612d01565b5b828204905092915050565b7f496e76616c696420736561726368207479706500000000000000000000000000600082015250565b6000612d976013836125bc565b9150612da282612d61565b602082019050919050565b60006020820190508181036000830152612dc681612d8a565b9050919050565b600060039050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b612e0381612dcd565b612e0d8184612dd8565b9250612e1882612de3565b8060005b83811015612e49578151612e3087826120cd565b9650612e3b83612ded565b925050600181019050612e1c565b505050505050565b6000606082019050612e666000830184612dfa565b92915050565b600081519050612e7b81611f8e565b92915050565b600060208284031215612e9757612e96611f49565b5b6000612ea584828501612e6c565b91505092915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b612ee481612eae565b612eee8184612eb9565b9250612ef982612ec4565b8060005b83811015612f2a578151612f1187826120cd565b9650612f1c83612ece565b925050600181019050612efd565b505050505050565b6000604082019050612f476000830184612edb565b9291505056fea2646970667358221220dacedcec37eeb0e0724e12f4631ddef32b64c31862a9103132f24f828c1b901664736f6c634300081b0033 + from: zeto.operator + linkReferencesJSON: |- + { + "@iden3/contracts/lib/Poseidon.sol": { + "PoseidonUnit2L": [ + { + "length": 20, + "start": 7740 + } + ], + "PoseidonUnit3L": [ + { + "length": 20, + "start": 7565 + } + ] + } + } + linkedContracts: + PoseidonUnit2L: '{{index .status.resolvedContractAddresses "zeto-poseidon-unit2l"}}' + PoseidonUnit3L: '{{index .status.resolvedContractAddresses "zeto-poseidon-unit3l"}}' + node: node1 + paramsJSON: '{}' + requiredContractDeployments: + - zeto-poseidon-unit2l + - zeto-poseidon-unit3l + txType: public +status: {} + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: TransactionInvoke +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: zeto-anon +spec: + node: node1 + from: zeto.operator + txType: public + toTemplate: '{{ index .status.resolvedContractAddresses "zeto-factory" }}' + requiredContractDeployments: + - "zeto-factory" + - "zeto-impl-anon" + - "zeto-g16-check-hashes-value" + - "zeto-g16-check-inputs-outputs" + - "zeto-g16-check-inputs-outputs-batch" + - "zeto-g16-verifier-anon" + - "zeto-g16-verifier-anon-batch" + function: registerImplementation + paramsJSONTemplate: | + { + "name": "Zeto_Anon", + "implementation": { + "implementation": "{{ index .status.resolvedContractAddresses "zeto-impl-anon" }}", + "depositVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-hashes-value" }}", + "withdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs" }}", + "batchWithdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs-batch" }}", + "verifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon" }}", + "batchVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon-batch" }}" + } + } + abiJSON: | + [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "internalType": "address", + "name": "depositVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "withdrawVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "verifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchWithdrawVerifier", + "type": "address" + } + ], + "internalType": "struct ZetoTokenFactory.ImplementationInfo", + "name": "implementation", + "type": "tuple" + } + ], + "name": "registerImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: TransactionInvoke +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: zeto-anon-enc +spec: + node: node1 + from: zeto.operator + txType: public + toTemplate: '{{ index .status.resolvedContractAddresses "zeto-factory" }}' + requiredContractDeployments: + - "zeto-factory" + - "zeto-impl-anon-enc" + - "zeto-g16-check-hashes-value" + - "zeto-g16-check-inputs-outputs" + - "zeto-g16-check-inputs-outputs-batch" + - "zeto-g16-verifier-anon-enc" + - "zeto-g16-verifier-anon-enc-batch" + function: registerImplementation + paramsJSONTemplate: | + { + "name": "Zeto_AnonEnc", + "implementation": { + "implementation": "{{ index .status.resolvedContractAddresses "zeto-impl-anon-enc" }}", + "depositVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-hashes-value" }}", + "withdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs" }}", + "batchWithdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs-batch" }}", + "verifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon-enc" }}", + "batchVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon-enc-batch" }}" + } + } + abiJSON: | + [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "internalType": "address", + "name": "depositVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "withdrawVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "verifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchWithdrawVerifier", + "type": "address" + } + ], + "internalType": "struct ZetoTokenFactory.ImplementationInfo", + "name": "implementation", + "type": "tuple" + } + ], + "name": "registerImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + +--- +apiVersion: core.paladin.io/v1alpha1 +kind: TransactionInvoke +metadata: + labels: + app.kubernetes.io/name: operator-go + app.kubernetes.io/managed-by: kustomize + name: zeto-anon-nullifier +spec: + node: node1 + from: zeto.operator + txType: public + toTemplate: '{{ index .status.resolvedContractAddresses "zeto-factory" }}' + requiredContractDeployments: + - "zeto-factory" + - "zeto-impl-anon-nullifier" + - "zeto-g16-check-hashes-value" + - "zeto-g16-check-inputs-outputs" + - "zeto-g16-check-inputs-outputs-batch" + - "zeto-g16-verifier-anon-nullifier" + - "zeto-g16-verifier-anon-nullifier-batch" + function: registerImplementation + paramsJSONTemplate: | + { + "name": "Zeto_AnonNullifier", + "implementation": { + "implementation": "{{ index .status.resolvedContractAddresses "zeto-impl-anon-nullifier" }}", + "depositVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-hashes-value" }}", + "withdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs" }}", + "batchWithdrawVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-check-inputs-outputs-batch" }}", + "verifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon-nullifier" }}", + "batchVerifier": "{{ index .status.resolvedContractAddresses "zeto-g16-verifier-anon-nullifier-batch" }}" + } + } + abiJSON: | + [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "internalType": "address", + "name": "depositVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "withdrawVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "verifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchVerifier", + "type": "address" + }, + { + "internalType": "address", + "name": "batchWithdrawVerifier", + "type": "address" + } + ], + "internalType": "struct ZetoTokenFactory.ImplementationInfo", + "name": "implementation", + "type": "tuple" + } + ], + "name": "registerImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] diff --git a/operator/internal/controller/besu_controller_test.go b/operator/internal/controller/besu_controller_test.go index ae9b19385..d07fc59c1 100644 --- a/operator/internal/controller/besu_controller_test.go +++ b/operator/internal/controller/besu_controller_test.go @@ -99,7 +99,7 @@ var _ = Describe("Besu Controller", func() { func TestBesu_GetLabels(t *testing.T) { // Mock configuration config := config.Config{ - Paladin: config.Template{ + Besu: config.Template{ Labels: map[string]string{ "env": "production", "tier": "backend", @@ -128,11 +128,14 @@ func TestBesu_GetLabels(t *testing.T) { // Assertions expectedLabels := map[string]string{ - "app": "besu-test-node", - "env": "production", - "tier": "backend", - "version": "v1", + "env": "production", + "tier": "backend", + "version": "v1", + "app.kubernetes.io/instance": "test-node", + "app.kubernetes.io/name": "besu-test-node", + "app.kubernetes.io/part-of": "paladin", } + assert.Equal(t, len(expectedLabels), len(labels), "labels should have the same length") assert.Equal(t, expectedLabels, labels, "labels should match expected labels") } diff --git a/operator/internal/controller/common_test.go b/operator/internal/controller/common_test.go index 060bb1d82..178b110b4 100644 --- a/operator/internal/controller/common_test.go +++ b/operator/internal/controller/common_test.go @@ -2,10 +2,193 @@ package controller import ( "testing" + "time" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "context" + "sort" + + "sigs.k8s.io/controller-runtime/pkg/client/fake" + "sigs.k8s.io/controller-runtime/pkg/reconcile" + + corev1alpha1 "github.com/kaleido-io/paladin/operator/api/v1alpha1" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/intstr" + "k8s.io/apimachinery/pkg/util/sets" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/event" ) +// Test mergeServicePorts +func TestMergeServicePorts(t *testing.T) { + svcSpec := &corev1.ServiceSpec{ + Ports: []corev1.ServicePort{ + {Name: "http", Port: 80, Protocol: corev1.ProtocolTCP, TargetPort: intstr.FromInt(80)}, + {Name: "https", Port: 443, Protocol: corev1.ProtocolTCP, TargetPort: intstr.FromInt(443)}, + }, + } + + requiredPorts := []corev1.ServicePort{ + {Name: "http", Port: 8080, Protocol: corev1.ProtocolTCP, TargetPort: intstr.FromInt(8080)}, + {Name: "metrics", Port: 9090, Protocol: corev1.ProtocolTCP, TargetPort: intstr.FromInt(9090)}, + } + + expectedPorts := []corev1.ServicePort{ + {Name: "http", Port: 80, Protocol: corev1.ProtocolTCP, TargetPort: intstr.FromInt(8080)}, + {Name: "https", Port: 443, Protocol: corev1.ProtocolTCP, TargetPort: intstr.FromInt(443)}, + {Name: "metrics", Port: 9090, Protocol: corev1.ProtocolTCP, TargetPort: intstr.FromInt(9090)}, + } + + mergeServicePorts(svcSpec, requiredPorts) + + sort.Slice(svcSpec.Ports, func(i, j int) bool { + return svcSpec.Ports[i].Name < svcSpec.Ports[j].Name + }) + + assert.Equal(t, 3, len(svcSpec.Ports), "Expected 3 ports") + assert.Equal(t, expectedPorts, svcSpec.Ports) +} + +// Test deDupAndSortInLocalNS +func TestDeDupAndSortInLocalNS(t *testing.T) { + var podCRMap = CRMap[corev1.Pod, *corev1.Pod, *corev1.PodList]{ + NewList: func() *corev1.PodList { return new(corev1.PodList) }, + ItemsFor: func(list *corev1.PodList) []corev1.Pod { return list.Items }, + AsObject: func(item *corev1.Pod) *corev1.Pod { return item }, + } + + mockList := &corev1.PodList{ + Items: []corev1.Pod{ + {ObjectMeta: metav1.ObjectMeta{Name: "pod-a"}}, + {ObjectMeta: metav1.ObjectMeta{Name: "pod-b"}}, + {ObjectMeta: metav1.ObjectMeta{Name: "pod-a"}}, // Duplicate + }, + } + + sorted := deDupAndSortInLocalNS(podCRMap, mockList) + + expectedNames := []string{"pod-a", "pod-b"} + actualNames := make([]string, len(sorted)) + for i, pod := range sorted { + actualNames[i] = pod.GetName() + } + + assert.Equal(t, 2, len(sorted), "Expected 2 pods") + assert.Equal(t, expectedNames, actualNames, "Expected pod names to match") +} + +// Test setCondition +func TestSetCondition(t *testing.T) { + var conditions []metav1.Condition + + setCondition(&conditions, corev1alpha1.ConditionType("Ready"), metav1.ConditionTrue, corev1alpha1.ConditionReason("DeploymentSucceeded"), "Deployment successful") + + require.Equal(t, 1, len(conditions), "Expected 1 condition") + + condition := conditions[0] + assert.False(t, condition.Type != "Ready" || condition.Status != metav1.ConditionTrue || condition.Reason != "DeploymentSucceeded", "Condition type should be Ready") +} + +// Mock client for reconcileAll +type mockClient struct{} + +func (m *mockClient) List(ctx context.Context, obj client.ObjectList, opts ...client.ListOption) error { + podList := obj.(*corev1.PodList) + *podList = corev1.PodList{ + Items: []corev1.Pod{ + {ObjectMeta: metav1.ObjectMeta{Name: "pod-1", Namespace: "test-ns"}}, + {ObjectMeta: metav1.ObjectMeta{Name: "pod-2", Namespace: "test-ns"}}, + }, + } + return nil +} + +// MockRateLimitingQueue is a simple implementation of the workqueue.RateLimitingInterface for testing purposes. +type MockRateLimitingQueue struct { + items []reconcile.Request +} + +func (q *MockRateLimitingQueue) Add(item interface{}) { + req, ok := item.(reconcile.Request) + if ok { + q.items = append(q.items, req) + } +} +func (q *MockRateLimitingQueue) Len() int { + return len(q.items) +} +func (q *MockRateLimitingQueue) Get() (item interface{}, shutdown bool) { + if len(q.items) == 0 { + return nil, true + } + item, q.items = q.items[0], q.items[1:] + return item, false +} +func (q *MockRateLimitingQueue) Done(item interface{}) {} +func (q *MockRateLimitingQueue) ShutDown() {} +func (q *MockRateLimitingQueue) ShuttingDown() bool { return false } +func (q *MockRateLimitingQueue) ShutDownWithDrain() {} +func (q *MockRateLimitingQueue) AddRateLimited(item interface{}) {} +func (q *MockRateLimitingQueue) Forget(item interface{}) {} +func (q *MockRateLimitingQueue) NumRequeues(item interface{}) int { return 0 } +func (q *MockRateLimitingQueue) AddAfter(item interface{}, duration time.Duration) {} + +func TestReconcileAll(t *testing.T) { + // Define CRMap + var podCRMap = CRMap[corev1.Pod, *corev1.Pod, *corev1.PodList]{ + NewList: func() *corev1.PodList { + return &corev1.PodList{} + }, + ItemsFor: func(list *corev1.PodList) []corev1.Pod { + return list.Items + }, + AsObject: func(item *corev1.Pod) *corev1.Pod { + return item + }, + } + + // Scheme setup + scheme := runtime.NewScheme() + _ = corev1.AddToScheme(scheme) + + // Fake client setup + client := fake.NewClientBuilder(). + WithScheme(scheme). + WithObjects( + &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "pod-1", Namespace: "test-ns"}}, + &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "pod-2", Namespace: "test-ns"}}, + ). + Build() + + // Mock queue to capture reconcile requests + mockQueue := &MockRateLimitingQueue{} + + // Create the handler + handler := reconcileAll(podCRMap, client) + + // Simulate a create event for a new pod + p := corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "pod-3", Namespace: "test-ns"}} + e := event.CreateEvent{Object: &p} + handler.Create(context.TODO(), e, mockQueue) + + // Verify the captured requests + expectedRequests := sets.NewString( + "pod-1/test-ns", + "pod-2/test-ns", + ) + + actualRequests := sets.NewString() + for _, req := range mockQueue.items { + actualRequests.Insert(req.Name + "/" + req.Namespace) + } + + assert.Equal(t, expectedRequests, actualRequests, "Expected reconcile requests to match") +} + func TestMapToStruct(t *testing.T) { type example struct { diff --git a/operator/internal/controller/paladin_controller.go b/operator/internal/controller/paladin_controller.go index 25b1d7a4d..05d74f8e0 100644 --- a/operator/internal/controller/paladin_controller.go +++ b/operator/internal/controller/paladin_controller.go @@ -707,7 +707,7 @@ func (r *PaladinReconciler) generatePaladinConfig(ctx context.Context, node *cor } // Override the default config with the user provided config - if err := r.generatePaladinAuthConfig(ctx, node, &pldConf); err != nil { + if err := r.generatePaladinBlockchainConfig(ctx, node, &pldConf); err != nil { return "", nil, err } @@ -736,29 +736,64 @@ func (r *PaladinReconciler) generatePaladinConfig(ctx context.Context, node *cor return "", nil, err } - // Bind to the a local besu node if we've been configured with one - if node.Spec.BesuNode != "" { - pldConf.Blockchain.HTTP.URL = fmt.Sprintf("http://%s:8545", generateBesuServiceHostname(node.Spec.BesuNode, node.Namespace)) - pldConf.Blockchain.WS.URL = fmt.Sprintf("ws://%s:8546", generateBesuServiceHostname(node.Spec.BesuNode, node.Namespace)) - } b, err := yaml.Marshal(&pldConf) return string(b), tlsSecrets, err } +func (r *PaladinReconciler) generatePaladinBlockchainConfig(ctx context.Context, node *corev1alpha1.Paladin, pldConf *pldconf.PaladinConfig) error { + if node.Spec.BaseLedgerEndpoint == nil { + // Alternatively, the config can be provided in the spec.config + + // fallback: check the deprecated fields + if node.Spec.BesuNode != "" { + pldConf.Blockchain.HTTP.URL = fmt.Sprintf("http://%s:8545", generateBesuServiceHostname(node.Spec.BesuNode, node.Namespace)) + pldConf.Blockchain.WS.URL = fmt.Sprintf("ws://%s:8546", generateBesuServiceHostname(node.Spec.BesuNode, node.Namespace)) + } else { + if err := r.generatePaladinAuthConfig(ctx, node, node.Spec.AuthConfig, pldConf); err != nil { + return err + } + } -func (r *PaladinReconciler) generatePaladinAuthConfig(ctx context.Context, node *corev1alpha1.Paladin, pldConf *pldconf.PaladinConfig) error { - // generate the Paladin auth config - if node.Spec.AuthConfig == nil { return nil } + endpoint := node.Spec.BaseLedgerEndpoint + switch endpoint.Type { + case corev1alpha1.EndpointTypeLocal: + lEndpoint := endpoint.Local + if lEndpoint == nil { + return fmt.Errorf("local endpoint is nil") + } + pldConf.Blockchain.HTTP.URL = fmt.Sprintf("http://%s:8545", generateBesuServiceHostname(lEndpoint.NodeName, node.Namespace)) + pldConf.Blockchain.WS.URL = fmt.Sprintf("ws://%s:8546", generateBesuServiceHostname(lEndpoint.NodeName, node.Namespace)) + case corev1alpha1.EndpointTypeNetwork: + nEndpoint := endpoint.Endpoint + if nEndpoint == nil { + return fmt.Errorf("network endpoint is nil") + } + pldConf.Blockchain.HTTP.URL = nEndpoint.JSONRPC + pldConf.Blockchain.WS.URL = nEndpoint.WS + if err := r.generatePaladinAuthConfig(ctx, node, nEndpoint.Auth, pldConf); err != nil { + return err + } + default: + return fmt.Errorf("unsupported endpoint type '%s'", endpoint.Type) + } - switch node.Spec.AuthConfig.AuthMethod { - case corev1alpha1.AuthMethodSecret: - if node.Spec.AuthConfig.AuthSecret == nil { - return fmt.Errorf("AuthSecret must be provided when using AuthMethodSecret") + return nil +} +func (r *PaladinReconciler) generatePaladinAuthConfig(ctx context.Context, node *corev1alpha1.Paladin, authConfig *corev1alpha1.Auth, pldConf *pldconf.PaladinConfig) error { + + if authConfig == nil { + return nil + } + + switch authConfig.Type { + case corev1alpha1.AuthTypeSecret: + if authConfig.Secret == nil { + return fmt.Errorf("AuthSecret must be provided when using AuthTypeSecret") } - secretName := node.Spec.AuthConfig.AuthSecret.Name + secretName := authConfig.Secret.Name if secretName == "" { - return fmt.Errorf("AuthSecret must be provided when using AuthMethodSecret") + return fmt.Errorf("AuthSecret must be provided when using AuthTypeSecret") } sec := &corev1.Secret{} if err := r.Client.Get(ctx, types.NamespacedName{Name: secretName, Namespace: node.Namespace}, sec); err != nil { @@ -767,8 +802,12 @@ func (r *PaladinReconciler) generatePaladinAuthConfig(ctx context.Context, node if sec.Data == nil { return fmt.Errorf("Secret %s has no data", secretName) } - mapToStruct(sec.Data, &pldConf.Blockchain.HTTP.Auth) - mapToStruct(sec.Data, &pldConf.Blockchain.WS.Auth) + if err := mapToStruct(sec.Data, &pldConf.Blockchain.HTTP.Auth); err != nil { + return err + } + if err := mapToStruct(sec.Data, &pldConf.Blockchain.WS.Auth); err != nil { + return err + } } return nil } diff --git a/operator/internal/controller/paladin_controller_test.go b/operator/internal/controller/paladin_controller_test.go index cf51e1b01..aeec3189b 100644 --- a/operator/internal/controller/paladin_controller_test.go +++ b/operator/internal/controller/paladin_controller_test.go @@ -189,31 +189,17 @@ func TestPaladin_GetLabels(t *testing.T) { // Assertions expectedLabels := map[string]string{ - "app": "paladin-test-node", - "env": "production", - "tier": "backend", - "version": "v1", + "env": "production", + "tier": "backend", + "version": "v1", + "app.kubernetes.io/instance": "test-node", + "app.kubernetes.io/name": "paladin-test-node", + "app.kubernetes.io/part-of": "paladin", } assert.Equal(t, expectedLabels, labels, "labels should match expected labels") } -// package controllers - -// import ( -// "context" -// "fmt" -// "testing" - -// "github.com/stretchr/testify/assert" -// corev1 "k8s.io/api/core/v1" -// "k8s.io/apimachinery/pkg/types" -// "sigs.k8s.io/controller-runtime/pkg/client/fake" - -// corev1alpha1 "path/to/your/api/v1alpha1" -// "path/to/your/pldconf" -// ) - func TestGeneratePaladinAuthConfig(t *testing.T) { tests := []struct { name string @@ -230,9 +216,14 @@ func TestGeneratePaladinAuthConfig(t *testing.T) { Namespace: "default", }, Spec: corev1alpha1.PaladinSpec{ - AuthConfig: &corev1alpha1.AuthConfig{ - AuthMethod: corev1alpha1.AuthMethodSecret, - AuthSecret: &corev1alpha1.AuthSecret{Name: "test-secret"}, + BaseLedgerEndpoint: &corev1alpha1.BaseLedgerEndpoint{ + Type: corev1alpha1.EndpointTypeNetwork, + Endpoint: &corev1alpha1.NetworkLedgerEndpoint{ + Auth: &corev1alpha1.Auth{ + Type: corev1alpha1.AuthTypeSecret, + Secret: &corev1alpha1.AuthSecret{Name: "test-secret"}, + }, + }, }, }, }, @@ -274,9 +265,16 @@ func TestGeneratePaladinAuthConfig(t *testing.T) { Namespace: "default", }, Spec: corev1alpha1.PaladinSpec{ - AuthConfig: &corev1alpha1.AuthConfig{ - AuthMethod: corev1alpha1.AuthMethodSecret, - AuthSecret: &corev1alpha1.AuthSecret{Name: "test-secret"}, + BaseLedgerEndpoint: &corev1alpha1.BaseLedgerEndpoint{ + Type: corev1alpha1.EndpointTypeNetwork, + Endpoint: &corev1alpha1.NetworkLedgerEndpoint{ + JSONRPC: "https://besu.node", + WS: "wss://besu.mode", + Auth: &corev1alpha1.Auth{ + Type: corev1alpha1.AuthTypeSecret, + Secret: &corev1alpha1.AuthSecret{Name: "test-secret"}, + }, + }, }, }, }, @@ -291,8 +289,13 @@ func TestGeneratePaladinAuthConfig(t *testing.T) { Namespace: "default", }, Spec: corev1alpha1.PaladinSpec{ - AuthConfig: &corev1alpha1.AuthConfig{ - AuthMethod: corev1alpha1.AuthMethodSecret, + BaseLedgerEndpoint: &corev1alpha1.BaseLedgerEndpoint{ + Type: corev1alpha1.EndpointTypeNetwork, + Endpoint: &corev1alpha1.NetworkLedgerEndpoint{ + Auth: &corev1alpha1.Auth{ + Type: corev1alpha1.AuthTypeSecret, + }, + }, }, }, }, @@ -303,9 +306,14 @@ func TestGeneratePaladinAuthConfig(t *testing.T) { name: "Secret with no data", node: &corev1alpha1.Paladin{ Spec: corev1alpha1.PaladinSpec{ - AuthConfig: &corev1alpha1.AuthConfig{ - AuthMethod: corev1alpha1.AuthMethodSecret, - AuthSecret: &corev1alpha1.AuthSecret{Name: "empty-secret"}, + BaseLedgerEndpoint: &corev1alpha1.BaseLedgerEndpoint{ + Type: corev1alpha1.EndpointTypeNetwork, + Endpoint: &corev1alpha1.NetworkLedgerEndpoint{ + Auth: &corev1alpha1.Auth{ + Type: corev1alpha1.AuthTypeSecret, + Secret: &corev1alpha1.AuthSecret{Name: "empty-secret"}, + }, + }, }, }, }, @@ -339,7 +347,8 @@ func TestGeneratePaladinAuthConfig(t *testing.T) { // Call the method under test pldConf := &pldconf.PaladinConfig{} - err := reconciler.generatePaladinAuthConfig(ctx, tt.node, pldConf) + + err := reconciler.generatePaladinAuthConfig(ctx, tt.node, tt.node.Spec.BaseLedgerEndpoint.Endpoint.Auth, pldConf) // Verify the results if tt.wantErr { diff --git a/operator/internal/controller/smartcontractdeployment_controller.go b/operator/internal/controller/smartcontractdeployment_controller.go index 239a99644..0f6bd00d0 100644 --- a/operator/internal/controller/smartcontractdeployment_controller.go +++ b/operator/internal/controller/smartcontractdeployment_controller.go @@ -203,14 +203,16 @@ func (r *SmartContractDeploymentReconciler) reconcilePaladin(ctx context.Context } scds := &corev1alpha1.SmartContractDeploymentList{} - r.Client.List(ctx, scds, client.InNamespace(paladin.Namespace)) - reqs := make([]ctrl.Request, 0, len(scds.Items)) + reqs := []ctrl.Request{} - for _, scd := range scds.Items { - if scd.Spec.Node == paladin.Name { - reqs = append(reqs, ctrl.Request{NamespacedName: client.ObjectKeyFromObject(&scd)}) + if err := r.Client.List(ctx, scds, client.InNamespace(paladin.Namespace)); err == nil { + for _, scd := range scds.Items { + if scd.Spec.Node == paladin.Name { + reqs = append(reqs, ctrl.Request{NamespacedName: client.ObjectKeyFromObject(&scd)}) + } } } + return reqs } diff --git a/operator/internal/controller/transactioninvoke_controller.go b/operator/internal/controller/transactioninvoke_controller.go index 98a1e64d4..ec4e0b12d 100644 --- a/operator/internal/controller/transactioninvoke_controller.go +++ b/operator/internal/controller/transactioninvoke_controller.go @@ -230,14 +230,16 @@ func (r *TransactionInvokeReconciler) reconcilePaladin(ctx context.Context, obj } tis := &corev1alpha1.TransactionInvokeList{} - r.Client.List(ctx, tis, client.InNamespace(paladin.Namespace)) - reqs := make([]ctrl.Request, 0, len(tis.Items)) + reqs := []ctrl.Request{} - for _, ti := range tis.Items { - if ti.Spec.Node == paladin.Name { - reqs = append(reqs, ctrl.Request{NamespacedName: client.ObjectKeyFromObject(&ti)}) + if err := r.Client.List(ctx, tis, client.InNamespace(paladin.Namespace)); err == nil { + for _, ti := range tis.Items { + if ti.Spec.Node == paladin.Name { + reqs = append(reqs, ctrl.Request{NamespacedName: client.ObjectKeyFromObject(&ti)}) + } } } + return reqs } diff --git a/operator/internal/controller/transactioninvoke_controller_test.go b/operator/internal/controller/transactioninvoke_controller_test.go index a086e4c77..621bf7283 100644 --- a/operator/internal/controller/transactioninvoke_controller_test.go +++ b/operator/internal/controller/transactioninvoke_controller_test.go @@ -47,11 +47,17 @@ var _ = Describe("TransactionInvoke Controller", func() { err := k8sClient.Get(ctx, typeNamespacedName, transactioninvoke) if err != nil && errors.IsNotFound(err) { resource := &corev1alpha1.TransactionInvoke{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "core.paladin.io/v1alpha1", + Kind: "TransactionInvoke", + }, ObjectMeta: metav1.ObjectMeta{ Name: resourceName, Namespace: "default", }, - // TODO(user): Specify other spec details if needed. + Spec: corev1alpha1.TransactionInvokeSpec{ + TxType: "public", + }, } Expect(k8sClient.Create(ctx, resource)).To(Succeed()) } diff --git a/operator/utils/consts.go b/operator/utils/consts.go index b87526a72..39dda3073 100644 --- a/operator/utils/consts.go +++ b/operator/utils/consts.go @@ -15,3 +15,5 @@ */ package utils + +const ApplicationName = "paladin"