From 5dbaf42e6cb7375cb5e91a5c4910b91e725ff050 Mon Sep 17 00:00:00 2001
From: Piotr Roslaniec
Date: Fri, 6 Oct 2023 13:23:28 +0200
Subject: [PATCH 1/8] feat(allowlist): register encrypters in the ritual
allowlist
---
packages/pre/src/characters/bob.ts | 4 +-
packages/pre/src/cohort.ts | 4 +-
packages/pre/src/kits/retrieval.ts | 2 +-
packages/pre/src/policy.ts | 3 +-
packages/shared/abis/GlobalAllowList.json | 522 ++++++++++
.../src/contracts/agents/global-allow-list.ts | 41 +
packages/shared/src/contracts/agents/index.ts | 1 +
.../ethers-typechain/GlobalAllowList.ts | 976 ++++++++++++++++++
.../factories/GlobalAllowList__factory.ts | 546 ++++++++++
.../ethers-typechain/factories/index.ts | 1 +
.../src/contracts/ethers-typechain/index.ts | 2 +
packages/shared/src/contracts/registry.ts | 9 +-
packages/shared/src/index.ts | 2 +-
packages/shared/src/types.ts | 2 +-
packages/shared/src/web3.ts | 2 +-
packages/taco/src/conditions/const.ts | 2 +-
packages/taco/src/taco.ts | 22 +-
packages/test-utils/src/utils.ts | 8 +-
18 files changed, 2133 insertions(+), 16 deletions(-)
create mode 100644 packages/shared/abis/GlobalAllowList.json
create mode 100644 packages/shared/src/contracts/agents/global-allow-list.ts
create mode 100644 packages/shared/src/contracts/ethers-typechain/GlobalAllowList.ts
create mode 100644 packages/shared/src/contracts/ethers-typechain/factories/GlobalAllowList__factory.ts
diff --git a/packages/pre/src/characters/bob.ts b/packages/pre/src/characters/bob.ts
index 6fac22ba7..6db7dabba 100644
--- a/packages/pre/src/characters/bob.ts
+++ b/packages/pre/src/characters/bob.ts
@@ -5,7 +5,7 @@ import {
SecretKey,
Signer,
} from '@nucypher/nucypher-core';
-import { PorterClient, zip } from '@nucypher/shared';
+import { ChecksumAddress, PorterClient, zip } from '@nucypher/shared';
import { Keyring } from '../keyring';
import { PolicyMessageKit, RetrievalResult } from '../kits';
@@ -128,7 +128,7 @@ export class Bob {
return zip(policyMessageKits, retrieveCFragsResponses).map((pair) => {
const [messageKit, { cFrags, errors }] = pair;
const vcFrags = Object.keys(cFrags).map((address) => {
- const verified = cFrags[address].verify(
+ const verified = cFrags[address as ChecksumAddress].verify(
messageKit.capsule,
publisherVerifyingKey,
policyEncryptingKey,
diff --git a/packages/pre/src/cohort.ts b/packages/pre/src/cohort.ts
index 43e820f8b..fecad583a 100644
--- a/packages/pre/src/cohort.ts
+++ b/packages/pre/src/cohort.ts
@@ -14,8 +14,8 @@ export class Cohort {
public static async create(
porterUri: string,
numUrsulas: number,
- include: string[] = [],
- exclude: string[] = [],
+ include: ChecksumAddress[] = [],
+ exclude: ChecksumAddress[] = [],
) {
const porter = new PorterClient(porterUri);
const ursulas = await porter.getUrsulas(numUrsulas, exclude, include);
diff --git a/packages/pre/src/kits/retrieval.ts b/packages/pre/src/kits/retrieval.ts
index ad5f333e2..cae7ad4ea 100644
--- a/packages/pre/src/kits/retrieval.ts
+++ b/packages/pre/src/kits/retrieval.ts
@@ -12,7 +12,7 @@ export class RetrievalResult {
}
public get addresses(): readonly ChecksumAddress[] {
- return Object.keys(this.cFrags);
+ return Object.keys(this.cFrags) as ChecksumAddress[];
}
public withResult(result: RetrievalResult): RetrievalResult {
diff --git a/packages/pre/src/policy.ts b/packages/pre/src/policy.ts
index 9ce220154..f5447ff31 100644
--- a/packages/pre/src/policy.ts
+++ b/packages/pre/src/policy.ts
@@ -7,6 +7,7 @@ import {
VerifiedKeyFrag,
} from '@nucypher/nucypher-core';
import {
+ ChecksumAddress,
PreSubscriptionManagerAgent,
toBytes,
toCanonicalAddress,
@@ -76,7 +77,7 @@ export class PreEnactedPolicy implements IPreEnactedPolicy {
this.size,
startTimestamp,
endTimestamp,
- ownerAddress,
+ ownerAddress as ChecksumAddress,
);
return tx.hash;
}
diff --git a/packages/shared/abis/GlobalAllowList.json b/packages/shared/abis/GlobalAllowList.json
new file mode 100644
index 000000000..414fb653f
--- /dev/null
+++ b/packages/shared/abis/GlobalAllowList.json
@@ -0,0 +1,522 @@
+[
+ {
+ "inputs": [
+ {
+ "internalType": "contract Coordinator",
+ "name": "_coordinator",
+ "type": "address"
+ },
+ {
+ "internalType": "address",
+ "name": "_admin",
+ "type": "address"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "constructor"
+ },
+ {
+ "anonymous": false,
+ "inputs": [],
+ "name": "DefaultAdminDelayChangeCanceled",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": false,
+ "internalType": "uint48",
+ "name": "newDelay",
+ "type": "uint48"
+ },
+ {
+ "indexed": false,
+ "internalType": "uint48",
+ "name": "effectSchedule",
+ "type": "uint48"
+ }
+ ],
+ "name": "DefaultAdminDelayChangeScheduled",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [],
+ "name": "DefaultAdminTransferCanceled",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "newAdmin",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "internalType": "uint48",
+ "name": "acceptSchedule",
+ "type": "uint48"
+ }
+ ],
+ "name": "DefaultAdminTransferScheduled",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "bytes32",
+ "name": "role",
+ "type": "bytes32"
+ },
+ {
+ "indexed": true,
+ "internalType": "bytes32",
+ "name": "previousAdminRole",
+ "type": "bytes32"
+ },
+ {
+ "indexed": true,
+ "internalType": "bytes32",
+ "name": "newAdminRole",
+ "type": "bytes32"
+ }
+ ],
+ "name": "RoleAdminChanged",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "bytes32",
+ "name": "role",
+ "type": "bytes32"
+ },
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "account",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "sender",
+ "type": "address"
+ }
+ ],
+ "name": "RoleGranted",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "bytes32",
+ "name": "role",
+ "type": "bytes32"
+ },
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "account",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "sender",
+ "type": "address"
+ }
+ ],
+ "name": "RoleRevoked",
+ "type": "event"
+ },
+ {
+ "inputs": [],
+ "name": "DEFAULT_ADMIN_ROLE",
+ "outputs": [
+ {
+ "internalType": "bytes32",
+ "name": "",
+ "type": "bytes32"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "acceptDefaultAdminTransfer",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint32",
+ "name": "ritualId",
+ "type": "uint32"
+ },
+ {
+ "internalType": "address[]",
+ "name": "addresses",
+ "type": "address[]"
+ }
+ ],
+ "name": "authorize",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "newAdmin",
+ "type": "address"
+ }
+ ],
+ "name": "beginDefaultAdminTransfer",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "cancelDefaultAdminTransfer",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint48",
+ "name": "newDelay",
+ "type": "uint48"
+ }
+ ],
+ "name": "changeDefaultAdminDelay",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "coordinator",
+ "outputs": [
+ {
+ "internalType": "contract Coordinator",
+ "name": "",
+ "type": "address"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint32",
+ "name": "ritualId",
+ "type": "uint32"
+ },
+ {
+ "internalType": "address[]",
+ "name": "addresses",
+ "type": "address[]"
+ }
+ ],
+ "name": "deauthorize",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "defaultAdmin",
+ "outputs": [
+ {
+ "internalType": "address",
+ "name": "",
+ "type": "address"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "defaultAdminDelay",
+ "outputs": [
+ {
+ "internalType": "uint48",
+ "name": "",
+ "type": "uint48"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "defaultAdminDelayIncreaseWait",
+ "outputs": [
+ {
+ "internalType": "uint48",
+ "name": "",
+ "type": "uint48"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "bytes32",
+ "name": "role",
+ "type": "bytes32"
+ }
+ ],
+ "name": "getRoleAdmin",
+ "outputs": [
+ {
+ "internalType": "bytes32",
+ "name": "",
+ "type": "bytes32"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "bytes32",
+ "name": "role",
+ "type": "bytes32"
+ },
+ {
+ "internalType": "address",
+ "name": "account",
+ "type": "address"
+ }
+ ],
+ "name": "grantRole",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "bytes32",
+ "name": "role",
+ "type": "bytes32"
+ },
+ {
+ "internalType": "address",
+ "name": "account",
+ "type": "address"
+ }
+ ],
+ "name": "hasRole",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint32",
+ "name": "ritualId",
+ "type": "uint32"
+ },
+ {
+ "internalType": "address",
+ "name": "encryptor",
+ "type": "address"
+ }
+ ],
+ "name": "isAddressAuthorized",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint32",
+ "name": "ritualId",
+ "type": "uint32"
+ },
+ {
+ "internalType": "bytes",
+ "name": "evidence",
+ "type": "bytes"
+ },
+ {
+ "internalType": "bytes",
+ "name": "ciphertextHeader",
+ "type": "bytes"
+ }
+ ],
+ "name": "isAuthorized",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "owner",
+ "outputs": [
+ {
+ "internalType": "address",
+ "name": "",
+ "type": "address"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "pendingDefaultAdmin",
+ "outputs": [
+ {
+ "internalType": "address",
+ "name": "newAdmin",
+ "type": "address"
+ },
+ {
+ "internalType": "uint48",
+ "name": "schedule",
+ "type": "uint48"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "pendingDefaultAdminDelay",
+ "outputs": [
+ {
+ "internalType": "uint48",
+ "name": "newDelay",
+ "type": "uint48"
+ },
+ {
+ "internalType": "uint48",
+ "name": "schedule",
+ "type": "uint48"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "bytes32",
+ "name": "role",
+ "type": "bytes32"
+ },
+ {
+ "internalType": "address",
+ "name": "account",
+ "type": "address"
+ }
+ ],
+ "name": "renounceRole",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "bytes32",
+ "name": "role",
+ "type": "bytes32"
+ },
+ {
+ "internalType": "address",
+ "name": "account",
+ "type": "address"
+ }
+ ],
+ "name": "revokeRole",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "rollbackDefaultAdminDelay",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "contract Coordinator",
+ "name": "_coordinator",
+ "type": "address"
+ }
+ ],
+ "name": "setCoordinator",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "bytes4",
+ "name": "interfaceId",
+ "type": "bytes4"
+ }
+ ],
+ "name": "supportsInterface",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ }
+]
diff --git a/packages/shared/src/contracts/agents/global-allow-list.ts b/packages/shared/src/contracts/agents/global-allow-list.ts
new file mode 100644
index 000000000..a66974c70
--- /dev/null
+++ b/packages/shared/src/contracts/agents/global-allow-list.ts
@@ -0,0 +1,41 @@
+import { ethers } from 'ethers';
+
+import { ChecksumAddress } from '../../types';
+import { GlobalAllowList, GlobalAllowList__factory } from '../ethers-typechain';
+import { DEFAULT_WAIT_N_CONFIRMATIONS, getContract } from '../registry';
+
+export class GlobalAllowListAgent {
+ public static async registerEncrypters(
+ provider: ethers.providers.Provider,
+ signer: ethers.Signer,
+ ritualId: number,
+ encrypters: ChecksumAddress[],
+ ): Promise {
+ const globalAllowList = await this.connectReadWrite(provider, signer);
+ const tx = await globalAllowList.authorize(ritualId, encrypters);
+ await tx.wait(DEFAULT_WAIT_N_CONFIRMATIONS);
+ }
+
+ private static async connectReadOnly(provider: ethers.providers.Provider) {
+ return await this.connect(provider);
+ }
+
+ private static async connectReadWrite(
+ provider: ethers.providers.Provider,
+ signer: ethers.Signer,
+ ) {
+ return await this.connect(provider, signer);
+ }
+
+ private static async connect(
+ provider: ethers.providers.Provider,
+ signer?: ethers.Signer,
+ ): Promise {
+ const network = await provider.getNetwork();
+ const contractAddress = getContract(network.chainId, 'GLOBAL_ALLOW_LIST');
+ return GlobalAllowList__factory.connect(
+ contractAddress,
+ signer ?? provider,
+ );
+ }
+}
diff --git a/packages/shared/src/contracts/agents/index.ts b/packages/shared/src/contracts/agents/index.ts
index 6196ca778..61e29c0e6 100644
--- a/packages/shared/src/contracts/agents/index.ts
+++ b/packages/shared/src/contracts/agents/index.ts
@@ -1,2 +1,3 @@
export * from './coordinator';
+export * from './global-allow-list';
export * from './subscription-manager';
diff --git a/packages/shared/src/contracts/ethers-typechain/GlobalAllowList.ts b/packages/shared/src/contracts/ethers-typechain/GlobalAllowList.ts
new file mode 100644
index 000000000..448e4424b
--- /dev/null
+++ b/packages/shared/src/contracts/ethers-typechain/GlobalAllowList.ts
@@ -0,0 +1,976 @@
+/* Autogenerated file. Do not edit manually. */
+/* tslint:disable */
+/* eslint-disable */
+import type {
+ BaseContract,
+ BigNumber,
+ BigNumberish,
+ BytesLike,
+ CallOverrides,
+ ContractTransaction,
+ Overrides,
+ PopulatedTransaction,
+ Signer,
+ utils,
+} from "ethers";
+import type {
+ FunctionFragment,
+ Result,
+ EventFragment,
+} from "@ethersproject/abi";
+import type { Listener, Provider } from "@ethersproject/providers";
+import type {
+ TypedEventFilter,
+ TypedEvent,
+ TypedListener,
+ OnEvent,
+} from "./common";
+
+export interface GlobalAllowListInterface extends utils.Interface {
+ functions: {
+ "DEFAULT_ADMIN_ROLE()": FunctionFragment;
+ "acceptDefaultAdminTransfer()": FunctionFragment;
+ "authorize(uint32,address[])": FunctionFragment;
+ "beginDefaultAdminTransfer(address)": FunctionFragment;
+ "cancelDefaultAdminTransfer()": FunctionFragment;
+ "changeDefaultAdminDelay(uint48)": FunctionFragment;
+ "coordinator()": FunctionFragment;
+ "deauthorize(uint32,address[])": FunctionFragment;
+ "defaultAdmin()": FunctionFragment;
+ "defaultAdminDelay()": FunctionFragment;
+ "defaultAdminDelayIncreaseWait()": FunctionFragment;
+ "getRoleAdmin(bytes32)": FunctionFragment;
+ "grantRole(bytes32,address)": FunctionFragment;
+ "hasRole(bytes32,address)": FunctionFragment;
+ "isAddressAuthorized(uint32,address)": FunctionFragment;
+ "isAuthorized(uint32,bytes,bytes)": FunctionFragment;
+ "owner()": FunctionFragment;
+ "pendingDefaultAdmin()": FunctionFragment;
+ "pendingDefaultAdminDelay()": FunctionFragment;
+ "renounceRole(bytes32,address)": FunctionFragment;
+ "revokeRole(bytes32,address)": FunctionFragment;
+ "rollbackDefaultAdminDelay()": FunctionFragment;
+ "setCoordinator(address)": FunctionFragment;
+ "supportsInterface(bytes4)": FunctionFragment;
+ };
+
+ getFunction(
+ nameOrSignatureOrTopic:
+ | "DEFAULT_ADMIN_ROLE"
+ | "acceptDefaultAdminTransfer"
+ | "authorize"
+ | "beginDefaultAdminTransfer"
+ | "cancelDefaultAdminTransfer"
+ | "changeDefaultAdminDelay"
+ | "coordinator"
+ | "deauthorize"
+ | "defaultAdmin"
+ | "defaultAdminDelay"
+ | "defaultAdminDelayIncreaseWait"
+ | "getRoleAdmin"
+ | "grantRole"
+ | "hasRole"
+ | "isAddressAuthorized"
+ | "isAuthorized"
+ | "owner"
+ | "pendingDefaultAdmin"
+ | "pendingDefaultAdminDelay"
+ | "renounceRole"
+ | "revokeRole"
+ | "rollbackDefaultAdminDelay"
+ | "setCoordinator"
+ | "supportsInterface"
+ ): FunctionFragment;
+
+ encodeFunctionData(
+ functionFragment: "DEFAULT_ADMIN_ROLE",
+ values?: undefined
+ ): string;
+ encodeFunctionData(
+ functionFragment: "acceptDefaultAdminTransfer",
+ values?: undefined
+ ): string;
+ encodeFunctionData(
+ functionFragment: "authorize",
+ values: [BigNumberish, string[]]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "beginDefaultAdminTransfer",
+ values: [string]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "cancelDefaultAdminTransfer",
+ values?: undefined
+ ): string;
+ encodeFunctionData(
+ functionFragment: "changeDefaultAdminDelay",
+ values: [BigNumberish]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "coordinator",
+ values?: undefined
+ ): string;
+ encodeFunctionData(
+ functionFragment: "deauthorize",
+ values: [BigNumberish, string[]]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "defaultAdmin",
+ values?: undefined
+ ): string;
+ encodeFunctionData(
+ functionFragment: "defaultAdminDelay",
+ values?: undefined
+ ): string;
+ encodeFunctionData(
+ functionFragment: "defaultAdminDelayIncreaseWait",
+ values?: undefined
+ ): string;
+ encodeFunctionData(
+ functionFragment: "getRoleAdmin",
+ values: [BytesLike]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "grantRole",
+ values: [BytesLike, string]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "hasRole",
+ values: [BytesLike, string]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "isAddressAuthorized",
+ values: [BigNumberish, string]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "isAuthorized",
+ values: [BigNumberish, BytesLike, BytesLike]
+ ): string;
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
+ encodeFunctionData(
+ functionFragment: "pendingDefaultAdmin",
+ values?: undefined
+ ): string;
+ encodeFunctionData(
+ functionFragment: "pendingDefaultAdminDelay",
+ values?: undefined
+ ): string;
+ encodeFunctionData(
+ functionFragment: "renounceRole",
+ values: [BytesLike, string]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "revokeRole",
+ values: [BytesLike, string]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "rollbackDefaultAdminDelay",
+ values?: undefined
+ ): string;
+ encodeFunctionData(
+ functionFragment: "setCoordinator",
+ values: [string]
+ ): string;
+ encodeFunctionData(
+ functionFragment: "supportsInterface",
+ values: [BytesLike]
+ ): string;
+
+ decodeFunctionResult(
+ functionFragment: "DEFAULT_ADMIN_ROLE",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "acceptDefaultAdminTransfer",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(functionFragment: "authorize", data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: "beginDefaultAdminTransfer",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "cancelDefaultAdminTransfer",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "changeDefaultAdminDelay",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "coordinator",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "deauthorize",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "defaultAdmin",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "defaultAdminDelay",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "defaultAdminDelayIncreaseWait",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "getRoleAdmin",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
+ decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: "isAddressAuthorized",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "isAuthorized",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: "pendingDefaultAdmin",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "pendingDefaultAdminDelay",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "renounceRole",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: "rollbackDefaultAdminDelay",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "setCoordinator",
+ data: BytesLike
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: "supportsInterface",
+ data: BytesLike
+ ): Result;
+
+ events: {
+ "DefaultAdminDelayChangeCanceled()": EventFragment;
+ "DefaultAdminDelayChangeScheduled(uint48,uint48)": EventFragment;
+ "DefaultAdminTransferCanceled()": EventFragment;
+ "DefaultAdminTransferScheduled(address,uint48)": EventFragment;
+ "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;
+ "RoleGranted(bytes32,address,address)": EventFragment;
+ "RoleRevoked(bytes32,address,address)": EventFragment;
+ };
+
+ getEvent(
+ nameOrSignatureOrTopic: "DefaultAdminDelayChangeCanceled"
+ ): EventFragment;
+ getEvent(
+ nameOrSignatureOrTopic: "DefaultAdminDelayChangeScheduled"
+ ): EventFragment;
+ getEvent(
+ nameOrSignatureOrTopic: "DefaultAdminTransferCanceled"
+ ): EventFragment;
+ getEvent(
+ nameOrSignatureOrTopic: "DefaultAdminTransferScheduled"
+ ): EventFragment;
+ getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment;
+ getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
+ getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment;
+}
+
+export interface DefaultAdminDelayChangeCanceledEventObject {}
+export type DefaultAdminDelayChangeCanceledEvent = TypedEvent<
+ [],
+ DefaultAdminDelayChangeCanceledEventObject
+>;
+
+export type DefaultAdminDelayChangeCanceledEventFilter =
+ TypedEventFilter;
+
+export interface DefaultAdminDelayChangeScheduledEventObject {
+ newDelay: number;
+ effectSchedule: number;
+}
+export type DefaultAdminDelayChangeScheduledEvent = TypedEvent<
+ [number, number],
+ DefaultAdminDelayChangeScheduledEventObject
+>;
+
+export type DefaultAdminDelayChangeScheduledEventFilter =
+ TypedEventFilter;
+
+export interface DefaultAdminTransferCanceledEventObject {}
+export type DefaultAdminTransferCanceledEvent = TypedEvent<
+ [],
+ DefaultAdminTransferCanceledEventObject
+>;
+
+export type DefaultAdminTransferCanceledEventFilter =
+ TypedEventFilter;
+
+export interface DefaultAdminTransferScheduledEventObject {
+ newAdmin: string;
+ acceptSchedule: number;
+}
+export type DefaultAdminTransferScheduledEvent = TypedEvent<
+ [string, number],
+ DefaultAdminTransferScheduledEventObject
+>;
+
+export type DefaultAdminTransferScheduledEventFilter =
+ TypedEventFilter;
+
+export interface RoleAdminChangedEventObject {
+ role: string;
+ previousAdminRole: string;
+ newAdminRole: string;
+}
+export type RoleAdminChangedEvent = TypedEvent<
+ [string, string, string],
+ RoleAdminChangedEventObject
+>;
+
+export type RoleAdminChangedEventFilter =
+ TypedEventFilter;
+
+export interface RoleGrantedEventObject {
+ role: string;
+ account: string;
+ sender: string;
+}
+export type RoleGrantedEvent = TypedEvent<
+ [string, string, string],
+ RoleGrantedEventObject
+>;
+
+export type RoleGrantedEventFilter = TypedEventFilter;
+
+export interface RoleRevokedEventObject {
+ role: string;
+ account: string;
+ sender: string;
+}
+export type RoleRevokedEvent = TypedEvent<
+ [string, string, string],
+ RoleRevokedEventObject
+>;
+
+export type RoleRevokedEventFilter = TypedEventFilter;
+
+export interface GlobalAllowList extends BaseContract {
+ connect(signerOrProvider: Signer | Provider | string): this;
+ attach(addressOrName: string): this;
+ deployed(): Promise;
+
+ interface: GlobalAllowListInterface;
+
+ queryFilter(
+ event: TypedEventFilter,
+ fromBlockOrBlockhash?: string | number | undefined,
+ toBlock?: string | number | undefined
+ ): Promise>;
+
+ listeners(
+ eventFilter?: TypedEventFilter
+ ): Array>;
+ listeners(eventName?: string): Array;
+ removeAllListeners(
+ eventFilter: TypedEventFilter
+ ): this;
+ removeAllListeners(eventName?: string): this;
+ off: OnEvent;
+ on: OnEvent;
+ once: OnEvent;
+ removeListener: OnEvent;
+
+ functions: {
+ DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
+
+ acceptDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ authorize(
+ ritualId: BigNumberish,
+ addresses: string[],
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ beginDefaultAdminTransfer(
+ newAdmin: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ cancelDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ changeDefaultAdminDelay(
+ newDelay: BigNumberish,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ coordinator(overrides?: CallOverrides): Promise<[string]>;
+
+ deauthorize(
+ ritualId: BigNumberish,
+ addresses: string[],
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ defaultAdmin(overrides?: CallOverrides): Promise<[string]>;
+
+ defaultAdminDelay(overrides?: CallOverrides): Promise<[number]>;
+
+ defaultAdminDelayIncreaseWait(overrides?: CallOverrides): Promise<[number]>;
+
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
+
+ grantRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ hasRole(
+ role: BytesLike,
+ account: string,
+ overrides?: CallOverrides
+ ): Promise<[boolean]>;
+
+ isAddressAuthorized(
+ ritualId: BigNumberish,
+ encryptor: string,
+ overrides?: CallOverrides
+ ): Promise<[boolean]>;
+
+ isAuthorized(
+ ritualId: BigNumberish,
+ evidence: BytesLike,
+ ciphertextHeader: BytesLike,
+ overrides?: CallOverrides
+ ): Promise<[boolean]>;
+
+ owner(overrides?: CallOverrides): Promise<[string]>;
+
+ pendingDefaultAdmin(
+ overrides?: CallOverrides
+ ): Promise<[string, number] & { newAdmin: string; schedule: number }>;
+
+ pendingDefaultAdminDelay(
+ overrides?: CallOverrides
+ ): Promise<[number, number] & { newDelay: number; schedule: number }>;
+
+ renounceRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ revokeRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ rollbackDefaultAdminDelay(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ setCoordinator(
+ _coordinator: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ supportsInterface(
+ interfaceId: BytesLike,
+ overrides?: CallOverrides
+ ): Promise<[boolean]>;
+ };
+
+ DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise;
+
+ acceptDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ authorize(
+ ritualId: BigNumberish,
+ addresses: string[],
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ beginDefaultAdminTransfer(
+ newAdmin: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ cancelDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ changeDefaultAdminDelay(
+ newDelay: BigNumberish,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ coordinator(overrides?: CallOverrides): Promise;
+
+ deauthorize(
+ ritualId: BigNumberish,
+ addresses: string[],
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ defaultAdmin(overrides?: CallOverrides): Promise;
+
+ defaultAdminDelay(overrides?: CallOverrides): Promise;
+
+ defaultAdminDelayIncreaseWait(overrides?: CallOverrides): Promise;
+
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise;
+
+ grantRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ hasRole(
+ role: BytesLike,
+ account: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ isAddressAuthorized(
+ ritualId: BigNumberish,
+ encryptor: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ isAuthorized(
+ ritualId: BigNumberish,
+ evidence: BytesLike,
+ ciphertextHeader: BytesLike,
+ overrides?: CallOverrides
+ ): Promise;
+
+ owner(overrides?: CallOverrides): Promise;
+
+ pendingDefaultAdmin(
+ overrides?: CallOverrides
+ ): Promise<[string, number] & { newAdmin: string; schedule: number }>;
+
+ pendingDefaultAdminDelay(
+ overrides?: CallOverrides
+ ): Promise<[number, number] & { newDelay: number; schedule: number }>;
+
+ renounceRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ revokeRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ rollbackDefaultAdminDelay(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ setCoordinator(
+ _coordinator: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ supportsInterface(
+ interfaceId: BytesLike,
+ overrides?: CallOverrides
+ ): Promise;
+
+ callStatic: {
+ DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise;
+
+ acceptDefaultAdminTransfer(overrides?: CallOverrides): Promise;
+
+ authorize(
+ ritualId: BigNumberish,
+ addresses: string[],
+ overrides?: CallOverrides
+ ): Promise;
+
+ beginDefaultAdminTransfer(
+ newAdmin: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ cancelDefaultAdminTransfer(overrides?: CallOverrides): Promise;
+
+ changeDefaultAdminDelay(
+ newDelay: BigNumberish,
+ overrides?: CallOverrides
+ ): Promise;
+
+ coordinator(overrides?: CallOverrides): Promise;
+
+ deauthorize(
+ ritualId: BigNumberish,
+ addresses: string[],
+ overrides?: CallOverrides
+ ): Promise;
+
+ defaultAdmin(overrides?: CallOverrides): Promise;
+
+ defaultAdminDelay(overrides?: CallOverrides): Promise;
+
+ defaultAdminDelayIncreaseWait(overrides?: CallOverrides): Promise;
+
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise;
+
+ grantRole(
+ role: BytesLike,
+ account: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ hasRole(
+ role: BytesLike,
+ account: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ isAddressAuthorized(
+ ritualId: BigNumberish,
+ encryptor: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ isAuthorized(
+ ritualId: BigNumberish,
+ evidence: BytesLike,
+ ciphertextHeader: BytesLike,
+ overrides?: CallOverrides
+ ): Promise;
+
+ owner(overrides?: CallOverrides): Promise;
+
+ pendingDefaultAdmin(
+ overrides?: CallOverrides
+ ): Promise<[string, number] & { newAdmin: string; schedule: number }>;
+
+ pendingDefaultAdminDelay(
+ overrides?: CallOverrides
+ ): Promise<[number, number] & { newDelay: number; schedule: number }>;
+
+ renounceRole(
+ role: BytesLike,
+ account: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ revokeRole(
+ role: BytesLike,
+ account: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ rollbackDefaultAdminDelay(overrides?: CallOverrides): Promise;
+
+ setCoordinator(
+ _coordinator: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ supportsInterface(
+ interfaceId: BytesLike,
+ overrides?: CallOverrides
+ ): Promise;
+ };
+
+ filters: {
+ "DefaultAdminDelayChangeCanceled()"(): DefaultAdminDelayChangeCanceledEventFilter;
+ DefaultAdminDelayChangeCanceled(): DefaultAdminDelayChangeCanceledEventFilter;
+
+ "DefaultAdminDelayChangeScheduled(uint48,uint48)"(
+ newDelay?: null,
+ effectSchedule?: null
+ ): DefaultAdminDelayChangeScheduledEventFilter;
+ DefaultAdminDelayChangeScheduled(
+ newDelay?: null,
+ effectSchedule?: null
+ ): DefaultAdminDelayChangeScheduledEventFilter;
+
+ "DefaultAdminTransferCanceled()"(): DefaultAdminTransferCanceledEventFilter;
+ DefaultAdminTransferCanceled(): DefaultAdminTransferCanceledEventFilter;
+
+ "DefaultAdminTransferScheduled(address,uint48)"(
+ newAdmin?: string | null,
+ acceptSchedule?: null
+ ): DefaultAdminTransferScheduledEventFilter;
+ DefaultAdminTransferScheduled(
+ newAdmin?: string | null,
+ acceptSchedule?: null
+ ): DefaultAdminTransferScheduledEventFilter;
+
+ "RoleAdminChanged(bytes32,bytes32,bytes32)"(
+ role?: BytesLike | null,
+ previousAdminRole?: BytesLike | null,
+ newAdminRole?: BytesLike | null
+ ): RoleAdminChangedEventFilter;
+ RoleAdminChanged(
+ role?: BytesLike | null,
+ previousAdminRole?: BytesLike | null,
+ newAdminRole?: BytesLike | null
+ ): RoleAdminChangedEventFilter;
+
+ "RoleGranted(bytes32,address,address)"(
+ role?: BytesLike | null,
+ account?: string | null,
+ sender?: string | null
+ ): RoleGrantedEventFilter;
+ RoleGranted(
+ role?: BytesLike | null,
+ account?: string | null,
+ sender?: string | null
+ ): RoleGrantedEventFilter;
+
+ "RoleRevoked(bytes32,address,address)"(
+ role?: BytesLike | null,
+ account?: string | null,
+ sender?: string | null
+ ): RoleRevokedEventFilter;
+ RoleRevoked(
+ role?: BytesLike | null,
+ account?: string | null,
+ sender?: string | null
+ ): RoleRevokedEventFilter;
+ };
+
+ estimateGas: {
+ DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise;
+
+ acceptDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ authorize(
+ ritualId: BigNumberish,
+ addresses: string[],
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ beginDefaultAdminTransfer(
+ newAdmin: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ cancelDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ changeDefaultAdminDelay(
+ newDelay: BigNumberish,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ coordinator(overrides?: CallOverrides): Promise;
+
+ deauthorize(
+ ritualId: BigNumberish,
+ addresses: string[],
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ defaultAdmin(overrides?: CallOverrides): Promise;
+
+ defaultAdminDelay(overrides?: CallOverrides): Promise;
+
+ defaultAdminDelayIncreaseWait(
+ overrides?: CallOverrides
+ ): Promise;
+
+ getRoleAdmin(
+ role: BytesLike,
+ overrides?: CallOverrides
+ ): Promise;
+
+ grantRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ hasRole(
+ role: BytesLike,
+ account: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ isAddressAuthorized(
+ ritualId: BigNumberish,
+ encryptor: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ isAuthorized(
+ ritualId: BigNumberish,
+ evidence: BytesLike,
+ ciphertextHeader: BytesLike,
+ overrides?: CallOverrides
+ ): Promise;
+
+ owner(overrides?: CallOverrides): Promise;
+
+ pendingDefaultAdmin(overrides?: CallOverrides): Promise;
+
+ pendingDefaultAdminDelay(overrides?: CallOverrides): Promise;
+
+ renounceRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ revokeRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ rollbackDefaultAdminDelay(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ setCoordinator(
+ _coordinator: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ supportsInterface(
+ interfaceId: BytesLike,
+ overrides?: CallOverrides
+ ): Promise;
+ };
+
+ populateTransaction: {
+ DEFAULT_ADMIN_ROLE(
+ overrides?: CallOverrides
+ ): Promise;
+
+ acceptDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ authorize(
+ ritualId: BigNumberish,
+ addresses: string[],
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ beginDefaultAdminTransfer(
+ newAdmin: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ cancelDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ changeDefaultAdminDelay(
+ newDelay: BigNumberish,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ coordinator(overrides?: CallOverrides): Promise;
+
+ deauthorize(
+ ritualId: BigNumberish,
+ addresses: string[],
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ defaultAdmin(overrides?: CallOverrides): Promise;
+
+ defaultAdminDelay(overrides?: CallOverrides): Promise;
+
+ defaultAdminDelayIncreaseWait(
+ overrides?: CallOverrides
+ ): Promise;
+
+ getRoleAdmin(
+ role: BytesLike,
+ overrides?: CallOverrides
+ ): Promise;
+
+ grantRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ hasRole(
+ role: BytesLike,
+ account: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ isAddressAuthorized(
+ ritualId: BigNumberish,
+ encryptor: string,
+ overrides?: CallOverrides
+ ): Promise;
+
+ isAuthorized(
+ ritualId: BigNumberish,
+ evidence: BytesLike,
+ ciphertextHeader: BytesLike,
+ overrides?: CallOverrides
+ ): Promise;
+
+ owner(overrides?: CallOverrides): Promise;
+
+ pendingDefaultAdmin(
+ overrides?: CallOverrides
+ ): Promise;
+
+ pendingDefaultAdminDelay(
+ overrides?: CallOverrides
+ ): Promise;
+
+ renounceRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ revokeRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ rollbackDefaultAdminDelay(
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ setCoordinator(
+ _coordinator: string,
+ overrides?: Overrides & { from?: string }
+ ): Promise;
+
+ supportsInterface(
+ interfaceId: BytesLike,
+ overrides?: CallOverrides
+ ): Promise;
+ };
+}
diff --git a/packages/shared/src/contracts/ethers-typechain/factories/GlobalAllowList__factory.ts b/packages/shared/src/contracts/ethers-typechain/factories/GlobalAllowList__factory.ts
new file mode 100644
index 000000000..f46e18fa6
--- /dev/null
+++ b/packages/shared/src/contracts/ethers-typechain/factories/GlobalAllowList__factory.ts
@@ -0,0 +1,546 @@
+/* Autogenerated file. Do not edit manually. */
+/* tslint:disable */
+/* eslint-disable */
+
+import { Contract, Signer, utils } from "ethers";
+import type { Provider } from "@ethersproject/providers";
+import type {
+ GlobalAllowList,
+ GlobalAllowListInterface,
+} from "../GlobalAllowList";
+
+const _abi = [
+ {
+ inputs: [
+ {
+ internalType: "contract Coordinator",
+ name: "_coordinator",
+ type: "address",
+ },
+ {
+ internalType: "address",
+ name: "_admin",
+ type: "address",
+ },
+ ],
+ stateMutability: "nonpayable",
+ type: "constructor",
+ },
+ {
+ anonymous: false,
+ inputs: [],
+ name: "DefaultAdminDelayChangeCanceled",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "uint48",
+ name: "newDelay",
+ type: "uint48",
+ },
+ {
+ indexed: false,
+ internalType: "uint48",
+ name: "effectSchedule",
+ type: "uint48",
+ },
+ ],
+ name: "DefaultAdminDelayChangeScheduled",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [],
+ name: "DefaultAdminTransferCanceled",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "address",
+ name: "newAdmin",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint48",
+ name: "acceptSchedule",
+ type: "uint48",
+ },
+ ],
+ name: "DefaultAdminTransferScheduled",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ indexed: true,
+ internalType: "bytes32",
+ name: "previousAdminRole",
+ type: "bytes32",
+ },
+ {
+ indexed: true,
+ internalType: "bytes32",
+ name: "newAdminRole",
+ type: "bytes32",
+ },
+ ],
+ name: "RoleAdminChanged",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "sender",
+ type: "address",
+ },
+ ],
+ name: "RoleGranted",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "sender",
+ type: "address",
+ },
+ ],
+ name: "RoleRevoked",
+ type: "event",
+ },
+ {
+ inputs: [],
+ name: "DEFAULT_ADMIN_ROLE",
+ outputs: [
+ {
+ internalType: "bytes32",
+ name: "",
+ type: "bytes32",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "acceptDefaultAdminTransfer",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint32",
+ name: "ritualId",
+ type: "uint32",
+ },
+ {
+ internalType: "address[]",
+ name: "addresses",
+ type: "address[]",
+ },
+ ],
+ name: "authorize",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "newAdmin",
+ type: "address",
+ },
+ ],
+ name: "beginDefaultAdminTransfer",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "cancelDefaultAdminTransfer",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint48",
+ name: "newDelay",
+ type: "uint48",
+ },
+ ],
+ name: "changeDefaultAdminDelay",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "coordinator",
+ outputs: [
+ {
+ internalType: "contract Coordinator",
+ name: "",
+ type: "address",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint32",
+ name: "ritualId",
+ type: "uint32",
+ },
+ {
+ internalType: "address[]",
+ name: "addresses",
+ type: "address[]",
+ },
+ ],
+ name: "deauthorize",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "defaultAdmin",
+ outputs: [
+ {
+ internalType: "address",
+ name: "",
+ type: "address",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "defaultAdminDelay",
+ outputs: [
+ {
+ internalType: "uint48",
+ name: "",
+ type: "uint48",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "defaultAdminDelayIncreaseWait",
+ outputs: [
+ {
+ internalType: "uint48",
+ name: "",
+ type: "uint48",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ ],
+ name: "getRoleAdmin",
+ outputs: [
+ {
+ internalType: "bytes32",
+ name: "",
+ type: "bytes32",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ ],
+ name: "grantRole",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ ],
+ name: "hasRole",
+ outputs: [
+ {
+ internalType: "bool",
+ name: "",
+ type: "bool",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint32",
+ name: "ritualId",
+ type: "uint32",
+ },
+ {
+ internalType: "address",
+ name: "encryptor",
+ type: "address",
+ },
+ ],
+ name: "isAddressAuthorized",
+ outputs: [
+ {
+ internalType: "bool",
+ name: "",
+ type: "bool",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint32",
+ name: "ritualId",
+ type: "uint32",
+ },
+ {
+ internalType: "bytes",
+ name: "evidence",
+ type: "bytes",
+ },
+ {
+ internalType: "bytes",
+ name: "ciphertextHeader",
+ type: "bytes",
+ },
+ ],
+ name: "isAuthorized",
+ outputs: [
+ {
+ internalType: "bool",
+ name: "",
+ type: "bool",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "owner",
+ outputs: [
+ {
+ internalType: "address",
+ name: "",
+ type: "address",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "pendingDefaultAdmin",
+ outputs: [
+ {
+ internalType: "address",
+ name: "newAdmin",
+ type: "address",
+ },
+ {
+ internalType: "uint48",
+ name: "schedule",
+ type: "uint48",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "pendingDefaultAdminDelay",
+ outputs: [
+ {
+ internalType: "uint48",
+ name: "newDelay",
+ type: "uint48",
+ },
+ {
+ internalType: "uint48",
+ name: "schedule",
+ type: "uint48",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ ],
+ name: "renounceRole",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ ],
+ name: "revokeRole",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "rollbackDefaultAdminDelay",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "contract Coordinator",
+ name: "_coordinator",
+ type: "address",
+ },
+ ],
+ name: "setCoordinator",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes4",
+ name: "interfaceId",
+ type: "bytes4",
+ },
+ ],
+ name: "supportsInterface",
+ outputs: [
+ {
+ internalType: "bool",
+ name: "",
+ type: "bool",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+] as const;
+
+export class GlobalAllowList__factory {
+ static readonly abi = _abi;
+ static createInterface(): GlobalAllowListInterface {
+ return new utils.Interface(_abi) as GlobalAllowListInterface;
+ }
+ static connect(
+ address: string,
+ signerOrProvider: Signer | Provider
+ ): GlobalAllowList {
+ return new Contract(address, _abi, signerOrProvider) as GlobalAllowList;
+ }
+}
diff --git a/packages/shared/src/contracts/ethers-typechain/factories/index.ts b/packages/shared/src/contracts/ethers-typechain/factories/index.ts
index f91f0a2b7..19ffd50d3 100644
--- a/packages/shared/src/contracts/ethers-typechain/factories/index.ts
+++ b/packages/shared/src/contracts/ethers-typechain/factories/index.ts
@@ -2,4 +2,5 @@
/* tslint:disable */
/* eslint-disable */
export { Coordinator__factory } from "./Coordinator__factory";
+export { GlobalAllowList__factory } from "./GlobalAllowList__factory";
export { SubscriptionManager__factory } from "./SubscriptionManager__factory";
diff --git a/packages/shared/src/contracts/ethers-typechain/index.ts b/packages/shared/src/contracts/ethers-typechain/index.ts
index 64d144160..27e4b39b2 100644
--- a/packages/shared/src/contracts/ethers-typechain/index.ts
+++ b/packages/shared/src/contracts/ethers-typechain/index.ts
@@ -2,7 +2,9 @@
/* tslint:disable */
/* eslint-disable */
export type { Coordinator } from "./Coordinator";
+export type { GlobalAllowList } from "./GlobalAllowList";
export type { SubscriptionManager } from "./SubscriptionManager";
export * as factories from "./factories";
export { Coordinator__factory } from "./factories/Coordinator__factory";
+export { GlobalAllowList__factory } from "./factories/GlobalAllowList__factory";
export { SubscriptionManager__factory } from "./factories/SubscriptionManager__factory";
diff --git a/packages/shared/src/contracts/registry.ts b/packages/shared/src/contracts/registry.ts
index d15ffc23e..8a2a7b937 100644
--- a/packages/shared/src/contracts/registry.ts
+++ b/packages/shared/src/contracts/registry.ts
@@ -4,33 +4,38 @@ import { ChainId } from '../web3';
type Contracts = {
readonly SUBSCRIPTION_MANAGER: ChecksumAddress | undefined;
readonly COORDINATOR: ChecksumAddress | undefined;
+ readonly GLOBAL_ALLOW_LIST: ChecksumAddress | undefined;
};
const POLYGON: Contracts = {
SUBSCRIPTION_MANAGER: '0xB0194073421192F6Cf38d72c791Be8729721A0b3',
COORDINATOR: undefined,
+ GLOBAL_ALLOW_LIST: undefined,
};
const MUMBAI: Contracts = {
SUBSCRIPTION_MANAGER: '0xb9015d7b35ce7c81dde38ef7136baa3b1044f313',
COORDINATOR: '0x8E49989F9D3aD89c8ab0de21FbA2E00C67ca872F',
+ GLOBAL_ALLOW_LIST: '0x7b521E78CFaf55fa01433181d1D636E7e4b73243',
};
const GOERLI: Contracts = {
SUBSCRIPTION_MANAGER: undefined,
COORDINATOR: '0x2cf19429168a0943992D8e7dE534E9b802C687B6',
+ GLOBAL_ALLOW_LIST: undefined,
};
-const MAINNET: Contracts = {
+const ETHEREUM_MAINNET: Contracts = {
SUBSCRIPTION_MANAGER: undefined,
COORDINATOR: undefined,
+ GLOBAL_ALLOW_LIST: undefined,
};
const CONTRACTS: { readonly [key in ChainId]: Contracts } = {
[ChainId.POLYGON]: POLYGON,
[ChainId.MUMBAI]: MUMBAI,
[ChainId.GOERLI]: GOERLI,
- [ChainId.MAINNET]: MAINNET,
+ [ChainId.ETHEREUM_MAINNET]: ETHEREUM_MAINNET,
};
export const getContract = (
diff --git a/packages/shared/src/index.ts b/packages/shared/src/index.ts
index 800d2ac5e..63f08aa5a 100644
--- a/packages/shared/src/index.ts
+++ b/packages/shared/src/index.ts
@@ -1,6 +1,6 @@
export * from './contracts';
export * from './porter';
-export * from './types';
+export type * from './types';
export * from './utils';
export * from './web3';
diff --git a/packages/shared/src/types.ts b/packages/shared/src/types.ts
index 9befc497e..02603b3c2 100644
--- a/packages/shared/src/types.ts
+++ b/packages/shared/src/types.ts
@@ -1,3 +1,3 @@
-export type ChecksumAddress = string;
+export type ChecksumAddress = `0x${string}`;
export type HexEncodedBytes = string;
export type Base64EncodedBytes = string;
diff --git a/packages/shared/src/web3.ts b/packages/shared/src/web3.ts
index c4bdcee12..d82919698 100644
--- a/packages/shared/src/web3.ts
+++ b/packages/shared/src/web3.ts
@@ -4,7 +4,7 @@ export enum ChainId {
POLYGON = 137,
MUMBAI = 80001,
GOERLI = 5,
- MAINNET = 1,
+ ETHEREUM_MAINNET = 1,
}
export const toCanonicalAddress = (address: string): Uint8Array => {
diff --git a/packages/taco/src/conditions/const.ts b/packages/taco/src/conditions/const.ts
index a7d8dc12c..2c100bf33 100644
--- a/packages/taco/src/conditions/const.ts
+++ b/packages/taco/src/conditions/const.ts
@@ -8,5 +8,5 @@ export const SUPPORTED_CHAIN_IDS = [
ChainId.POLYGON,
ChainId.MUMBAI,
ChainId.GOERLI,
- ChainId.MAINNET,
+ ChainId.ETHEREUM_MAINNET,
];
diff --git a/packages/taco/src/taco.ts b/packages/taco/src/taco.ts
index b15f4871b..abb9f2c9d 100644
--- a/packages/taco/src/taco.ts
+++ b/packages/taco/src/taco.ts
@@ -4,7 +4,13 @@ import {
encryptForDkg,
ThresholdMessageKit,
} from '@nucypher/nucypher-core';
-import { DkgCoordinatorAgent, fromHexString, toBytes } from '@nucypher/shared';
+import {
+ ChecksumAddress,
+ DkgCoordinatorAgent,
+ fromHexString,
+ GlobalAllowListAgent,
+ toBytes,
+} from '@nucypher/shared';
import { ethers } from 'ethers';
import { keccak256 } from 'ethers/lib/utils';
@@ -101,3 +107,17 @@ export const isAuthorized = async (
messageKit: ThresholdMessageKit,
ritualId: number,
) => DkgCoordinatorAgent.isEncryptionAuthorized(provider, ritualId, messageKit);
+
+export const registerEncrypters = async (
+ provider: ethers.providers.Provider,
+ signer: ethers.Signer,
+ ritualId: number,
+ encrypters: ChecksumAddress[],
+): Promise => {
+ await GlobalAllowListAgent.registerEncrypters(
+ provider,
+ signer,
+ ritualId,
+ encrypters,
+ );
+};
diff --git a/packages/test-utils/src/utils.ts b/packages/test-utils/src/utils.ts
index 0ffcf8910..858adf68c 100644
--- a/packages/test-utils/src/utils.ts
+++ b/packages/test-utils/src/utils.ts
@@ -95,8 +95,10 @@ export const fakeProvider = (
} as unknown as ethers.providers.Web3Provider;
};
-const genChecksumAddress = (i: number) =>
- '0x' + '0'.repeat(40 - i.toString(16).length) + i.toString(16);
+const genChecksumAddress = (i: number): ChecksumAddress =>
+ `0x${'0'.repeat(40 - i.toString(16).length)}${i.toString(
+ 16,
+ )}`.toLowerCase() as ChecksumAddress;
const genEthAddr = (i: number) =>
EthereumAddress.fromString(genChecksumAddress(i));
@@ -105,7 +107,7 @@ export const fakeUrsulas = (n = 4): Ursula[] =>
// 0...n-1
Array.from(Array(n).keys()).map((i: number) => ({
encryptingKey: SecretKey.random().publicKey(),
- checksumAddress: genChecksumAddress(i).toLowerCase(),
+ checksumAddress: genChecksumAddress(i),
uri: `https://example.${i}.com:9151`,
}));
From 599cb72b7afd8282e57ef3517e8d836d8b746cc5 Mon Sep 17 00:00:00 2001
From: Piotr Roslaniec
Date: Fri, 6 Oct 2023 16:23:06 +0200
Subject: [PATCH 2/8] feature(contracts): use @nucypher/nucypher-contracts
package with typechain
---
packages/shared/abis/Coordinator.json | 1423 -
packages/shared/abis/SubscriptionManager.json | 22543 ----------------
packages/shared/package.json | 4 +-
packages/shared/scripts/typechain.ts | 92 +
.../factories/GlobalAllowList__factory.ts | 320 +-
.../factories/SubscriptionManager__factory.ts | 44 +-
packages/shared/tsconfig.json | 1 +
pnpm-lock.yaml | 14 +
8 files changed, 274 insertions(+), 24167 deletions(-)
delete mode 100644 packages/shared/abis/Coordinator.json
delete mode 100644 packages/shared/abis/SubscriptionManager.json
create mode 100644 packages/shared/scripts/typechain.ts
diff --git a/packages/shared/abis/Coordinator.json b/packages/shared/abis/Coordinator.json
deleted file mode 100644
index 2217b4085..000000000
--- a/packages/shared/abis/Coordinator.json
+++ /dev/null
@@ -1,1423 +0,0 @@
-[
- {
- "type": "constructor",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "_application",
- "type": "address",
- "internalType": "contract ITACoChildApplication"
- },
- {
- "name": "_timeout",
- "type": "uint32",
- "internalType": "uint32"
- },
- {
- "name": "_maxDkgSize",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "_admin",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "_currency",
- "type": "address",
- "internalType": "contract IERC20"
- },
- {
- "name": "_feeRatePerSecond",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "event",
- "name": "AggregationPosted",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32",
- "indexed": true
- },
- {
- "name": "node",
- "type": "address",
- "internalType": "address",
- "indexed": true
- },
- {
- "name": "aggregatedTranscriptDigest",
- "type": "bytes32",
- "internalType": "bytes32",
- "indexed": false
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "DefaultAdminDelayChangeCanceled",
- "inputs": [],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "DefaultAdminDelayChangeScheduled",
- "inputs": [
- {
- "name": "newDelay",
- "type": "uint48",
- "internalType": "uint48",
- "indexed": false
- },
- {
- "name": "effectSchedule",
- "type": "uint48",
- "internalType": "uint48",
- "indexed": false
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "DefaultAdminTransferCanceled",
- "inputs": [],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "DefaultAdminTransferScheduled",
- "inputs": [
- {
- "name": "newAdmin",
- "type": "address",
- "internalType": "address",
- "indexed": true
- },
- {
- "name": "acceptSchedule",
- "type": "uint48",
- "internalType": "uint48",
- "indexed": false
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "EndRitual",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32",
- "indexed": true
- },
- {
- "name": "successful",
- "type": "bool",
- "internalType": "bool",
- "indexed": false
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "MaxDkgSizeChanged",
- "inputs": [
- {
- "name": "oldSize",
- "type": "uint16",
- "internalType": "uint16",
- "indexed": false
- },
- {
- "name": "newSize",
- "type": "uint16",
- "internalType": "uint16",
- "indexed": false
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "ParticipantPublicKeySet",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32",
- "indexed": true
- },
- {
- "name": "participant",
- "type": "address",
- "internalType": "address",
- "indexed": true
- },
- {
- "name": "publicKey",
- "type": "tuple",
- "components": [
- {
- "name": "word0",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "word1",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "word2",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "internalType": "struct BLS12381.G2Point",
- "indexed": false
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "RoleAdminChanged",
- "inputs": [
- {
- "name": "role",
- "type": "bytes32",
- "internalType": "bytes32",
- "indexed": true
- },
- {
- "name": "previousAdminRole",
- "type": "bytes32",
- "internalType": "bytes32",
- "indexed": true
- },
- {
- "name": "newAdminRole",
- "type": "bytes32",
- "internalType": "bytes32",
- "indexed": true
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "RoleGranted",
- "inputs": [
- {
- "name": "role",
- "type": "bytes32",
- "internalType": "bytes32",
- "indexed": true
- },
- {
- "name": "account",
- "type": "address",
- "internalType": "address",
- "indexed": true
- },
- {
- "name": "sender",
- "type": "address",
- "internalType": "address",
- "indexed": true
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "RoleRevoked",
- "inputs": [
- {
- "name": "role",
- "type": "bytes32",
- "internalType": "bytes32",
- "indexed": true
- },
- {
- "name": "account",
- "type": "address",
- "internalType": "address",
- "indexed": true
- },
- {
- "name": "sender",
- "type": "address",
- "internalType": "address",
- "indexed": true
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "StartAggregationRound",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32",
- "indexed": true
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "StartRitual",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32",
- "indexed": true
- },
- {
- "name": "authority",
- "type": "address",
- "internalType": "address",
- "indexed": true
- },
- {
- "name": "participants",
- "type": "address[]",
- "internalType": "address[]",
- "indexed": false
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "TimeoutChanged",
- "inputs": [
- {
- "name": "oldTimeout",
- "type": "uint32",
- "internalType": "uint32",
- "indexed": false
- },
- {
- "name": "newTimeout",
- "type": "uint32",
- "internalType": "uint32",
- "indexed": false
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "TranscriptPosted",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32",
- "indexed": true
- },
- {
- "name": "node",
- "type": "address",
- "internalType": "address",
- "indexed": true
- },
- {
- "name": "transcriptDigest",
- "type": "bytes32",
- "internalType": "bytes32",
- "indexed": false
- }
- ],
- "anonymous": false
- },
- {
- "type": "function",
- "name": "DEFAULT_ADMIN_ROLE",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ]
- },
- {
- "type": "function",
- "name": "INITIATOR_ROLE",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ]
- },
- {
- "type": "function",
- "name": "TREASURY_ROLE",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ]
- },
- {
- "type": "function",
- "name": "acceptDefaultAdminTransfer",
- "stateMutability": "nonpayable",
- "inputs": [],
- "outputs": []
- },
- {
- "type": "function",
- "name": "application",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "contract ITACoChildApplication"
- }
- ]
- },
- {
- "type": "function",
- "name": "beginDefaultAdminTransfer",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "newAdmin",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "cancelDefaultAdminTransfer",
- "stateMutability": "nonpayable",
- "inputs": [],
- "outputs": []
- },
- {
- "type": "function",
- "name": "changeDefaultAdminDelay",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "newDelay",
- "type": "uint48",
- "internalType": "uint48"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "cohortFingerprint",
- "stateMutability": "pure",
- "inputs": [
- {
- "name": "nodes",
- "type": "address[]",
- "internalType": "address[]"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ]
- },
- {
- "type": "function",
- "name": "currency",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "contract IERC20"
- }
- ]
- },
- {
- "type": "function",
- "name": "defaultAdmin",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "address"
- }
- ]
- },
- {
- "type": "function",
- "name": "defaultAdminDelay",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint48",
- "internalType": "uint48"
- }
- ]
- },
- {
- "type": "function",
- "name": "defaultAdminDelayIncreaseWait",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint48",
- "internalType": "uint48"
- }
- ]
- },
- {
- "type": "function",
- "name": "feeRatePerSecond",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "function",
- "name": "getAuthority",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "address"
- }
- ]
- },
- {
- "type": "function",
- "name": "getParticipantFromProvider",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- },
- {
- "name": "provider",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "components": [
- {
- "name": "provider",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "aggregated",
- "type": "bool",
- "internalType": "bool"
- },
- {
- "name": "transcript",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "decryptionRequestStaticKey",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "internalType": "struct Coordinator.Participant"
- }
- ]
- },
- {
- "type": "function",
- "name": "getParticipants",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple[]",
- "components": [
- {
- "name": "provider",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "aggregated",
- "type": "bool",
- "internalType": "bool"
- },
- {
- "name": "transcript",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "decryptionRequestStaticKey",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "internalType": "struct Coordinator.Participant[]"
- }
- ]
- },
- {
- "type": "function",
- "name": "getProviderPublicKey",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "_provider",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "_ritualId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "components": [
- {
- "name": "word0",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "word1",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "word2",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "internalType": "struct BLS12381.G2Point"
- }
- ]
- },
- {
- "type": "function",
- "name": "getPublicKeyFromRitualId",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- }
- ],
- "outputs": [
- {
- "name": "dkgPublicKey",
- "type": "tuple",
- "components": [
- {
- "name": "word0",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "word1",
- "type": "bytes16",
- "internalType": "bytes16"
- }
- ],
- "internalType": "struct BLS12381.G1Point"
- }
- ]
- },
- {
- "type": "function",
- "name": "getRitualIdFromPublicKey",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "dkgPublicKey",
- "type": "tuple",
- "components": [
- {
- "name": "word0",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "word1",
- "type": "bytes16",
- "internalType": "bytes16"
- }
- ],
- "internalType": "struct BLS12381.G1Point"
- }
- ],
- "outputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- }
- ]
- },
- {
- "type": "function",
- "name": "getRitualInitiationCost",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "providers",
- "type": "address[]",
- "internalType": "address[]"
- },
- {
- "name": "duration",
- "type": "uint32",
- "internalType": "uint32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "function",
- "name": "getRitualState",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint8",
- "internalType": "enum Coordinator.RitualState"
- }
- ]
- },
- {
- "type": "function",
- "name": "getRoleAdmin",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "role",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ]
- },
- {
- "type": "function",
- "name": "getThresholdForRitualSize",
- "stateMutability": "pure",
- "inputs": [
- {
- "name": "size",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint16",
- "internalType": "uint16"
- }
- ]
- },
- {
- "type": "function",
- "name": "grantRole",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "role",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "account",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "hasRole",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "role",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "account",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ]
- },
- {
- "type": "function",
- "name": "initiateRitual",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "providers",
- "type": "address[]",
- "internalType": "address[]"
- },
- {
- "name": "authority",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "duration",
- "type": "uint32",
- "internalType": "uint32"
- },
- {
- "name": "accessController",
- "type": "address",
- "internalType": "contract IEncryptionAuthorizer"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint32",
- "internalType": "uint32"
- }
- ]
- },
- {
- "type": "function",
- "name": "isEncryptionAuthorized",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- },
- {
- "name": "evidence",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "ciphertextHeader",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ]
- },
- {
- "type": "function",
- "name": "isInitiationPublic",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ]
- },
- {
- "type": "function",
- "name": "isProviderPublicKeySet",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "_provider",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ]
- },
- {
- "type": "function",
- "name": "isRitualFinalized",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ]
- },
- {
- "type": "function",
- "name": "makeInitiationPublic",
- "stateMutability": "nonpayable",
- "inputs": [],
- "outputs": []
- },
- {
- "type": "function",
- "name": "maxDkgSize",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint16",
- "internalType": "uint16"
- }
- ]
- },
- {
- "type": "function",
- "name": "numberOfRituals",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "function",
- "name": "owner",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "address"
- }
- ]
- },
- {
- "type": "function",
- "name": "pendingDefaultAdmin",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "newAdmin",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "schedule",
- "type": "uint48",
- "internalType": "uint48"
- }
- ]
- },
- {
- "type": "function",
- "name": "pendingDefaultAdminDelay",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "newDelay",
- "type": "uint48",
- "internalType": "uint48"
- },
- {
- "name": "schedule",
- "type": "uint48",
- "internalType": "uint48"
- }
- ]
- },
- {
- "type": "function",
- "name": "pendingFees",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "function",
- "name": "postAggregation",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- },
- {
- "name": "aggregatedTranscript",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "dkgPublicKey",
- "type": "tuple",
- "components": [
- {
- "name": "word0",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "word1",
- "type": "bytes16",
- "internalType": "bytes16"
- }
- ],
- "internalType": "struct BLS12381.G1Point"
- },
- {
- "name": "decryptionRequestStaticKey",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "postTranscript",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- },
- {
- "name": "transcript",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "processPendingFee",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "renounceRole",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "role",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "account",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "revokeRole",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "role",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "account",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "rituals",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "initiator",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "initTimestamp",
- "type": "uint32",
- "internalType": "uint32"
- },
- {
- "name": "endTimestamp",
- "type": "uint32",
- "internalType": "uint32"
- },
- {
- "name": "totalTranscripts",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "totalAggregations",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "authority",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "dkgSize",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "threshold",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "aggregationMismatch",
- "type": "bool",
- "internalType": "bool"
- },
- {
- "name": "accessController",
- "type": "address",
- "internalType": "contract IEncryptionAuthorizer"
- },
- {
- "name": "publicKey",
- "type": "tuple",
- "components": [
- {
- "name": "word0",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "word1",
- "type": "bytes16",
- "internalType": "bytes16"
- }
- ],
- "internalType": "struct BLS12381.G1Point"
- },
- {
- "name": "aggregatedTranscript",
- "type": "bytes",
- "internalType": "bytes"
- }
- ]
- },
- {
- "type": "function",
- "name": "rollbackDefaultAdminDelay",
- "stateMutability": "nonpayable",
- "inputs": [],
- "outputs": []
- },
- {
- "type": "function",
- "name": "setMaxDkgSize",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "newSize",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "setProviderPublicKey",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "_publicKey",
- "type": "tuple",
- "components": [
- {
- "name": "word0",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "word1",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "word2",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "internalType": "struct BLS12381.G2Point"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "setReimbursementPool",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "pool",
- "type": "address",
- "internalType": "contract IReimbursementPool"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "setRitualAuthority",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "ritualId",
- "type": "uint32",
- "internalType": "uint32"
- },
- {
- "name": "authority",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "setTimeout",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "newTimeout",
- "type": "uint32",
- "internalType": "uint32"
- }
- ],
- "outputs": []
- },
- {
- "type": "function",
- "name": "supportsInterface",
- "stateMutability": "view",
- "inputs": [
- {
- "name": "interfaceId",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ]
- },
- {
- "type": "function",
- "name": "timeout",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint32",
- "internalType": "uint32"
- }
- ]
- },
- {
- "type": "function",
- "name": "totalPendingFees",
- "stateMutability": "view",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "function",
- "name": "withdrawTokens",
- "stateMutability": "nonpayable",
- "inputs": [
- {
- "name": "token",
- "type": "address",
- "internalType": "contract IERC20"
- },
- {
- "name": "amount",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": []
- }
-]
diff --git a/packages/shared/abis/SubscriptionManager.json b/packages/shared/abis/SubscriptionManager.json
deleted file mode 100644
index 8c2b86540..000000000
--- a/packages/shared/abis/SubscriptionManager.json
+++ /dev/null
@@ -1,22543 +0,0 @@
-{
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldFeeRate",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newFeeRate",
- "type": "uint256"
- }
- ],
- "name": "FeeRateUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes16",
- "name": "policyId",
- "type": "bytes16"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sponsor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "owner",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint16",
- "name": "size",
- "type": "uint16"
- },
- {
- "indexed": false,
- "internalType": "uint32",
- "name": "startTimestamp",
- "type": "uint32"
- },
- {
- "indexed": false,
- "internalType": "uint32",
- "name": "endTimestamp",
- "type": "uint32"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "cost",
- "type": "uint256"
- }
- ],
- "name": "PolicyCreated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "previousAdminRole",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "newAdminRole",
- "type": "bytes32"
- }
- ],
- "name": "RoleAdminChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleGranted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleRevoked",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "DEFAULT_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "SET_RATE_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "WITHDRAW_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes16",
- "name": "_policyId",
- "type": "bytes16"
- },
- {
- "internalType": "address",
- "name": "_policyOwner",
- "type": "address"
- },
- {
- "internalType": "uint16",
- "name": "_size",
- "type": "uint16"
- },
- {
- "internalType": "uint32",
- "name": "_startTimestamp",
- "type": "uint32"
- },
- {
- "internalType": "uint32",
- "name": "_endTimestamp",
- "type": "uint32"
- }
- ],
- "name": "createPolicy",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "feeRate",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes16",
- "name": "_policyID",
- "type": "bytes16"
- }
- ],
- "name": "getPolicy",
- "outputs": [
- {
- "components": [
- {
- "internalType": "address payable",
- "name": "sponsor",
- "type": "address"
- },
- {
- "internalType": "uint32",
- "name": "startTimestamp",
- "type": "uint32"
- },
- {
- "internalType": "uint32",
- "name": "endTimestamp",
- "type": "uint32"
- },
- {
- "internalType": "uint16",
- "name": "size",
- "type": "uint16"
- },
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- }
- ],
- "internalType": "struct SubscriptionManager.Policy",
- "name": "",
- "type": "tuple"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint16",
- "name": "_size",
- "type": "uint16"
- },
- {
- "internalType": "uint32",
- "name": "_startTimestamp",
- "type": "uint32"
- },
- {
- "internalType": "uint32",
- "name": "_endTimestamp",
- "type": "uint32"
- }
- ],
- "name": "getPolicyCost",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- }
- ],
- "name": "getRoleAdmin",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasRole",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_feeRate",
- "type": "uint256"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes16",
- "name": "_policyID",
- "type": "bytes16"
- }
- ],
- "name": "isPolicyActive",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "renounceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "revokeRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_ratePerSecond",
- "type": "uint256"
- }
- ],
- "name": "setFeeRate",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "interfaceId",
- "type": "bytes4"
- }
- ],
- "name": "supportsInterface",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address payable",
- "name": "recipient",
- "type": "address"
- }
- ],
- "name": "sweep",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ],
- "allSourcePaths": {
- "0": "/home/piotr/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/contracts/access/AccessControlUpgradeable.sol",
- "1": "/home/piotr/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/contracts/access/IAccessControlUpgradeable.sol",
- "2": "/home/piotr/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/contracts/proxy/utils/Initializable.sol",
- "30": "contracts/matic/SubscriptionManager.sol",
- "4": "/home/piotr/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/contracts/utils/ContextUpgradeable.sol",
- "6": "/home/piotr/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/contracts/utils/introspection/ERC165Upgradeable.sol",
- "7": "/home/piotr/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/contracts/utils/introspection/IERC165Upgradeable.sol"
- },
- "ast": {
- "absolutePath": "contracts/matic/SubscriptionManager.sol",
- "exportedSymbols": {
- "AccessControlUpgradeable": [
- 15111
- ],
- "AddressUpgradeable": [
- 15790
- ],
- "ContextUpgradeable": [
- 15300
- ],
- "ERC165Upgradeable": [
- 15547
- ],
- "IAccessControlUpgradeable": [
- 15258
- ],
- "IERC165Upgradeable": [
- 15802
- ],
- "Initializable": [
- 15185
- ],
- "StringsUpgradeable": [
- 15503
- ],
- "SubscriptionManager": [
- 12850
- ]
- },
- "id": 12851,
- "license": "AGPL-3.0-or-later",
- "nodeType": "SourceUnit",
- "nodes": [
- {
- "id": 12486,
- "literals": [
- "solidity",
- "^",
- "0.8",
- ".0"
- ],
- "nodeType": "PragmaDirective",
- "src": "47:23:30"
- },
- {
- "absolutePath": "/home/piotr/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/contracts/access/AccessControlUpgradeable.sol",
- "file": "@openzeppelin-upgradeable/contracts/access/AccessControlUpgradeable.sol",
- "id": 12487,
- "nameLocation": "-1:-1:-1",
- "nodeType": "ImportDirective",
- "scope": 12851,
- "sourceUnit": 15112,
- "src": "72:81:30",
- "symbolAliases": [],
- "unitAlias": ""
- },
- {
- "absolutePath": "/home/piotr/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/contracts/proxy/utils/Initializable.sol",
- "file": "@openzeppelin-upgradeable/contracts/proxy/utils/Initializable.sol",
- "id": 12488,
- "nameLocation": "-1:-1:-1",
- "nodeType": "ImportDirective",
- "scope": 12851,
- "sourceUnit": 15186,
- "src": "154:75:30",
- "symbolAliases": [],
- "unitAlias": ""
- },
- {
- "abstract": false,
- "baseContracts": [
- {
- "baseName": {
- "id": 12489,
- "name": "Initializable",
- "nodeType": "IdentifierPath",
- "referencedDeclaration": 15185,
- "src": "263:13:30"
- },
- "id": 12490,
- "nodeType": "InheritanceSpecifier",
- "src": "263:13:30"
- },
- {
- "baseName": {
- "id": 12491,
- "name": "AccessControlUpgradeable",
- "nodeType": "IdentifierPath",
- "referencedDeclaration": 15111,
- "src": "278:24:30"
- },
- "id": 12492,
- "nodeType": "InheritanceSpecifier",
- "src": "278:24:30"
- }
- ],
- "canonicalName": "SubscriptionManager",
- "contractDependencies": [],
- "contractKind": "contract",
- "fullyImplemented": true,
- "id": 12850,
- "linearizedBaseContracts": [
- 12850,
- 15111,
- 15547,
- 15802,
- 15258,
- 15300,
- 15185
- ],
- "name": "SubscriptionManager",
- "nameLocation": "240:19:30",
- "nodeType": "ContractDefinition",
- "nodes": [
- {
- "constant": true,
- "functionSelector": "58f70858",
- "id": 12497,
- "mutability": "constant",
- "name": "SET_RATE_ROLE",
- "nameLocation": "334:13:30",
- "nodeType": "VariableDeclaration",
- "scope": 12850,
- "src": "310:87:30",
- "stateVariable": true,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- },
- "typeName": {
- "id": 12493,
- "name": "bytes32",
- "nodeType": "ElementaryTypeName",
- "src": "310:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- }
- },
- "value": {
- "arguments": [
- {
- "hexValue": "506f77657220746f2073657420746865206665652072617465",
- "id": 12495,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "string",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "369:27:30",
- "typeDescriptions": {
- "typeIdentifier": "t_stringliteral_637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a097",
- "typeString": "literal_string \"Power to set the fee rate\""
- },
- "value": "Power to set the fee rate"
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_stringliteral_637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a097",
- "typeString": "literal_string \"Power to set the fee rate\""
- }
- ],
- "id": 12494,
- "name": "keccak256",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -8,
- "src": "359:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
- "typeString": "function (bytes memory) pure returns (bytes32)"
- }
- },
- "id": 12496,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "359:38:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- }
- },
- "visibility": "public"
- },
- {
- "constant": true,
- "functionSelector": "e02023a1",
- "id": 12502,
- "mutability": "constant",
- "name": "WITHDRAW_ROLE",
- "nameLocation": "427:13:30",
- "nodeType": "VariableDeclaration",
- "scope": 12850,
- "src": "403:110:30",
- "stateVariable": true,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- },
- "typeName": {
- "id": 12498,
- "name": "bytes32",
- "nodeType": "ElementaryTypeName",
- "src": "403:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- }
- },
- "value": {
- "arguments": [
- {
- "hexValue": "506f77657220746f2077697468647261772066756e64732066726f6d20537562736372697074696f6e4d616e61676572",
- "id": 12500,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "string",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "462:50:30",
- "typeDescriptions": {
- "typeIdentifier": "t_stringliteral_c1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a35",
- "typeString": "literal_string \"Power to withdraw funds from SubscriptionManager\""
- },
- "value": "Power to withdraw funds from SubscriptionManager"
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_stringliteral_c1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a35",
- "typeString": "literal_string \"Power to withdraw funds from SubscriptionManager\""
- }
- ],
- "id": 12499,
- "name": "keccak256",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -8,
- "src": "452:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
- "typeString": "function (bytes memory) pure returns (bytes32)"
- }
- },
- "id": 12501,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "452:61:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- }
- },
- "visibility": "public"
- },
- {
- "canonicalName": "SubscriptionManager.Policy",
- "id": 12513,
- "members": [
- {
- "constant": false,
- "id": 12504,
- "mutability": "mutable",
- "name": "sponsor",
- "nameLocation": "674:7:30",
- "nodeType": "VariableDeclaration",
- "scope": 12513,
- "src": "658:23:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address_payable",
- "typeString": "address payable"
- },
- "typeName": {
- "id": 12503,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "658:15:30",
- "stateMutability": "payable",
- "typeDescriptions": {
- "typeIdentifier": "t_address_payable",
- "typeString": "address payable"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12506,
- "mutability": "mutable",
- "name": "startTimestamp",
- "nameLocation": "698:14:30",
- "nodeType": "VariableDeclaration",
- "scope": 12513,
- "src": "691:21:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12505,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "691:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12508,
- "mutability": "mutable",
- "name": "endTimestamp",
- "nameLocation": "729:12:30",
- "nodeType": "VariableDeclaration",
- "scope": 12513,
- "src": "722:19:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12507,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "722:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12510,
- "mutability": "mutable",
- "name": "size",
- "nameLocation": "758:4:30",
- "nodeType": "VariableDeclaration",
- "scope": 12513,
- "src": "751:11:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- },
- "typeName": {
- "id": 12509,
- "name": "uint16",
- "nodeType": "ElementaryTypeName",
- "src": "751:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12512,
- "mutability": "mutable",
- "name": "owner",
- "nameLocation": "849:5:30",
- "nodeType": "VariableDeclaration",
- "scope": 12513,
- "src": "841:13:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "typeName": {
- "id": 12511,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "841:7:30",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "visibility": "internal"
- }
- ],
- "name": "Policy",
- "nameLocation": "641:6:30",
- "nodeType": "StructDefinition",
- "scope": 12850,
- "src": "634:227:30",
- "visibility": "public"
- },
- {
- "anonymous": false,
- "id": 12529,
- "name": "PolicyCreated",
- "nameLocation": "873:13:30",
- "nodeType": "EventDefinition",
- "parameters": {
- "id": 12528,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12515,
- "indexed": true,
- "mutability": "mutable",
- "name": "policyId",
- "nameLocation": "912:8:30",
- "nodeType": "VariableDeclaration",
- "scope": 12529,
- "src": "896:24:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- },
- "typeName": {
- "id": 12514,
- "name": "bytes16",
- "nodeType": "ElementaryTypeName",
- "src": "896:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12517,
- "indexed": true,
- "mutability": "mutable",
- "name": "sponsor",
- "nameLocation": "946:7:30",
- "nodeType": "VariableDeclaration",
- "scope": 12529,
- "src": "930:23:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "typeName": {
- "id": 12516,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "930:7:30",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12519,
- "indexed": true,
- "mutability": "mutable",
- "name": "owner",
- "nameLocation": "979:5:30",
- "nodeType": "VariableDeclaration",
- "scope": 12529,
- "src": "963:21:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "typeName": {
- "id": 12518,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "963:7:30",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12521,
- "indexed": false,
- "mutability": "mutable",
- "name": "size",
- "nameLocation": "1001:4:30",
- "nodeType": "VariableDeclaration",
- "scope": 12529,
- "src": "994:11:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- },
- "typeName": {
- "id": 12520,
- "name": "uint16",
- "nodeType": "ElementaryTypeName",
- "src": "994:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12523,
- "indexed": false,
- "mutability": "mutable",
- "name": "startTimestamp",
- "nameLocation": "1022:14:30",
- "nodeType": "VariableDeclaration",
- "scope": 12529,
- "src": "1015:21:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12522,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "1015:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12525,
- "indexed": false,
- "mutability": "mutable",
- "name": "endTimestamp",
- "nameLocation": "1053:12:30",
- "nodeType": "VariableDeclaration",
- "scope": 12529,
- "src": "1046:19:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12524,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "1046:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12527,
- "indexed": false,
- "mutability": "mutable",
- "name": "cost",
- "nameLocation": "1083:4:30",
- "nodeType": "VariableDeclaration",
- "scope": 12529,
- "src": "1075:12:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 12526,
- "name": "uint256",
- "nodeType": "ElementaryTypeName",
- "src": "1075:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "886:207:30"
- },
- "src": "867:227:30"
- },
- {
- "anonymous": false,
- "id": 12535,
- "name": "FeeRateUpdated",
- "nameLocation": "1106:14:30",
- "nodeType": "EventDefinition",
- "parameters": {
- "id": 12534,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12531,
- "indexed": false,
- "mutability": "mutable",
- "name": "oldFeeRate",
- "nameLocation": "1129:10:30",
- "nodeType": "VariableDeclaration",
- "scope": 12535,
- "src": "1121:18:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 12530,
- "name": "uint256",
- "nodeType": "ElementaryTypeName",
- "src": "1121:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12533,
- "indexed": false,
- "mutability": "mutable",
- "name": "newFeeRate",
- "nameLocation": "1149:10:30",
- "nodeType": "VariableDeclaration",
- "scope": 12535,
- "src": "1141:18:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 12532,
- "name": "uint256",
- "nodeType": "ElementaryTypeName",
- "src": "1141:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "1120:40:30"
- },
- "src": "1100:61:30"
- },
- {
- "constant": false,
- "functionSelector": "978bbdb9",
- "id": 12537,
- "mutability": "mutable",
- "name": "feeRate",
- "nameLocation": "1227:7:30",
- "nodeType": "VariableDeclaration",
- "scope": 12850,
- "src": "1212:22:30",
- "stateVariable": true,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 12536,
- "name": "uint256",
- "nodeType": "ElementaryTypeName",
- "src": "1212:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "visibility": "public"
- },
- {
- "constant": false,
- "id": 12542,
- "mutability": "mutable",
- "name": "_policies",
- "nameLocation": "1340:9:30",
- "nodeType": "VariableDeclaration",
- "scope": 12850,
- "src": "1303:46:30",
- "stateVariable": true,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Policy_$12513_storage_$",
- "typeString": "mapping(bytes16 => struct SubscriptionManager.Policy)"
- },
- "typeName": {
- "id": 12541,
- "keyType": {
- "id": 12538,
- "name": "bytes16",
- "nodeType": "ElementaryTypeName",
- "src": "1312:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- "nodeType": "Mapping",
- "src": "1303:27:30",
- "typeDescriptions": {
- "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Policy_$12513_storage_$",
- "typeString": "mapping(bytes16 => struct SubscriptionManager.Policy)"
- },
- "valueType": {
- "id": 12540,
- "nodeType": "UserDefinedTypeName",
- "pathNode": {
- "id": 12539,
- "name": "Policy",
- "nodeType": "IdentifierPath",
- "referencedDeclaration": 12513,
- "src": "1323:6:30"
- },
- "referencedDeclaration": 12513,
- "src": "1323:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy"
- }
- }
- },
- "visibility": "internal"
- },
- {
- "body": {
- "id": 12571,
- "nodeType": "Block",
- "src": "1413:184:30",
- "statements": [
- {
- "expression": {
- "arguments": [
- {
- "id": 12550,
- "name": "_feeRate",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12544,
- "src": "1435:8:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- ],
- "id": 12549,
- "name": "_setFeeRate",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12805,
- "src": "1423:11:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
- "typeString": "function (uint256)"
- }
- },
- "id": 12551,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "1423:21:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12552,
- "nodeType": "ExpressionStatement",
- "src": "1423:21:30"
- },
- {
- "expression": {
- "arguments": [
- {
- "id": 12554,
- "name": "SET_RATE_ROLE",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12497,
- "src": "1465:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- }
- },
- {
- "expression": {
- "id": 12555,
- "name": "msg",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -15,
- "src": "1480:3:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_message",
- "typeString": "msg"
- }
- },
- "id": 12556,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "sender",
- "nodeType": "MemberAccess",
- "src": "1480:10:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- },
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- ],
- "id": 12553,
- "name": "_setupRole",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 15014,
- "src": "1454:10:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$",
- "typeString": "function (bytes32,address)"
- }
- },
- "id": 12557,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "1454:37:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12558,
- "nodeType": "ExpressionStatement",
- "src": "1454:37:30"
- },
- {
- "expression": {
- "arguments": [
- {
- "id": 12560,
- "name": "WITHDRAW_ROLE",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12502,
- "src": "1512:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- }
- },
- {
- "expression": {
- "id": 12561,
- "name": "msg",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -15,
- "src": "1527:3:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_message",
- "typeString": "msg"
- }
- },
- "id": 12562,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "sender",
- "nodeType": "MemberAccess",
- "src": "1527:10:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- },
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- ],
- "id": 12559,
- "name": "_setupRole",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 15014,
- "src": "1501:10:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$",
- "typeString": "function (bytes32,address)"
- }
- },
- "id": 12563,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "1501:37:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12564,
- "nodeType": "ExpressionStatement",
- "src": "1501:37:30"
- },
- {
- "expression": {
- "arguments": [
- {
- "id": 12566,
- "name": "DEFAULT_ADMIN_ROLE",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 14825,
- "src": "1559:18:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- }
- },
- {
- "expression": {
- "id": 12567,
- "name": "msg",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -15,
- "src": "1579:3:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_message",
- "typeString": "msg"
- }
- },
- "id": 12568,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "sender",
- "nodeType": "MemberAccess",
- "src": "1579:10:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- },
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- ],
- "id": 12565,
- "name": "_setupRole",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 15014,
- "src": "1548:10:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$",
- "typeString": "function (bytes32,address)"
- }
- },
- "id": 12569,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "1548:42:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12570,
- "nodeType": "ExpressionStatement",
- "src": "1548:42:30"
- }
- ]
- },
- "functionSelector": "fe4b84df",
- "id": 12572,
- "implemented": true,
- "kind": "function",
- "modifiers": [
- {
- "id": 12547,
- "kind": "modifierInvocation",
- "modifierName": {
- "id": 12546,
- "name": "initializer",
- "nodeType": "IdentifierPath",
- "referencedDeclaration": 15159,
- "src": "1401:11:30"
- },
- "nodeType": "ModifierInvocation",
- "src": "1401:11:30"
- }
- ],
- "name": "initialize",
- "nameLocation": "1365:10:30",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 12545,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12544,
- "mutability": "mutable",
- "name": "_feeRate",
- "nameLocation": "1384:8:30",
- "nodeType": "VariableDeclaration",
- "scope": 12572,
- "src": "1376:16:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 12543,
- "name": "uint256",
- "nodeType": "ElementaryTypeName",
- "src": "1376:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "1375:18:30"
- },
- "returnParameters": {
- "id": 12548,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "1413:0:30"
- },
- "scope": 12850,
- "src": "1356:241:30",
- "stateMutability": "nonpayable",
- "virtual": false,
- "visibility": "public"
- },
- {
- "body": {
- "id": 12609,
- "nodeType": "Block",
- "src": "1745:213:30",
- "statements": [
- {
- "assignments": [
- 12584
- ],
- "declarations": [
- {
- "constant": false,
- "id": 12584,
- "mutability": "mutable",
- "name": "duration",
- "nameLocation": "1762:8:30",
- "nodeType": "VariableDeclaration",
- "scope": 12609,
- "src": "1755:15:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12583,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "1755:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- }
- ],
- "id": 12588,
- "initialValue": {
- "commonType": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "id": 12587,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "id": 12585,
- "name": "_endTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12578,
- "src": "1773:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "-",
- "rightExpression": {
- "id": 12586,
- "name": "_startTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12576,
- "src": "1789:15:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "src": "1773:31:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "nodeType": "VariableDeclarationStatement",
- "src": "1755:49:30"
- },
- {
- "expression": {
- "arguments": [
- {
- "commonType": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "id": 12592,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "id": 12590,
- "name": "duration",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12584,
- "src": "1822:8:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": ">",
- "rightExpression": {
- "hexValue": "30",
- "id": 12591,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "number",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "1833:1:30",
- "typeDescriptions": {
- "typeIdentifier": "t_rational_0_by_1",
- "typeString": "int_const 0"
- },
- "value": "0"
- },
- "src": "1822:12:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- {
- "hexValue": "496e76616c69642074696d657374616d7073",
- "id": 12593,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "string",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "1836:20:30",
- "typeDescriptions": {
- "typeIdentifier": "t_stringliteral_d13ce2008fdeb7fc794b4b53783363d1e4b47fe95f36462fc20fc0c6be1fe852",
- "typeString": "literal_string \"Invalid timestamps\""
- },
- "value": "Invalid timestamps"
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- },
- {
- "typeIdentifier": "t_stringliteral_d13ce2008fdeb7fc794b4b53783363d1e4b47fe95f36462fc20fc0c6be1fe852",
- "typeString": "literal_string \"Invalid timestamps\""
- }
- ],
- "id": 12589,
- "name": "require",
- "nodeType": "Identifier",
- "overloadedDeclarations": [
- -18,
- -18
- ],
- "referencedDeclaration": -18,
- "src": "1814:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
- "typeString": "function (bool,string memory) pure"
- }
- },
- "id": 12594,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "1814:43:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12595,
- "nodeType": "ExpressionStatement",
- "src": "1814:43:30"
- },
- {
- "expression": {
- "arguments": [
- {
- "commonType": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- },
- "id": 12599,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "id": 12597,
- "name": "_size",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12574,
- "src": "1875:5:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": ">",
- "rightExpression": {
- "hexValue": "30",
- "id": 12598,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "number",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "1883:1:30",
- "typeDescriptions": {
- "typeIdentifier": "t_rational_0_by_1",
- "typeString": "int_const 0"
- },
- "value": "0"
- },
- "src": "1875:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- {
- "hexValue": "496e76616c696420706f6c6963792073697a65",
- "id": 12600,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "string",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "1886:21:30",
- "typeDescriptions": {
- "typeIdentifier": "t_stringliteral_e48c2af64a0e06871ea64bc338dd6248f31a3041f2eaf662911b9d84755db436",
- "typeString": "literal_string \"Invalid policy size\""
- },
- "value": "Invalid policy size"
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- },
- {
- "typeIdentifier": "t_stringliteral_e48c2af64a0e06871ea64bc338dd6248f31a3041f2eaf662911b9d84755db436",
- "typeString": "literal_string \"Invalid policy size\""
- }
- ],
- "id": 12596,
- "name": "require",
- "nodeType": "Identifier",
- "overloadedDeclarations": [
- -18,
- -18
- ],
- "referencedDeclaration": -18,
- "src": "1867:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
- "typeString": "function (bool,string memory) pure"
- }
- },
- "id": 12601,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "1867:41:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12602,
- "nodeType": "ExpressionStatement",
- "src": "1867:41:30"
- },
- {
- "expression": {
- "commonType": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "id": 12607,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "commonType": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "id": 12605,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "id": 12603,
- "name": "feeRate",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12537,
- "src": "1925:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "*",
- "rightExpression": {
- "id": 12604,
- "name": "_size",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12574,
- "src": "1935:5:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- "src": "1925:15:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "*",
- "rightExpression": {
- "id": 12606,
- "name": "duration",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12584,
- "src": "1943:8:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "src": "1925:26:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "functionReturnParameters": 12582,
- "id": 12608,
- "nodeType": "Return",
- "src": "1918:33:30"
- }
- ]
- },
- "functionSelector": "58db2a72",
- "id": 12610,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "getPolicyCost",
- "nameLocation": "1612:13:30",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 12579,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12574,
- "mutability": "mutable",
- "name": "_size",
- "nameLocation": "1642:5:30",
- "nodeType": "VariableDeclaration",
- "scope": 12610,
- "src": "1635:12:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- },
- "typeName": {
- "id": 12573,
- "name": "uint16",
- "nodeType": "ElementaryTypeName",
- "src": "1635:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12576,
- "mutability": "mutable",
- "name": "_startTimestamp",
- "nameLocation": "1664:15:30",
- "nodeType": "VariableDeclaration",
- "scope": 12610,
- "src": "1657:22:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12575,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "1657:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12578,
- "mutability": "mutable",
- "name": "_endTimestamp",
- "nameLocation": "1696:13:30",
- "nodeType": "VariableDeclaration",
- "scope": 12610,
- "src": "1689:20:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12577,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "1689:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "1625:90:30"
- },
- "returnParameters": {
- "id": 12582,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12581,
- "mutability": "mutable",
- "name": "",
- "nameLocation": "-1:-1:-1",
- "nodeType": "VariableDeclaration",
- "scope": 12610,
- "src": "1737:7:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 12580,
- "name": "uint256",
- "nodeType": "ElementaryTypeName",
- "src": "1737:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "1736:9:30"
- },
- "scope": 12850,
- "src": "1603:355:30",
- "stateMutability": "view",
- "virtual": false,
- "visibility": "public"
- },
- {
- "body": {
- "id": 12655,
- "nodeType": "Block",
- "src": "2162:377:30",
- "statements": [
- {
- "expression": {
- "arguments": [
- {
- "commonType": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- },
- "id": 12631,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "commonType": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "id": 12626,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "id": 12624,
- "name": "_startTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12618,
- "src": "2193:15:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "<",
- "rightExpression": {
- "id": 12625,
- "name": "_endTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12620,
- "src": "2211:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "src": "2193:31:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "&&",
- "rightExpression": {
- "commonType": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "id": 12630,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "expression": {
- "id": 12627,
- "name": "block",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -4,
- "src": "2228:5:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_block",
- "typeString": "block"
- }
- },
- "id": 12628,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "timestamp",
- "nodeType": "MemberAccess",
- "src": "2228:15:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "<",
- "rightExpression": {
- "id": 12629,
- "name": "_endTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12620,
- "src": "2246:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "src": "2228:31:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- "src": "2193:66:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- {
- "hexValue": "496e76616c69642074696d657374616d7073",
- "id": 12632,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "string",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "2273:20:30",
- "typeDescriptions": {
- "typeIdentifier": "t_stringliteral_d13ce2008fdeb7fc794b4b53783363d1e4b47fe95f36462fc20fc0c6be1fe852",
- "typeString": "literal_string \"Invalid timestamps\""
- },
- "value": "Invalid timestamps"
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- },
- {
- "typeIdentifier": "t_stringliteral_d13ce2008fdeb7fc794b4b53783363d1e4b47fe95f36462fc20fc0c6be1fe852",
- "typeString": "literal_string \"Invalid timestamps\""
- }
- ],
- "id": 12623,
- "name": "require",
- "nodeType": "Identifier",
- "overloadedDeclarations": [
- -18,
- -18
- ],
- "referencedDeclaration": -18,
- "src": "2172:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
- "typeString": "function (bool,string memory) pure"
- }
- },
- "id": 12633,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "2172:131:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12634,
- "nodeType": "ExpressionStatement",
- "src": "2172:131:30"
- },
- {
- "expression": {
- "arguments": [
- {
- "commonType": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "id": 12643,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "expression": {
- "id": 12636,
- "name": "msg",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -15,
- "src": "2334:3:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_message",
- "typeString": "msg"
- }
- },
- "id": 12637,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "value",
- "nodeType": "MemberAccess",
- "src": "2334:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "==",
- "rightExpression": {
- "arguments": [
- {
- "id": 12639,
- "name": "_size",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12616,
- "src": "2361:5:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- {
- "id": 12640,
- "name": "_startTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12618,
- "src": "2368:15:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- {
- "id": 12641,
- "name": "_endTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12620,
- "src": "2385:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- },
- {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- ],
- "id": 12638,
- "name": "getPolicyCost",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12610,
- "src": "2347:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_internal_view$_t_uint16_$_t_uint32_$_t_uint32_$returns$_t_uint256_$",
- "typeString": "function (uint16,uint32,uint32) view returns (uint256)"
- }
- },
- "id": 12642,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "2347:52:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "src": "2334:65:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- {
- "hexValue": "496e76616c696420706f6c69637920636f7374",
- "id": 12644,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "string",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "2413:21:30",
- "typeDescriptions": {
- "typeIdentifier": "t_stringliteral_0fa49a49f72cb6cd60abea125eafdb07a7b52059bdbf119d2ea22c3391585b5a",
- "typeString": "literal_string \"Invalid policy cost\""
- },
- "value": "Invalid policy cost"
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- },
- {
- "typeIdentifier": "t_stringliteral_0fa49a49f72cb6cd60abea125eafdb07a7b52059bdbf119d2ea22c3391585b5a",
- "typeString": "literal_string \"Invalid policy cost\""
- }
- ],
- "id": 12635,
- "name": "require",
- "nodeType": "Identifier",
- "overloadedDeclarations": [
- -18,
- -18
- ],
- "referencedDeclaration": -18,
- "src": "2313:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
- "typeString": "function (bool,string memory) pure"
- }
- },
- "id": 12645,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "2313:131:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12646,
- "nodeType": "ExpressionStatement",
- "src": "2313:131:30"
- },
- {
- "expression": {
- "arguments": [
- {
- "id": 12648,
- "name": "_policyId",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12612,
- "src": "2469:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- {
- "id": 12649,
- "name": "_policyOwner",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12614,
- "src": "2480:12:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- {
- "id": 12650,
- "name": "_size",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12616,
- "src": "2494:5:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- {
- "id": 12651,
- "name": "_startTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12618,
- "src": "2501:15:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- {
- "id": 12652,
- "name": "_endTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12620,
- "src": "2518:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- },
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- },
- {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- ],
- "id": 12647,
- "name": "_createPolicy",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12757,
- "src": "2455:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_internal_nonpayable$_t_bytes16_$_t_address_$_t_uint16_$_t_uint32_$_t_uint32_$returns$_t_struct$_Policy_$12513_storage_ptr_$",
- "typeString": "function (bytes16,address,uint16,uint32,uint32) returns (struct SubscriptionManager.Policy storage pointer)"
- }
- },
- "id": 12653,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "2455:77:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy storage pointer"
- }
- },
- "id": 12654,
- "nodeType": "ExpressionStatement",
- "src": "2455:77:30"
- }
- ]
- },
- "functionSelector": "4f004041",
- "id": 12656,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "createPolicy",
- "nameLocation": "1973:12:30",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 12621,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12612,
- "mutability": "mutable",
- "name": "_policyId",
- "nameLocation": "2003:9:30",
- "nodeType": "VariableDeclaration",
- "scope": 12656,
- "src": "1995:17:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- },
- "typeName": {
- "id": 12611,
- "name": "bytes16",
- "nodeType": "ElementaryTypeName",
- "src": "1995:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12614,
- "mutability": "mutable",
- "name": "_policyOwner",
- "nameLocation": "2030:12:30",
- "nodeType": "VariableDeclaration",
- "scope": 12656,
- "src": "2022:20:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "typeName": {
- "id": 12613,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "2022:7:30",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12616,
- "mutability": "mutable",
- "name": "_size",
- "nameLocation": "2059:5:30",
- "nodeType": "VariableDeclaration",
- "scope": 12656,
- "src": "2052:12:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- },
- "typeName": {
- "id": 12615,
- "name": "uint16",
- "nodeType": "ElementaryTypeName",
- "src": "2052:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12618,
- "mutability": "mutable",
- "name": "_startTimestamp",
- "nameLocation": "2081:15:30",
- "nodeType": "VariableDeclaration",
- "scope": 12656,
- "src": "2074:22:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12617,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "2074:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12620,
- "mutability": "mutable",
- "name": "_endTimestamp",
- "nameLocation": "2113:13:30",
- "nodeType": "VariableDeclaration",
- "scope": 12656,
- "src": "2106:20:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12619,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "2106:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "1985:147:30"
- },
- "returnParameters": {
- "id": 12622,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "2162:0:30"
- },
- "scope": 12850,
- "src": "1964:575:30",
- "stateMutability": "payable",
- "virtual": false,
- "visibility": "external"
- },
- {
- "body": {
- "id": 12756,
- "nodeType": "Block",
- "src": "3113:712:30",
- "statements": [
- {
- "expression": {
- "id": 12677,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftHandSide": {
- "id": 12673,
- "name": "policy",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12671,
- "src": "3123:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy storage pointer"
- }
- },
- "nodeType": "Assignment",
- "operator": "=",
- "rightHandSide": {
- "baseExpression": {
- "id": 12674,
- "name": "_policies",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12542,
- "src": "3132:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Policy_$12513_storage_$",
- "typeString": "mapping(bytes16 => struct SubscriptionManager.Policy storage ref)"
- }
- },
- "id": 12676,
- "indexExpression": {
- "id": 12675,
- "name": "_policyId",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12659,
- "src": "3142:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "nodeType": "IndexAccess",
- "src": "3132:20:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage",
- "typeString": "struct SubscriptionManager.Policy storage ref"
- }
- },
- "src": "3123:29:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy storage pointer"
- }
- },
- "id": 12678,
- "nodeType": "ExpressionStatement",
- "src": "3123:29:30"
- },
- {
- "expression": {
- "arguments": [
- {
- "commonType": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "id": 12684,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "expression": {
- "id": 12680,
- "name": "policy",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12671,
- "src": "3183:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy storage pointer"
- }
- },
- "id": 12681,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "endTimestamp",
- "nodeType": "MemberAccess",
- "referencedDeclaration": 12508,
- "src": "3183:19:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "<",
- "rightExpression": {
- "expression": {
- "id": 12682,
- "name": "block",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -4,
- "src": "3205:5:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_block",
- "typeString": "block"
- }
- },
- "id": 12683,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "timestamp",
- "nodeType": "MemberAccess",
- "src": "3205:15:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "src": "3183:37:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- {
- "hexValue": "506f6c6963792069732063757272656e746c7920616374697665",
- "id": 12685,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "string",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "3234:28:30",
- "typeDescriptions": {
- "typeIdentifier": "t_stringliteral_e3339add1fc1c1d8c133d098db0d1021bb8c3f2996c9977a091db0ae1e4089b0",
- "typeString": "literal_string \"Policy is currently active\""
- },
- "value": "Policy is currently active"
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- },
- {
- "typeIdentifier": "t_stringliteral_e3339add1fc1c1d8c133d098db0d1021bb8c3f2996c9977a091db0ae1e4089b0",
- "typeString": "literal_string \"Policy is currently active\""
- }
- ],
- "id": 12679,
- "name": "require",
- "nodeType": "Identifier",
- "overloadedDeclarations": [
- -18,
- -18
- ],
- "referencedDeclaration": -18,
- "src": "3162:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
- "typeString": "function (bool,string memory) pure"
- }
- },
- "id": 12686,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "3162:110:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12687,
- "nodeType": "ExpressionStatement",
- "src": "3162:110:30"
- },
- {
- "expression": {
- "id": 12696,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftHandSide": {
- "expression": {
- "id": 12688,
- "name": "policy",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12671,
- "src": "3283:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy storage pointer"
- }
- },
- "id": 12690,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": true,
- "memberName": "sponsor",
- "nodeType": "MemberAccess",
- "referencedDeclaration": 12504,
- "src": "3283:14:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address_payable",
- "typeString": "address payable"
- }
- },
- "nodeType": "Assignment",
- "operator": "=",
- "rightHandSide": {
- "arguments": [
- {
- "expression": {
- "id": 12693,
- "name": "msg",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -15,
- "src": "3308:3:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_message",
- "typeString": "msg"
- }
- },
- "id": 12694,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "sender",
- "nodeType": "MemberAccess",
- "src": "3308:10:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- ],
- "id": 12692,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "lValueRequested": false,
- "nodeType": "ElementaryTypeNameExpression",
- "src": "3300:8:30",
- "typeDescriptions": {
- "typeIdentifier": "t_type$_t_address_payable_$",
- "typeString": "type(address payable)"
- },
- "typeName": {
- "id": 12691,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "3300:8:30",
- "stateMutability": "payable",
- "typeDescriptions": {}
- }
- },
- "id": 12695,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "typeConversion",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "3300:19:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_address_payable",
- "typeString": "address payable"
- }
- },
- "src": "3283:36:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address_payable",
- "typeString": "address payable"
- }
- },
- "id": 12697,
- "nodeType": "ExpressionStatement",
- "src": "3283:36:30"
- },
- {
- "expression": {
- "id": 12702,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftHandSide": {
- "expression": {
- "id": 12698,
- "name": "policy",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12671,
- "src": "3329:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy storage pointer"
- }
- },
- "id": 12700,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": true,
- "memberName": "startTimestamp",
- "nodeType": "MemberAccess",
- "referencedDeclaration": 12506,
- "src": "3329:21:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "nodeType": "Assignment",
- "operator": "=",
- "rightHandSide": {
- "id": 12701,
- "name": "_startTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12665,
- "src": "3353:15:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "src": "3329:39:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "id": 12703,
- "nodeType": "ExpressionStatement",
- "src": "3329:39:30"
- },
- {
- "expression": {
- "id": 12708,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftHandSide": {
- "expression": {
- "id": 12704,
- "name": "policy",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12671,
- "src": "3378:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy storage pointer"
- }
- },
- "id": 12706,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": true,
- "memberName": "endTimestamp",
- "nodeType": "MemberAccess",
- "referencedDeclaration": 12508,
- "src": "3378:19:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "nodeType": "Assignment",
- "operator": "=",
- "rightHandSide": {
- "id": 12707,
- "name": "_endTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12667,
- "src": "3400:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "src": "3378:35:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "id": 12709,
- "nodeType": "ExpressionStatement",
- "src": "3378:35:30"
- },
- {
- "expression": {
- "id": 12714,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftHandSide": {
- "expression": {
- "id": 12710,
- "name": "policy",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12671,
- "src": "3423:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy storage pointer"
- }
- },
- "id": 12712,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": true,
- "memberName": "size",
- "nodeType": "MemberAccess",
- "referencedDeclaration": 12510,
- "src": "3423:11:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- "nodeType": "Assignment",
- "operator": "=",
- "rightHandSide": {
- "id": 12713,
- "name": "_size",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12663,
- "src": "3437:5:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- "src": "3423:19:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- "id": 12715,
- "nodeType": "ExpressionStatement",
- "src": "3423:19:30"
- },
- {
- "condition": {
- "commonType": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- },
- "id": 12726,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "commonType": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "id": 12719,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "id": 12716,
- "name": "_policyOwner",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12661,
- "src": "3457:12:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "!=",
- "rightExpression": {
- "expression": {
- "id": 12717,
- "name": "msg",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -15,
- "src": "3473:3:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_message",
- "typeString": "msg"
- }
- },
- "id": 12718,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "sender",
- "nodeType": "MemberAccess",
- "src": "3473:10:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "src": "3457:26:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "&&",
- "rightExpression": {
- "commonType": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "id": 12725,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "id": 12720,
- "name": "_policyOwner",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12661,
- "src": "3487:12:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "!=",
- "rightExpression": {
- "arguments": [
- {
- "hexValue": "30",
- "id": 12723,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "number",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "3511:1:30",
- "typeDescriptions": {
- "typeIdentifier": "t_rational_0_by_1",
- "typeString": "int_const 0"
- },
- "value": "0"
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_rational_0_by_1",
- "typeString": "int_const 0"
- }
- ],
- "id": 12722,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "lValueRequested": false,
- "nodeType": "ElementaryTypeNameExpression",
- "src": "3503:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_type$_t_address_$",
- "typeString": "type(address)"
- },
- "typeName": {
- "id": 12721,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "3503:7:30",
- "typeDescriptions": {}
- }
- },
- "id": 12724,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "typeConversion",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "3503:10:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "src": "3487:26:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- "src": "3457:56:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- "id": 12734,
- "nodeType": "IfStatement",
- "src": "3453:114:30",
- "trueBody": {
- "id": 12733,
- "nodeType": "Block",
- "src": "3515:52:30",
- "statements": [
- {
- "expression": {
- "id": 12731,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftHandSide": {
- "expression": {
- "id": 12727,
- "name": "policy",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12671,
- "src": "3529:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy storage pointer"
- }
- },
- "id": 12729,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": true,
- "memberName": "owner",
- "nodeType": "MemberAccess",
- "referencedDeclaration": 12512,
- "src": "3529:12:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "nodeType": "Assignment",
- "operator": "=",
- "rightHandSide": {
- "id": 12730,
- "name": "_policyOwner",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12661,
- "src": "3544:12:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "src": "3529:27:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "id": 12732,
- "nodeType": "ExpressionStatement",
- "src": "3529:27:30"
- }
- ]
- }
- },
- {
- "eventCall": {
- "arguments": [
- {
- "id": 12736,
- "name": "_policyId",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12659,
- "src": "3609:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- {
- "expression": {
- "id": 12737,
- "name": "msg",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -15,
- "src": "3632:3:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_message",
- "typeString": "msg"
- }
- },
- "id": 12738,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "sender",
- "nodeType": "MemberAccess",
- "src": "3632:10:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- {
- "condition": {
- "commonType": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "id": 12744,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "id": 12739,
- "name": "_policyOwner",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12661,
- "src": "3656:12:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "==",
- "rightExpression": {
- "arguments": [
- {
- "hexValue": "30",
- "id": 12742,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "number",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "3680:1:30",
- "typeDescriptions": {
- "typeIdentifier": "t_rational_0_by_1",
- "typeString": "int_const 0"
- },
- "value": "0"
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_rational_0_by_1",
- "typeString": "int_const 0"
- }
- ],
- "id": 12741,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "lValueRequested": false,
- "nodeType": "ElementaryTypeNameExpression",
- "src": "3672:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_type$_t_address_$",
- "typeString": "type(address)"
- },
- "typeName": {
- "id": 12740,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "3672:7:30",
- "typeDescriptions": {}
- }
- },
- "id": 12743,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "typeConversion",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "3672:10:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "src": "3656:26:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- "falseExpression": {
- "id": 12747,
- "name": "_policyOwner",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12661,
- "src": "3698:12:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "id": 12748,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "nodeType": "Conditional",
- "src": "3656:54:30",
- "trueExpression": {
- "expression": {
- "id": 12745,
- "name": "msg",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -15,
- "src": "3685:3:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_message",
- "typeString": "msg"
- }
- },
- "id": 12746,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "sender",
- "nodeType": "MemberAccess",
- "src": "3685:10:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- {
- "id": 12749,
- "name": "_size",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12663,
- "src": "3724:5:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- {
- "id": 12750,
- "name": "_startTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12665,
- "src": "3743:15:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- {
- "id": 12751,
- "name": "_endTimestamp",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12667,
- "src": "3772:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- {
- "expression": {
- "id": 12752,
- "name": "msg",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -15,
- "src": "3799:3:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_message",
- "typeString": "msg"
- }
- },
- "id": 12753,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "value",
- "nodeType": "MemberAccess",
- "src": "3799:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- },
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- },
- {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- ],
- "id": 12735,
- "name": "PolicyCreated",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12529,
- "src": "3582:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_event_nonpayable$_t_bytes16_$_t_address_$_t_address_$_t_uint16_$_t_uint32_$_t_uint32_$_t_uint256_$returns$__$",
- "typeString": "function (bytes16,address,address,uint16,uint32,uint32,uint256)"
- }
- },
- "id": 12754,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "3582:236:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12755,
- "nodeType": "EmitStatement",
- "src": "3577:241:30"
- }
- ]
- },
- "documentation": {
- "id": 12657,
- "nodeType": "StructuredDocumentation",
- "src": "2545:340:30",
- "text": " @notice Create policy\n @param _policyId Policy id\n @param _policyOwner Policy owner. Zero address means sender is owner\n @param _size Number of nodes involved in the policy\n @param _startTimestamp Start timestamp of the policy in seconds\n @param _endTimestamp End timestamp of the policy in seconds"
- },
- "id": 12757,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "_createPolicy",
- "nameLocation": "2899:13:30",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 12668,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12659,
- "mutability": "mutable",
- "name": "_policyId",
- "nameLocation": "2930:9:30",
- "nodeType": "VariableDeclaration",
- "scope": 12757,
- "src": "2922:17:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- },
- "typeName": {
- "id": 12658,
- "name": "bytes16",
- "nodeType": "ElementaryTypeName",
- "src": "2922:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12661,
- "mutability": "mutable",
- "name": "_policyOwner",
- "nameLocation": "2957:12:30",
- "nodeType": "VariableDeclaration",
- "scope": 12757,
- "src": "2949:20:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "typeName": {
- "id": 12660,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "2949:7:30",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12663,
- "mutability": "mutable",
- "name": "_size",
- "nameLocation": "2986:5:30",
- "nodeType": "VariableDeclaration",
- "scope": 12757,
- "src": "2979:12:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- },
- "typeName": {
- "id": 12662,
- "name": "uint16",
- "nodeType": "ElementaryTypeName",
- "src": "2979:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint16",
- "typeString": "uint16"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12665,
- "mutability": "mutable",
- "name": "_startTimestamp",
- "nameLocation": "3008:15:30",
- "nodeType": "VariableDeclaration",
- "scope": 12757,
- "src": "3001:22:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12664,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "3001:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 12667,
- "mutability": "mutable",
- "name": "_endTimestamp",
- "nameLocation": "3040:13:30",
- "nodeType": "VariableDeclaration",
- "scope": 12757,
- "src": "3033:20:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- },
- "typeName": {
- "id": 12666,
- "name": "uint32",
- "nodeType": "ElementaryTypeName",
- "src": "3033:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "2912:147:30"
- },
- "returnParameters": {
- "id": 12672,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12671,
- "mutability": "mutable",
- "name": "policy",
- "nameLocation": "3101:6:30",
- "nodeType": "VariableDeclaration",
- "scope": 12757,
- "src": "3086:21:30",
- "stateVariable": false,
- "storageLocation": "storage",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy"
- },
- "typeName": {
- "id": 12670,
- "nodeType": "UserDefinedTypeName",
- "pathNode": {
- "id": 12669,
- "name": "Policy",
- "nodeType": "IdentifierPath",
- "referencedDeclaration": 12513,
- "src": "3086:6:30"
- },
- "referencedDeclaration": 12513,
- "src": "3086:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "3085:23:30"
- },
- "scope": 12850,
- "src": "2890:935:30",
- "stateMutability": "nonpayable",
- "virtual": false,
- "visibility": "internal"
- },
- {
- "body": {
- "id": 12769,
- "nodeType": "Block",
- "src": "3903:44:30",
- "statements": [
- {
- "expression": {
- "baseExpression": {
- "id": 12765,
- "name": "_policies",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12542,
- "src": "3920:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Policy_$12513_storage_$",
- "typeString": "mapping(bytes16 => struct SubscriptionManager.Policy storage ref)"
- }
- },
- "id": 12767,
- "indexExpression": {
- "id": 12766,
- "name": "_policyID",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12759,
- "src": "3930:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "nodeType": "IndexAccess",
- "src": "3920:20:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage",
- "typeString": "struct SubscriptionManager.Policy storage ref"
- }
- },
- "functionReturnParameters": 12764,
- "id": 12768,
- "nodeType": "Return",
- "src": "3913:27:30"
- }
- ]
- },
- "functionSelector": "2c815161",
- "id": 12770,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "getPolicy",
- "nameLocation": "3840:9:30",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 12760,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12759,
- "mutability": "mutable",
- "name": "_policyID",
- "nameLocation": "3858:9:30",
- "nodeType": "VariableDeclaration",
- "scope": 12770,
- "src": "3850:17:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- },
- "typeName": {
- "id": 12758,
- "name": "bytes16",
- "nodeType": "ElementaryTypeName",
- "src": "3850:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "3849:19:30"
- },
- "returnParameters": {
- "id": 12764,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12763,
- "mutability": "mutable",
- "name": "",
- "nameLocation": "-1:-1:-1",
- "nodeType": "VariableDeclaration",
- "scope": 12770,
- "src": "3889:13:30",
- "stateVariable": false,
- "storageLocation": "memory",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_memory_ptr",
- "typeString": "struct SubscriptionManager.Policy"
- },
- "typeName": {
- "id": 12762,
- "nodeType": "UserDefinedTypeName",
- "pathNode": {
- "id": 12761,
- "name": "Policy",
- "nodeType": "IdentifierPath",
- "referencedDeclaration": 12513,
- "src": "3889:6:30"
- },
- "referencedDeclaration": 12513,
- "src": "3889:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage_ptr",
- "typeString": "struct SubscriptionManager.Policy"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "3888:15:30"
- },
- "scope": 12850,
- "src": "3831:116:30",
- "stateMutability": "view",
- "virtual": false,
- "visibility": "public"
- },
- {
- "body": {
- "id": 12785,
- "nodeType": "Block",
- "src": "4021:75:30",
- "statements": [
- {
- "expression": {
- "commonType": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "id": 12783,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "expression": {
- "baseExpression": {
- "id": 12777,
- "name": "_policies",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12542,
- "src": "4038:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Policy_$12513_storage_$",
- "typeString": "mapping(bytes16 => struct SubscriptionManager.Policy storage ref)"
- }
- },
- "id": 12779,
- "indexExpression": {
- "id": 12778,
- "name": "_policyID",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12772,
- "src": "4048:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "nodeType": "IndexAccess",
- "src": "4038:20:30",
- "typeDescriptions": {
- "typeIdentifier": "t_struct$_Policy_$12513_storage",
- "typeString": "struct SubscriptionManager.Policy storage ref"
- }
- },
- "id": 12780,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "endTimestamp",
- "nodeType": "MemberAccess",
- "referencedDeclaration": 12508,
- "src": "4038:33:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint32",
- "typeString": "uint32"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": ">",
- "rightExpression": {
- "expression": {
- "id": 12781,
- "name": "block",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -4,
- "src": "4074:5:30",
- "typeDescriptions": {
- "typeIdentifier": "t_magic_block",
- "typeString": "block"
- }
- },
- "id": 12782,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "timestamp",
- "nodeType": "MemberAccess",
- "src": "4074:15:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "src": "4038:51:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- "functionReturnParameters": 12776,
- "id": 12784,
- "nodeType": "Return",
- "src": "4031:58:30"
- }
- ]
- },
- "functionSelector": "7ef3c6d5",
- "id": 12786,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "isPolicyActive",
- "nameLocation": "3962:14:30",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 12773,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12772,
- "mutability": "mutable",
- "name": "_policyID",
- "nameLocation": "3985:9:30",
- "nodeType": "VariableDeclaration",
- "scope": 12786,
- "src": "3977:17:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- },
- "typeName": {
- "id": 12771,
- "name": "bytes16",
- "nodeType": "ElementaryTypeName",
- "src": "3977:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes16",
- "typeString": "bytes16"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "3976:19:30"
- },
- "returnParameters": {
- "id": 12776,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12775,
- "mutability": "mutable",
- "name": "",
- "nameLocation": "-1:-1:-1",
- "nodeType": "VariableDeclaration",
- "scope": 12786,
- "src": "4016:4:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- },
- "typeName": {
- "id": 12774,
- "name": "bool",
- "nodeType": "ElementaryTypeName",
- "src": "4016:4:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "4015:6:30"
- },
- "scope": 12850,
- "src": "3953:143:30",
- "stateMutability": "view",
- "virtual": false,
- "visibility": "public"
- },
- {
- "body": {
- "id": 12804,
- "nodeType": "Block",
- "src": "4148:112:30",
- "statements": [
- {
- "assignments": [
- 12792
- ],
- "declarations": [
- {
- "constant": false,
- "id": 12792,
- "mutability": "mutable",
- "name": "oldFee",
- "nameLocation": "4166:6:30",
- "nodeType": "VariableDeclaration",
- "scope": 12804,
- "src": "4158:14:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 12791,
- "name": "uint256",
- "nodeType": "ElementaryTypeName",
- "src": "4158:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "visibility": "internal"
- }
- ],
- "id": 12794,
- "initialValue": {
- "id": 12793,
- "name": "feeRate",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12537,
- "src": "4175:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "nodeType": "VariableDeclarationStatement",
- "src": "4158:24:30"
- },
- {
- "expression": {
- "id": 12797,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftHandSide": {
- "id": 12795,
- "name": "feeRate",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12537,
- "src": "4192:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "nodeType": "Assignment",
- "operator": "=",
- "rightHandSide": {
- "id": 12796,
- "name": "newFee",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12788,
- "src": "4202:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "src": "4192:16:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "id": 12798,
- "nodeType": "ExpressionStatement",
- "src": "4192:16:30"
- },
- {
- "eventCall": {
- "arguments": [
- {
- "id": 12800,
- "name": "oldFee",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12792,
- "src": "4238:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- {
- "id": 12801,
- "name": "newFee",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12788,
- "src": "4246:6:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- ],
- "id": 12799,
- "name": "FeeRateUpdated",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12535,
- "src": "4223:14:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
- "typeString": "function (uint256,uint256)"
- }
- },
- "id": 12802,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "4223:30:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12803,
- "nodeType": "EmitStatement",
- "src": "4218:35:30"
- }
- ]
- },
- "id": 12805,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "_setFeeRate",
- "nameLocation": "4111:11:30",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 12789,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12788,
- "mutability": "mutable",
- "name": "newFee",
- "nameLocation": "4131:6:30",
- "nodeType": "VariableDeclaration",
- "scope": 12805,
- "src": "4123:14:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 12787,
- "name": "uint256",
- "nodeType": "ElementaryTypeName",
- "src": "4123:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "4122:16:30"
- },
- "returnParameters": {
- "id": 12790,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "4148:0:30"
- },
- "scope": 12850,
- "src": "4102:158:30",
- "stateMutability": "nonpayable",
- "virtual": false,
- "visibility": "internal"
- },
- {
- "body": {
- "id": 12817,
- "nodeType": "Block",
- "src": "4343:44:30",
- "statements": [
- {
- "expression": {
- "arguments": [
- {
- "id": 12814,
- "name": "_ratePerSecond",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12807,
- "src": "4365:14:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- ],
- "id": 12813,
- "name": "_setFeeRate",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12805,
- "src": "4353:11:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
- "typeString": "function (uint256)"
- }
- },
- "id": 12815,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "4353:27:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12816,
- "nodeType": "ExpressionStatement",
- "src": "4353:27:30"
- }
- ]
- },
- "functionSelector": "45596e2e",
- "id": 12818,
- "implemented": true,
- "kind": "function",
- "modifiers": [
- {
- "arguments": [
- {
- "id": 12810,
- "name": "SET_RATE_ROLE",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12497,
- "src": "4319:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- }
- }
- ],
- "id": 12811,
- "kind": "modifierInvocation",
- "modifierName": {
- "id": 12809,
- "name": "onlyRole",
- "nodeType": "IdentifierPath",
- "referencedDeclaration": 14838,
- "src": "4310:8:30"
- },
- "nodeType": "ModifierInvocation",
- "src": "4310:23:30"
- }
- ],
- "name": "setFeeRate",
- "nameLocation": "4275:10:30",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 12808,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12807,
- "mutability": "mutable",
- "name": "_ratePerSecond",
- "nameLocation": "4294:14:30",
- "nodeType": "VariableDeclaration",
- "scope": 12818,
- "src": "4286:22:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 12806,
- "name": "uint256",
- "nodeType": "ElementaryTypeName",
- "src": "4286:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "4285:24:30"
- },
- "returnParameters": {
- "id": 12812,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "4343:0:30"
- },
- "scope": 12850,
- "src": "4266:121:30",
- "stateMutability": "nonpayable",
- "virtual": false,
- "visibility": "external"
- },
- {
- "body": {
- "id": 12848,
- "nodeType": "Block",
- "src": "4468:158:30",
- "statements": [
- {
- "assignments": [
- 12827
- ],
- "declarations": [
- {
- "constant": false,
- "id": 12827,
- "mutability": "mutable",
- "name": "balance",
- "nameLocation": "4486:7:30",
- "nodeType": "VariableDeclaration",
- "scope": 12848,
- "src": "4478:15:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 12826,
- "name": "uint256",
- "nodeType": "ElementaryTypeName",
- "src": "4478:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "visibility": "internal"
- }
- ],
- "id": 12833,
- "initialValue": {
- "expression": {
- "arguments": [
- {
- "id": 12830,
- "name": "this",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": -28,
- "src": "4504:4:30",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_SubscriptionManager_$12850",
- "typeString": "contract SubscriptionManager"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_contract$_SubscriptionManager_$12850",
- "typeString": "contract SubscriptionManager"
- }
- ],
- "id": 12829,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "lValueRequested": false,
- "nodeType": "ElementaryTypeNameExpression",
- "src": "4496:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_type$_t_address_$",
- "typeString": "type(address)"
- },
- "typeName": {
- "id": 12828,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "4496:7:30",
- "typeDescriptions": {}
- }
- },
- "id": 12831,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "typeConversion",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "4496:13:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "id": 12832,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "balance",
- "nodeType": "MemberAccess",
- "src": "4496:21:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "nodeType": "VariableDeclarationStatement",
- "src": "4478:39:30"
- },
- {
- "assignments": [
- 12835,
- null
- ],
- "declarations": [
- {
- "constant": false,
- "id": 12835,
- "mutability": "mutable",
- "name": "sent",
- "nameLocation": "4533:4:30",
- "nodeType": "VariableDeclaration",
- "scope": 12848,
- "src": "4528:9:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- },
- "typeName": {
- "id": 12834,
- "name": "bool",
- "nodeType": "ElementaryTypeName",
- "src": "4528:4:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- "visibility": "internal"
- },
- null
- ],
- "id": 12842,
- "initialValue": {
- "arguments": [
- {
- "hexValue": "",
- "id": 12840,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "string",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "4574:2:30",
- "typeDescriptions": {
- "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
- "typeString": "literal_string \"\""
- },
- "value": ""
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
- "typeString": "literal_string \"\""
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
- "typeString": "literal_string \"\""
- }
- ],
- "expression": {
- "id": 12836,
- "name": "recipient",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12820,
- "src": "4543:9:30",
- "typeDescriptions": {
- "typeIdentifier": "t_address_payable",
- "typeString": "address payable"
- }
- },
- "id": 12837,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "call",
- "nodeType": "MemberAccess",
- "src": "4543:14:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
- "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
- }
- },
- "id": 12839,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "names": [
- "value"
- ],
- "nodeType": "FunctionCallOptions",
- "options": [
- {
- "id": 12838,
- "name": "balance",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12827,
- "src": "4565:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- }
- ],
- "src": "4543:30:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value",
- "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
- }
- },
- "id": 12841,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "4543:34:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
- "typeString": "tuple(bool,bytes memory)"
- }
- },
- "nodeType": "VariableDeclarationStatement",
- "src": "4527:50:30"
- },
- {
- "expression": {
- "arguments": [
- {
- "id": 12844,
- "name": "sent",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12835,
- "src": "4595:4:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- }
- },
- {
- "hexValue": "4661696c6564207472616e73666572",
- "id": 12845,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "string",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "4601:17:30",
- "typeDescriptions": {
- "typeIdentifier": "t_stringliteral_c2fbaba3bb1d2019934c8227a4cef7d3dc308257c2e14c94ee64b4d42e272196",
- "typeString": "literal_string \"Failed transfer\""
- },
- "value": "Failed transfer"
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_bool",
- "typeString": "bool"
- },
- {
- "typeIdentifier": "t_stringliteral_c2fbaba3bb1d2019934c8227a4cef7d3dc308257c2e14c94ee64b4d42e272196",
- "typeString": "literal_string \"Failed transfer\""
- }
- ],
- "id": 12843,
- "name": "require",
- "nodeType": "Identifier",
- "overloadedDeclarations": [
- -18,
- -18
- ],
- "referencedDeclaration": -18,
- "src": "4587:7:30",
- "typeDescriptions": {
- "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
- "typeString": "function (bool,string memory) pure"
- }
- },
- "id": 12846,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "4587:32:30",
- "tryCall": false,
- "typeDescriptions": {
- "typeIdentifier": "t_tuple$__$",
- "typeString": "tuple()"
- }
- },
- "id": 12847,
- "nodeType": "ExpressionStatement",
- "src": "4587:32:30"
- }
- ]
- },
- "functionSelector": "01681a62",
- "id": 12849,
- "implemented": true,
- "kind": "function",
- "modifiers": [
- {
- "arguments": [
- {
- "id": 12823,
- "name": "WITHDRAW_ROLE",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 12502,
- "src": "4444:13:30",
- "typeDescriptions": {
- "typeIdentifier": "t_bytes32",
- "typeString": "bytes32"
- }
- }
- ],
- "id": 12824,
- "kind": "modifierInvocation",
- "modifierName": {
- "id": 12822,
- "name": "onlyRole",
- "nodeType": "IdentifierPath",
- "referencedDeclaration": 14838,
- "src": "4435:8:30"
- },
- "nodeType": "ModifierInvocation",
- "src": "4435:23:30"
- }
- ],
- "name": "sweep",
- "nameLocation": "4402:5:30",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 12821,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 12820,
- "mutability": "mutable",
- "name": "recipient",
- "nameLocation": "4424:9:30",
- "nodeType": "VariableDeclaration",
- "scope": 12849,
- "src": "4408:25:30",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address_payable",
- "typeString": "address payable"
- },
- "typeName": {
- "id": 12819,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "4408:15:30",
- "stateMutability": "payable",
- "typeDescriptions": {
- "typeIdentifier": "t_address_payable",
- "typeString": "address payable"
- }
- },
- "visibility": "internal"
- }
- ],
- "src": "4407:27:30"
- },
- "returnParameters": {
- "id": 12825,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "4468:0:30"
- },
- "scope": 12850,
- "src": "4393:233:30",
- "stateMutability": "nonpayable",
- "virtual": false,
- "visibility": "external"
- }
- ],
- "scope": 12851,
- "src": "231:4398:30",
- "usedErrors": []
- }
- ],
- "src": "47:4583:30"
- },
- "bytecode": "608060405234801561001057600080fd5b506111bc806100206000396000f3fe6080604052600436106100fe5760003560e01c806358db2a7211610095578063978bbdb911610064578063978bbdb9146103e0578063a217fddf146103f6578063d547741f1461040b578063e02023a11461042b578063fe4b84df1461045f57600080fd5b806358db2a721461032557806358f70858146103455780637ef3c6d51461037957806391d14854146103c057600080fd5b80632f2ff15d116100d15780632f2ff15d146102b257806336568abe146102d257806345596e2e146102f25780634f0040411461031257600080fd5b806301681a621461010357806301ffc9a714610125578063248a9ca31461015a5780632c81516114610198575b600080fd5b34801561010f57600080fd5b5061012361011e366004610e65565b61047f565b005b34801561013157600080fd5b50610145610140366004610e82565b61054a565b60405190151581526020015b60405180910390f35b34801561016657600080fd5b5061018a610175366004610eac565b60009081526065602052604090206001015490565b604051908152602001610151565b3480156101a457600080fd5b506102576101b3366004610ee2565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160801b031916600090815260986020908152604091829020825160a08101845281546001600160a01b038082168352600160a01b820463ffffffff90811695840195909552600160c01b820490941694820194909452600160e01b90930461ffff1660608401526001015416608082015290565b604051610151919081516001600160a01b03908116825260208084015163ffffffff908116918401919091526040808501519091169083015260608084015161ffff1690830152608092830151169181019190915260a00190565b3480156102be57600080fd5b506101236102cd366004610efd565b610581565b3480156102de57600080fd5b506101236102ed366004610efd565b6105ac565b3480156102fe57600080fd5b5061012361030d366004610eac565b61062a565b610123610320366004610f53565b61065e565b34801561033157600080fd5b5061018a610340366004610fba565b610723565b34801561035157600080fd5b5061018a7f637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a09781565b34801561038557600080fd5b50610145610394366004610ee2565b6001600160801b03191660009081526098602052604090205442600160c01b90910463ffffffff161190565b3480156103cc57600080fd5b506101456103db366004610efd565b6107f3565b3480156103ec57600080fd5b5061018a60975481565b34801561040257600080fd5b5061018a600081565b34801561041757600080fd5b50610123610426366004610efd565b61081e565b34801561043757600080fd5b5061018a7fc1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a3581565b34801561046b57600080fd5b5061012361047a366004610eac565b610844565b7fc1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a356104aa8133610965565b60405147906000906001600160a01b0385169083908381818185875af1925050503d80600081146104f7576040519150601f19603f3d011682016040523d82523d6000602084013e6104fc565b606091505b50509050806105445760405162461bcd60e51b815260206004820152600f60248201526e2330b4b632b2103a3930b739b332b960891b60448201526064015b60405180910390fd5b50505050565b60006001600160e01b03198216637965db0b60e01b148061057b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008281526065602052604090206001015461059d8133610965565b6105a783836109c9565b505050565b6001600160a01b038116331461061c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161053b565b6106268282610a4f565b5050565b7f637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a0976106558133610965565b61062682610ab6565b8063ffffffff168263ffffffff1610801561067e57508063ffffffff1642105b6106bf5760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642074696d657374616d707360701b604482015260640161053b565b6106ca838383610723565b341461070e5760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081c1bdb1a58de4818dbdcdd606a1b604482015260640161053b565b61071b8585858585610afb565b505050505050565b6000806107308484611013565b905060008163ffffffff161161077d5760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642074696d657374616d707360701b604482015260640161053b565b60008561ffff16116107c75760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420706f6c6963792073697a6560681b604482015260640161053b565b8063ffffffff168561ffff166097546107e09190611038565b6107ea9190611038565b95945050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008281526065602052604090206001015461083a8133610965565b6105a78383610a4f565b600054610100900460ff1661085f5760005460ff1615610863565b303b155b6108c65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161053b565b600054610100900460ff161580156108e8576000805461ffff19166101011790555b6108f182610ab6565b61091b7f637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a09733610ca0565b6109457fc1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a3533610ca0565b610950600033610ca0565b8015610626576000805461ff00191690555050565b61096f82826107f3565b61062657610987816001600160a01b03166014610caa565b610992836020610caa565b6040516020016109a3929190611083565b60408051601f198184030181529082905262461bcd60e51b825261053b916004016110f8565b6109d382826107f3565b6106265760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a0b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610a5982826107f3565b156106265760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b609780549082905560408051828152602081018490527f14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957910160405180910390a15050565b6001600160801b031985166000908152609860205260409020805442600160c01b90910463ffffffff1610610b725760405162461bcd60e51b815260206004820152601a60248201527f506f6c6963792069732063757272656e746c7920616374697665000000000000604482015260640161053b565b805461ffff8516600160e01b0261ffff60e01b1963ffffffff858116600160c01b029190911665ffffffffffff60c01b19918716600160a01b0263ffffffff60a01b19339081166001600160c01b0319909616959095171791909116171782556001600160a01b03861614801590610bf257506001600160a01b03851615155b15610c15576001810180546001600160a01b0319166001600160a01b0387161790555b6001600160a01b03851615610c2a5784610c2c565b335b6040805161ffff8716815263ffffffff868116602083015285168183015234606082015290516001600160a01b03929092169133916001600160801b03198a16917f3e7e513ddaf550a2b9b8c400d5a2428f924d4aae6d8de14c1e2c42e8431fca159181900360800190a495945050505050565b61062682826109c9565b60606000610cb9836002611038565b610cc490600261112b565b67ffffffffffffffff811115610cdc57610cdc611143565b6040519080825280601f01601f191660200182016040528015610d06576020820181803683370190505b509050600360fc1b81600081518110610d2157610d21611159565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610d5057610d50611159565b60200101906001600160f81b031916908160001a9053506000610d74846002611038565b610d7f90600161112b565b90505b6001811115610df7576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610db357610db3611159565b1a60f81b828281518110610dc957610dc9611159565b60200101906001600160f81b031916908160001a90535060049490941c93610df08161116f565b9050610d82565b508315610e465760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161053b565b9392505050565b6001600160a01b0381168114610e6257600080fd5b50565b600060208284031215610e7757600080fd5b8135610e4681610e4d565b600060208284031215610e9457600080fd5b81356001600160e01b031981168114610e4657600080fd5b600060208284031215610ebe57600080fd5b5035919050565b80356001600160801b031981168114610edd57600080fd5b919050565b600060208284031215610ef457600080fd5b610e4682610ec5565b60008060408385031215610f1057600080fd5b823591506020830135610f2281610e4d565b809150509250929050565b803561ffff81168114610edd57600080fd5b803563ffffffff81168114610edd57600080fd5b600080600080600060a08688031215610f6b57600080fd5b610f7486610ec5565b94506020860135610f8481610e4d565b9350610f9260408701610f2d565b9250610fa060608701610f3f565b9150610fae60808701610f3f565b90509295509295909350565b600080600060608486031215610fcf57600080fd5b610fd884610f2d565b9250610fe660208501610f3f565b9150610ff460408501610f3f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8381169083168181101561103057611030610ffd565b039392505050565b600081600019048311821515161561105257611052610ffd565b500290565b60005b8381101561107257818101518382015260200161105a565b838111156105445750506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516110bb816017850160208801611057565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516110ec816028840160208801611057565b01602801949350505050565b6020815260008251806020840152611117816040850160208701611057565b601f01601f19169190910160400192915050565b6000821982111561113e5761113e610ffd565b500190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008161117e5761117e610ffd565b50600019019056fea26469706673582212207579dc0a825776e3c879b178544a69dd8110090a91fe12ab18231504b8be3ae964736f6c634300080c0033",
- "bytecodeSha1": "9f5f8ed36f38b50e397785df52a4d99462b84bc8",
- "compiler": {
- "evm_version": "istanbul",
- "optimizer": {
- "enabled": true,
- "runs": 200
- },
- "version": "0.8.12+commit.f00d7308"
- },
- "contractName": "SubscriptionManager",
- "coverageMap": {
- "branches": {
- "0": {
- "AccessControlUpgradeable._checkRole": {
- "51": [
- 3731,
- 3753,
- false
- ]
- },
- "AccessControlUpgradeable._grantRole": {
- "52": [
- 7274,
- 7296,
- false
- ]
- },
- "AccessControlUpgradeable._revokeRole": {
- "53": [
- 7632,
- 7654,
- false
- ]
- },
- "AccessControlUpgradeable.renounceRole": {
- "50": [
- 5829,
- 5852,
- true
- ]
- }
- },
- "1": {},
- "2": {
- "SubscriptionManager.initialize": {
- "54": [
- 2369,
- 2382,
- true
- ],
- "55": [
- 2369,
- 2417,
- true
- ]
- }
- },
- "30": {
- "SubscriptionManager._createPolicy": {
- "46": [
- 3183,
- 3220,
- true
- ],
- "47": [
- 3457,
- 3483,
- false
- ],
- "48": [
- 3487,
- 3513,
- false
- ],
- "49": [
- 3656,
- 3682,
- true
- ]
- },
- "SubscriptionManager.createPolicy": {
- "41": [
- 2193,
- 2224,
- false
- ],
- "42": [
- 2228,
- 2259,
- true
- ],
- "43": [
- 2334,
- 2399,
- true
- ]
- },
- "SubscriptionManager.getPolicyCost": {
- "44": [
- 1822,
- 1834,
- true
- ],
- "45": [
- 1875,
- 1884,
- true
- ]
- },
- "SubscriptionManager.sweep": {
- "40": [
- 4595,
- 4599,
- true
- ]
- }
- },
- "4": {},
- "6": {},
- "7": {}
- },
- "statements": {
- "0": {
- "AccessControlUpgradeable._checkRole": {
- "24": [
- 3769,
- 4140
- ]
- },
- "AccessControlUpgradeable._grantRole": {
- "25": [
- 7312,
- 7348
- ],
- "26": [
- 7362,
- 7407
- ]
- },
- "AccessControlUpgradeable._revokeRole": {
- "27": [
- 7670,
- 7707
- ],
- "28": [
- 7721,
- 7766
- ]
- },
- "AccessControlUpgradeable._setupRole": {
- "39": [
- 6665,
- 6690
- ]
- },
- "AccessControlUpgradeable.getRoleAdmin": {
- "0": [
- 4431,
- 4460
- ]
- },
- "AccessControlUpgradeable.grantRole": {
- "7": [
- 4830,
- 4855
- ]
- },
- "AccessControlUpgradeable.hasRole": {
- "17": [
- 3319,
- 3355
- ]
- },
- "AccessControlUpgradeable.renounceRole": {
- "8": [
- 5821,
- 5904
- ],
- "9": [
- 5915,
- 5941
- ]
- },
- "AccessControlUpgradeable.revokeRole": {
- "18": [
- 5210,
- 5236
- ]
- },
- "AccessControlUpgradeable.supportsInterface": {
- "5": [
- 3018,
- 3123
- ]
- }
- },
- "1": {},
- "2": {
- "Initializable._isConstructor": {
- "19": [
- 3101,
- 3153
- ]
- }
- },
- "30": {
- "SubscriptionManager._createPolicy": {
- "31": [
- 3123,
- 3152
- ],
- "32": [
- 3162,
- 3272
- ],
- "33": [
- 3283,
- 3319
- ],
- "34": [
- 3423,
- 3442
- ],
- "35": [
- 3329,
- 3368
- ],
- "36": [
- 3378,
- 3413
- ],
- "37": [
- 3529,
- 3556
- ],
- "38": [
- 3577,
- 3818
- ]
- },
- "SubscriptionManager._setFeeRate": {
- "29": [
- 4192,
- 4208
- ],
- "30": [
- 4218,
- 4253
- ]
- },
- "SubscriptionManager.createPolicy": {
- "11": [
- 2172,
- 2303
- ],
- "12": [
- 2313,
- 2444
- ],
- "13": [
- 2455,
- 2532
- ]
- },
- "SubscriptionManager.getPolicy": {
- "1": [
- 3913,
- 3940
- ]
- },
- "SubscriptionManager.getPolicyCost": {
- "14": [
- 1814,
- 1857
- ],
- "15": [
- 1867,
- 1908
- ],
- "16": [
- 1918,
- 1951
- ]
- },
- "SubscriptionManager.initialize": {
- "20": [
- 1423,
- 1444
- ],
- "21": [
- 1454,
- 1491
- ],
- "22": [
- 1501,
- 1538
- ],
- "23": [
- 1548,
- 1590
- ]
- },
- "SubscriptionManager.isPolicyActive": {
- "2": [
- 4031,
- 4089
- ]
- },
- "SubscriptionManager.setFeeRate": {
- "10": [
- 4353,
- 4380
- ]
- },
- "SubscriptionManager.sweep": {
- "4": [
- 4587,
- 4619
- ]
- }
- },
- "4": {
- "ContextUpgradeable._msgSender": {
- "3": [
- 922,
- 939
- ]
- }
- },
- "6": {
- "ERC165Upgradeable.supportsInterface": {
- "6": [
- 1161,
- 1219
- ]
- }
- },
- "7": {}
- }
- },
- "dependencies": [
- "OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/AccessControlUpgradeable",
- "OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/ContextUpgradeable",
- "OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/ERC165Upgradeable",
- "OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/IAccessControlUpgradeable",
- "OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/IERC165Upgradeable",
- "OpenZeppelin/openzeppelin-contracts-upgradeable@4.5.0/Initializable"
- ],
- "deployedBytecode": "6080604052600436106100fe5760003560e01c806358db2a7211610095578063978bbdb911610064578063978bbdb9146103e0578063a217fddf146103f6578063d547741f1461040b578063e02023a11461042b578063fe4b84df1461045f57600080fd5b806358db2a721461032557806358f70858146103455780637ef3c6d51461037957806391d14854146103c057600080fd5b80632f2ff15d116100d15780632f2ff15d146102b257806336568abe146102d257806345596e2e146102f25780634f0040411461031257600080fd5b806301681a621461010357806301ffc9a714610125578063248a9ca31461015a5780632c81516114610198575b600080fd5b34801561010f57600080fd5b5061012361011e366004610e65565b61047f565b005b34801561013157600080fd5b50610145610140366004610e82565b61054a565b60405190151581526020015b60405180910390f35b34801561016657600080fd5b5061018a610175366004610eac565b60009081526065602052604090206001015490565b604051908152602001610151565b3480156101a457600080fd5b506102576101b3366004610ee2565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160801b031916600090815260986020908152604091829020825160a08101845281546001600160a01b038082168352600160a01b820463ffffffff90811695840195909552600160c01b820490941694820194909452600160e01b90930461ffff1660608401526001015416608082015290565b604051610151919081516001600160a01b03908116825260208084015163ffffffff908116918401919091526040808501519091169083015260608084015161ffff1690830152608092830151169181019190915260a00190565b3480156102be57600080fd5b506101236102cd366004610efd565b610581565b3480156102de57600080fd5b506101236102ed366004610efd565b6105ac565b3480156102fe57600080fd5b5061012361030d366004610eac565b61062a565b610123610320366004610f53565b61065e565b34801561033157600080fd5b5061018a610340366004610fba565b610723565b34801561035157600080fd5b5061018a7f637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a09781565b34801561038557600080fd5b50610145610394366004610ee2565b6001600160801b03191660009081526098602052604090205442600160c01b90910463ffffffff161190565b3480156103cc57600080fd5b506101456103db366004610efd565b6107f3565b3480156103ec57600080fd5b5061018a60975481565b34801561040257600080fd5b5061018a600081565b34801561041757600080fd5b50610123610426366004610efd565b61081e565b34801561043757600080fd5b5061018a7fc1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a3581565b34801561046b57600080fd5b5061012361047a366004610eac565b610844565b7fc1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a356104aa8133610965565b60405147906000906001600160a01b0385169083908381818185875af1925050503d80600081146104f7576040519150601f19603f3d011682016040523d82523d6000602084013e6104fc565b606091505b50509050806105445760405162461bcd60e51b815260206004820152600f60248201526e2330b4b632b2103a3930b739b332b960891b60448201526064015b60405180910390fd5b50505050565b60006001600160e01b03198216637965db0b60e01b148061057b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008281526065602052604090206001015461059d8133610965565b6105a783836109c9565b505050565b6001600160a01b038116331461061c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161053b565b6106268282610a4f565b5050565b7f637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a0976106558133610965565b61062682610ab6565b8063ffffffff168263ffffffff1610801561067e57508063ffffffff1642105b6106bf5760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642074696d657374616d707360701b604482015260640161053b565b6106ca838383610723565b341461070e5760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081c1bdb1a58de4818dbdcdd606a1b604482015260640161053b565b61071b8585858585610afb565b505050505050565b6000806107308484611013565b905060008163ffffffff161161077d5760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642074696d657374616d707360701b604482015260640161053b565b60008561ffff16116107c75760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420706f6c6963792073697a6560681b604482015260640161053b565b8063ffffffff168561ffff166097546107e09190611038565b6107ea9190611038565b95945050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008281526065602052604090206001015461083a8133610965565b6105a78383610a4f565b600054610100900460ff1661085f5760005460ff1615610863565b303b155b6108c65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161053b565b600054610100900460ff161580156108e8576000805461ffff19166101011790555b6108f182610ab6565b61091b7f637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a09733610ca0565b6109457fc1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a3533610ca0565b610950600033610ca0565b8015610626576000805461ff00191690555050565b61096f82826107f3565b61062657610987816001600160a01b03166014610caa565b610992836020610caa565b6040516020016109a3929190611083565b60408051601f198184030181529082905262461bcd60e51b825261053b916004016110f8565b6109d382826107f3565b6106265760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a0b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610a5982826107f3565b156106265760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b609780549082905560408051828152602081018490527f14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957910160405180910390a15050565b6001600160801b031985166000908152609860205260409020805442600160c01b90910463ffffffff1610610b725760405162461bcd60e51b815260206004820152601a60248201527f506f6c6963792069732063757272656e746c7920616374697665000000000000604482015260640161053b565b805461ffff8516600160e01b0261ffff60e01b1963ffffffff858116600160c01b029190911665ffffffffffff60c01b19918716600160a01b0263ffffffff60a01b19339081166001600160c01b0319909616959095171791909116171782556001600160a01b03861614801590610bf257506001600160a01b03851615155b15610c15576001810180546001600160a01b0319166001600160a01b0387161790555b6001600160a01b03851615610c2a5784610c2c565b335b6040805161ffff8716815263ffffffff868116602083015285168183015234606082015290516001600160a01b03929092169133916001600160801b03198a16917f3e7e513ddaf550a2b9b8c400d5a2428f924d4aae6d8de14c1e2c42e8431fca159181900360800190a495945050505050565b61062682826109c9565b60606000610cb9836002611038565b610cc490600261112b565b67ffffffffffffffff811115610cdc57610cdc611143565b6040519080825280601f01601f191660200182016040528015610d06576020820181803683370190505b509050600360fc1b81600081518110610d2157610d21611159565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610d5057610d50611159565b60200101906001600160f81b031916908160001a9053506000610d74846002611038565b610d7f90600161112b565b90505b6001811115610df7576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610db357610db3611159565b1a60f81b828281518110610dc957610dc9611159565b60200101906001600160f81b031916908160001a90535060049490941c93610df08161116f565b9050610d82565b508315610e465760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161053b565b9392505050565b6001600160a01b0381168114610e6257600080fd5b50565b600060208284031215610e7757600080fd5b8135610e4681610e4d565b600060208284031215610e9457600080fd5b81356001600160e01b031981168114610e4657600080fd5b600060208284031215610ebe57600080fd5b5035919050565b80356001600160801b031981168114610edd57600080fd5b919050565b600060208284031215610ef457600080fd5b610e4682610ec5565b60008060408385031215610f1057600080fd5b823591506020830135610f2281610e4d565b809150509250929050565b803561ffff81168114610edd57600080fd5b803563ffffffff81168114610edd57600080fd5b600080600080600060a08688031215610f6b57600080fd5b610f7486610ec5565b94506020860135610f8481610e4d565b9350610f9260408701610f2d565b9250610fa060608701610f3f565b9150610fae60808701610f3f565b90509295509295909350565b600080600060608486031215610fcf57600080fd5b610fd884610f2d565b9250610fe660208501610f3f565b9150610ff460408501610f3f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8381169083168181101561103057611030610ffd565b039392505050565b600081600019048311821515161561105257611052610ffd565b500290565b60005b8381101561107257818101518382015260200161105a565b838111156105445750506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516110bb816017850160208801611057565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516110ec816028840160208801611057565b01602801949350505050565b6020815260008251806020840152611117816040850160208701611057565b601f01601f19169190910160400192915050565b6000821982111561113e5761113e610ffd565b500190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008161117e5761117e610ffd565b50600019019056fea26469706673582212207579dc0a825776e3c879b178544a69dd8110090a91fe12ab18231504b8be3ae964736f6c634300080c0033",
- "deployedSourceMap": "231:4398:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4393:233;;;;;;;;;;-1:-1:-1;4393:233:30;;;;;:::i;:::-;;:::i;:::-;;2917:213:0;;;;;;;;;;-1:-1:-1;2917:213:0;;;;;:::i;:::-;;:::i;:::-;;;882:14:41;;875:22;857:41;;845:2;830:18;2917:213:0;;;;;;;;4338:129;;;;;;;;;;-1:-1:-1;4338:129:0;;;;;:::i;:::-;4412:7;4438:12;;;:6;:12;;;;;:22;;;;4338:129;;;;1240:25:41;;;1228:2;1213:18;4338:129:0;1094:177:41;3831:116:30;;;;;;;;;;-1:-1:-1;3831:116:30;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3920:20:30;;;;;:9;:20;;;;;;;;;3913:27;;;;;;;;;-1:-1:-1;;;;;3913:27:30;;;;;-1:-1:-1;;;3913:27:30;;;;;;;;;;;;;-1:-1:-1;;;3913:27:30;;;;;;;;;;;;-1:-1:-1;;;3913:27:30;;;;;;;;;;;;;;;;;;3831:116;;;;;;;1922:13:41;;-1:-1:-1;;;;;1918:22:41;;;1900:41;;1988:4;1976:17;;;1970:24;2013:10;2061:21;;;2039:20;;;2032:51;;;;2143:4;2131:17;;;2125:24;2121:33;;;2099:20;;;2092:63;2215:4;2203:17;;;2197:24;2223:6;2193:37;2171:20;;;2164:67;2291:4;2279:17;;;2273:24;2269:33;2247:20;;;2240:63;;;;1849:3;1834:19;;1665:644;4717:145:0;;;;;;;;;;-1:-1:-1;4717:145:0;;;;;:::i;:::-;;:::i;5734:214::-;;;;;;;;;;-1:-1:-1;5734:214:0;;;;;:::i;:::-;;:::i;4266:121:30:-;;;;;;;;;;-1:-1:-1;4266:121:30;;;;;:::i;:::-;;:::i;1964:575::-;;;;;;:::i;:::-;;:::i;1603:355::-;;;;;;;;;;-1:-1:-1;1603:355:30;;;;;:::i;:::-;;:::i;310:87::-;;;;;;;;;;;;359:38;310:87;;3953:143;;;;;;;;;;-1:-1:-1;3953:143:30;;;;;:::i;:::-;-1:-1:-1;;;;;;4038:20:30;4016:4;4038:20;;;:9;:20;;;;;:33;4074:15;-1:-1:-1;;;4038:33:30;;;;;:51;;3953:143;3217:145:0;;;;;;;;;;-1:-1:-1;3217:145:0;;;;;:::i;:::-;;:::i;1212:22:30:-;;;;;;;;;;;;;;;;2324:49:0;;;;;;;;;;-1:-1:-1;2324:49:0;2369:4;2324:49;;5096:147;;;;;;;;;;-1:-1:-1;5096:147:0;;;;;:::i;:::-;;:::i;403:110:30:-;;;;;;;;;;;;452:61;403:110;;1356:241;;;;;;;;;;-1:-1:-1;1356:241:30;;;;;:::i;:::-;;:::i;4393:233::-;452:61;2802:30:0;452:61:30;929:10:4;2802::0;:30::i;:::-;4543:34:30::1;::::0;4496:21:::1;::::0;4478:15:::1;::::0;-1:-1:-1;;;;;4543:14:30;::::1;::::0;4496:21;;4478:15;4543:34;4478:15;4543:34;4496:21;4543:14;:34:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4527:50;;;4595:4;4587:32;;;::::0;-1:-1:-1;;;4587:32:30;;4638:2:41;4587:32:30::1;::::0;::::1;4620:21:41::0;4677:2;4657:18;;;4650:30;-1:-1:-1;;;4696:18:41;;;4689:45;4751:18;;4587:32:30::1;;;;;;;;;4468:158;;4393:233:::0;;:::o;2917:213:0:-;3002:4;-1:-1:-1;;;;;;3025:58:0;;-1:-1:-1;;;3025:58:0;;:98;;-1:-1:-1;;;;;;;;;;1168:51:6;;;3087:36:0;3018:105;2917:213;-1:-1:-1;;2917:213:0:o;4717:145::-;4412:7;4438:12;;;:6;:12;;;;;:22;;;2802:30;2813:4;929:10:4;2802::0;:30::i;:::-;4830:25:::1;4841:4;4847:7;4830:10;:25::i;:::-;4717:145:::0;;;:::o;5734:214::-;-1:-1:-1;;;;;5829:23:0;;929:10:4;5829:23:0;5821:83;;;;-1:-1:-1;;;5821:83:0;;4982:2:41;5821:83:0;;;4964:21:41;5021:2;5001:18;;;4994:30;5060:34;5040:18;;;5033:62;-1:-1:-1;;;5111:18:41;;;5104:45;5166:19;;5821:83:0;4780:411:41;5821:83:0;5915:26;5927:4;5933:7;5915:11;:26::i;:::-;5734:214;;:::o;4266:121:30:-;359:38;2802:30:0;359:38:30;929:10:4;2802::0;:30::i;:::-;4353:27:30::1;4365:14;4353:11;:27::i;1964:575::-:0;2211:13;2193:31;;:15;:31;;;:66;;;;;2246:13;2228:31;;:15;:31;2193:66;2172:131;;;;-1:-1:-1;;;2172:131:30;;5398:2:41;2172:131:30;;;5380:21:41;5437:2;5417:18;;;5410:30;-1:-1:-1;;;5456:18:41;;;5449:48;5514:18;;2172:131:30;5196:342:41;2172:131:30;2347:52;2361:5;2368:15;2385:13;2347;:52::i;:::-;2334:9;:65;2313:131;;;;-1:-1:-1;;;2313:131:30;;5745:2:41;2313:131:30;;;5727:21:41;5784:2;5764:18;;;5757:30;-1:-1:-1;;;5803:18:41;;;5796:49;5862:18;;2313:131:30;5543:343:41;2313:131:30;2455:77;2469:9;2480:12;2494:5;2501:15;2518:13;2455;:77::i;:::-;;1964:575;;;;;:::o;1603:355::-;1737:7;;1773:31;1789:15;1773:13;:31;:::i;:::-;1755:49;;1833:1;1822:8;:12;;;1814:43;;;;-1:-1:-1;;;1814:43:30;;5398:2:41;1814:43:30;;;5380:21:41;5437:2;5417:18;;;5410:30;-1:-1:-1;;;5456:18:41;;;5449:48;5514:18;;1814:43:30;5196:342:41;1814:43:30;1883:1;1875:5;:9;;;1867:41;;;;-1:-1:-1;;;1867:41:30;;6451:2:41;1867:41:30;;;6433:21:41;6490:2;6470:18;;;6463:30;-1:-1:-1;;;6509:18:41;;;6502:49;6568:18;;1867:41:30;6249:343:41;1867:41:30;1943:8;1925:26;;1935:5;1925:15;;:7;;:15;;;;:::i;:::-;:26;;;;:::i;:::-;1918:33;1603:355;-1:-1:-1;;;;;1603:355:30:o;3217:145:0:-;3303:4;3326:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3326:29:0;;;;;;;;;;;;;;;3217:145::o;5096:147::-;4412:7;4438:12;;;:6;:12;;;;;:22;;;2802:30;2813:4;929:10:4;2802::0;:30::i;:::-;5210:26:::1;5222:4;5228:7;5210:11;:26::i;1356:241:30:-:0;2369:13:2;;;;;;;:48;;2405:12;;;;2404:13;2369:48;;;3147:4;1476:19:3;:23;2385:16:2;2361:107;;;;-1:-1:-1;;;2361:107:2;;6972:2:41;2361:107:2;;;6954:21:41;7011:2;6991:18;;;6984:30;7050:34;7030:18;;;7023:62;-1:-1:-1;;;7101:18:41;;;7094:44;7155:19;;2361:107:2;6770:410:41;2361:107:2;2479:19;2502:13;;;;;;2501:14;2525:98;;;;2559:13;:20;;-1:-1:-1;;2593:19:2;;;;;2525:98;1423:21:30::1;1435:8;1423:11;:21::i;:::-;1454:37;359:38;1480:10;1454;:37::i;:::-;1501;452:61;1527:10;1501;:37::i;:::-;1548:42;2369:4:0;1579:10:30;1548;:42::i;:::-;2649:14:2::0;2645:66;;;2695:5;2679:21;;-1:-1:-1;;2679:21:2;;;2080:637;1356:241:30;:::o;3643:514:0:-;3731:22;3739:4;3745:7;3731;:22::i;:::-;3726:425;;3914:52;3953:7;-1:-1:-1;;;;;3914:52:0;3963:2;3914:30;:52::i;:::-;4037:49;4076:4;4083:2;4037:30;:49::i;:::-;3821:287;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3821:287:0;;;;;;;;;;-1:-1:-1;;;3769:371:0;;;;;;;:::i;7191:233::-;7274:22;7282:4;7288:7;7274;:22::i;:::-;7269:149;;7312:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7312:29:0;;;;;;;;;:36;;-1:-1:-1;;7312:36:0;7344:4;7312:36;;;7394:12;929:10:4;;850:96;7394:12:0;-1:-1:-1;;;;;7367:40:0;7385:7;-1:-1:-1;;;;;7367:40:0;7379:4;7367:40;;;;;;;;;;7191:233;;:::o;7549:234::-;7632:22;7640:4;7646:7;7632;:22::i;:::-;7628:149;;;7702:5;7670:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7670:29:0;;;;;;;;;;:37;;-1:-1:-1;;7670:37:0;;;7726:40;929:10:4;;7670:12:0;;7726:40;;7702:5;7726:40;7549:234;;:::o;4102:158:30:-;4175:7;;;4192:16;;;;4223:30;;;8801:25:41;;;8857:2;8842:18;;8835:34;;;4223:30:30;;8774:18:41;4223:30:30;;;;;;;4148:112;4102:158;:::o;2890:935::-;-1:-1:-1;;;;;;3132:20:30;;3086:21;3132:20;;;:9;:20;;;;;3183:19;;3205:15;-1:-1:-1;;;3183:19:30;;;;;:37;3162:110;;;;-1:-1:-1;;;3162:110:30;;9082:2:41;3162:110:30;;;9064:21:41;9121:2;9101:18;;;9094:30;9160:28;9140:18;;;9133:56;9206:18;;3162:110:30;8880:350:41;3162:110:30;3283:36;;3423:19;;;-1:-1:-1;;;3423:19:30;-1:-1:-1;;;;3329:39:30;3378:35;;;-1:-1:-1;;;3378:35:30;3423:19;;;;-1:-1:-1;;;;3329:39:30;;;-1:-1:-1;;;3329:39:30;-1:-1:-1;;;;3308:10:30;3329:39;;;-1:-1:-1;;;;;;3329:39:30;;;;;;;;3423:19;;;;;;;;-1:-1:-1;;;;;3457:26:30;;;;;;:56;;-1:-1:-1;;;;;;3487:26:30;;;;3457:56;3453:114;;;3529:12;;;:27;;-1:-1:-1;;;;;;3529:27:30;-1:-1:-1;;;;;3529:27:30;;;;;3453:114;-1:-1:-1;;;;;3656:26:30;;;:54;;3698:12;3656:54;;;3685:10;3656:54;3582:236;;;9490:6:41;9478:19;;9460:38;;9517:10;9563:15;;;9558:2;9543:18;;9536:43;9615:15;;9595:18;;;9588:43;3799:9:30;9662:2:41;9647:18;;9640:34;3582:236:30;;-1:-1:-1;;;;;3582:236:30;;;;;3632:10;;-1:-1:-1;;;;;;3582:236:30;;;;;;;;9447:3:41;3582:236:30;;;2890:935;;;;;;;:::o;6587:110:0:-;6665:25;6676:4;6682:7;6665:10;:25::i;1599:441:5:-;1674:13;1699:19;1731:10;1735:6;1731:1;:10;:::i;:::-;:14;;1744:1;1731:14;:::i;:::-;1721:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1721:25:5;;1699:47;;-1:-1:-1;;;1756:6:5;1763:1;1756:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1756:15:5;;;;;;;;;-1:-1:-1;;;1781:6:5;1788:1;1781:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1781:15:5;;;;;;;;-1:-1:-1;1811:9:5;1823:10;1827:6;1823:1;:10;:::i;:::-;:14;;1836:1;1823:14;:::i;:::-;1811:26;;1806:132;1843:1;1839;:5;1806:132;;;-1:-1:-1;;;1890:5:5;1898:3;1890:11;1877:25;;;;;;;:::i;:::-;;;;1865:6;1872:1;1865:9;;;;;;;;:::i;:::-;;;;:37;-1:-1:-1;;;;;1865:37:5;;;;;;;;-1:-1:-1;1926:1:5;1916:11;;;;;1846:3;;;:::i;:::-;;;1806:132;;;-1:-1:-1;1955:10:5;;1947:55;;;;-1:-1:-1;;;1947:55:5;;10425:2:41;1947:55:5;;;10407:21:41;;;10444:18;;;10437:30;10503:34;10483:18;;;10476:62;10555:18;;1947:55:5;10223:356:41;1947:55:5;2026:6;1599:441;-1:-1:-1;;;1599:441:5:o;14:139:41:-;-1:-1:-1;;;;;97:31:41;;87:42;;77:70;;143:1;140;133:12;77:70;14:139;:::o;158:263::-;225:6;278:2;266:9;257:7;253:23;249:32;246:52;;;294:1;291;284:12;246:52;333:9;320:23;352:39;385:5;352:39;:::i;426:286::-;484:6;537:2;525:9;516:7;512:23;508:32;505:52;;;553:1;550;543:12;505:52;579:23;;-1:-1:-1;;;;;;631:32:41;;621:43;;611:71;;678:1;675;668:12;909:180;968:6;1021:2;1009:9;1000:7;996:23;992:32;989:52;;;1037:1;1034;1027:12;989:52;-1:-1:-1;1060:23:41;;909:180;-1:-1:-1;909:180:41:o;1276:193::-;1344:20;;-1:-1:-1;;;;;;1393:51:41;;1383:62;;1373:90;;1459:1;1456;1449:12;1373:90;1276:193;;;:::o;1474:186::-;1533:6;1586:2;1574:9;1565:7;1561:23;1557:32;1554:52;;;1602:1;1599;1592:12;1554:52;1625:29;1644:9;1625:29;:::i;2314:323::-;2382:6;2390;2443:2;2431:9;2422:7;2418:23;2414:32;2411:52;;;2459:1;2456;2449:12;2411:52;2495:9;2482:23;2472:33;;2555:2;2544:9;2540:18;2527:32;2568:39;2601:5;2568:39;:::i;:::-;2626:5;2616:15;;;2314:323;;;;;:::o;2827:159::-;2894:20;;2954:6;2943:18;;2933:29;;2923:57;;2976:1;2973;2966:12;2991:163;3058:20;;3118:10;3107:22;;3097:33;;3087:61;;3144:1;3141;3134:12;3159:547;3251:6;3259;3267;3275;3283;3336:3;3324:9;3315:7;3311:23;3307:33;3304:53;;;3353:1;3350;3343:12;3304:53;3376:29;3395:9;3376:29;:::i;:::-;3366:39;;3455:2;3444:9;3440:18;3427:32;3468:39;3501:5;3468:39;:::i;:::-;3526:5;-1:-1:-1;3550:37:41;3583:2;3568:18;;3550:37;:::i;:::-;3540:47;;3606:37;3639:2;3628:9;3624:18;3606:37;:::i;:::-;3596:47;;3662:38;3695:3;3684:9;3680:19;3662:38;:::i;:::-;3652:48;;3159:547;;;;;;;;:::o;3711:328::-;3785:6;3793;3801;3854:2;3842:9;3833:7;3829:23;3825:32;3822:52;;;3870:1;3867;3860:12;3822:52;3893:28;3911:9;3893:28;:::i;:::-;3883:38;;3940:37;3973:2;3962:9;3958:18;3940:37;:::i;:::-;3930:47;;3996:37;4029:2;4018:9;4014:18;3996:37;:::i;:::-;3986:47;;3711:328;;;;;:::o;5891:127::-;5952:10;5947:3;5943:20;5940:1;5933:31;5983:4;5980:1;5973:15;6007:4;6004:1;5997:15;6023:221;6062:4;6091:10;6151;;;;6121;;6173:12;;;6170:38;;;6188:18;;:::i;:::-;6225:13;;6023:221;-1:-1:-1;;;6023:221:41:o;6597:168::-;6637:7;6703:1;6699;6695:6;6691:14;6688:1;6685:21;6680:1;6673:9;6666:17;6662:45;6659:71;;;6710:18;;:::i;:::-;-1:-1:-1;6750:9:41;;6597:168::o;7185:258::-;7257:1;7267:113;7281:6;7278:1;7275:13;7267:113;;;7357:11;;;7351:18;7338:11;;;7331:39;7303:2;7296:10;7267:113;;;7398:6;7395:1;7392:13;7389:48;;;-1:-1:-1;;7433:1:41;7415:16;;7408:27;7185:258::o;7448:786::-;7859:25;7854:3;7847:38;7829:3;7914:6;7908:13;7930:62;7985:6;7980:2;7975:3;7971:12;7964:4;7956:6;7952:17;7930:62;:::i;:::-;-1:-1:-1;;;8051:2:41;8011:16;;;8043:11;;;8036:40;8101:13;;8123:63;8101:13;8172:2;8164:11;;8157:4;8145:17;;8123:63;:::i;:::-;8206:17;8225:2;8202:26;;7448:786;-1:-1:-1;;;;7448:786:41:o;8239:383::-;8388:2;8377:9;8370:21;8351:4;8420:6;8414:13;8463:6;8458:2;8447:9;8443:18;8436:34;8479:66;8538:6;8533:2;8522:9;8518:18;8513:2;8505:6;8501:15;8479:66;:::i;:::-;8606:2;8585:15;-1:-1:-1;;8581:29:41;8566:45;;;;8613:2;8562:54;;8239:383;-1:-1:-1;;8239:383:41:o;9685:128::-;9725:3;9756:1;9752:6;9749:1;9746:13;9743:39;;;9762:18;;:::i;:::-;-1:-1:-1;9798:9:41;;9685:128::o;9818:127::-;9879:10;9874:3;9870:20;9867:1;9860:31;9910:4;9907:1;9900:15;9934:4;9931:1;9924:15;9950:127;10011:10;10006:3;10002:20;9999:1;9992:31;10042:4;10039:1;10032:15;10066:4;10063:1;10056:15;10082:136;10121:3;10149:5;10139:39;;10158:18;;:::i;:::-;-1:-1:-1;;;10194:18:41;;10082:136::o",
- "language": "Solidity",
- "natspec": {
- "kind": "dev",
- "methods": {
- "getRoleAdmin(bytes32)": {
- "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."
- },
- "grantRole(bytes32,address)": {
- "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role."
- },
- "hasRole(bytes32,address)": {
- "details": "Returns `true` if `account` has been granted `role`."
- },
- "renounceRole(bytes32,address)": {
- "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`."
- },
- "revokeRole(bytes32,address)": {
- "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role."
- },
- "supportsInterface(bytes4)": {
- "details": "See {IERC165-supportsInterface}."
- }
- },
- "version": 1
- },
- "offset": [
- 231,
- 4629
- ],
- "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xFE JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x58DB2A72 GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x978BBDB9 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x978BBDB9 EQ PUSH2 0x3E0 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x3F6 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x40B JUMPI DUP1 PUSH4 0xE02023A1 EQ PUSH2 0x42B JUMPI DUP1 PUSH4 0xFE4B84DF EQ PUSH2 0x45F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x58DB2A72 EQ PUSH2 0x325 JUMPI DUP1 PUSH4 0x58F70858 EQ PUSH2 0x345 JUMPI DUP1 PUSH4 0x7EF3C6D5 EQ PUSH2 0x379 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x3C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x2B2 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x2D2 JUMPI DUP1 PUSH4 0x45596E2E EQ PUSH2 0x2F2 JUMPI DUP1 PUSH4 0x4F004041 EQ PUSH2 0x312 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1681A62 EQ PUSH2 0x103 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x125 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x15A JUMPI DUP1 PUSH4 0x2C815161 EQ PUSH2 0x198 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x123 PUSH2 0x11E CALLDATASIZE PUSH1 0x4 PUSH2 0xE65 JUMP JUMPDEST PUSH2 0x47F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x131 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x145 PUSH2 0x140 CALLDATASIZE PUSH1 0x4 PUSH2 0xE82 JUMP JUMPDEST PUSH2 0x54A JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x166 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18A PUSH2 0x175 CALLDATASIZE PUSH1 0x4 PUSH2 0xEAC JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x65 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x151 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x257 PUSH2 0x1B3 CALLDATASIZE PUSH1 0x4 PUSH2 0xEE2 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x98 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xA0 DUP2 ADD DUP5 MSTORE DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND DUP4 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV PUSH4 0xFFFFFFFF SWAP1 DUP2 AND SWAP6 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH1 0x1 PUSH1 0xC0 SHL DUP3 DIV SWAP1 SWAP5 AND SWAP5 DUP3 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 SWAP4 DIV PUSH2 0xFFFF AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x1 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x151 SWAP2 SWAP1 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH4 0xFFFFFFFF SWAP1 DUP2 AND SWAP2 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 SWAP2 AND SWAP1 DUP4 ADD MSTORE PUSH1 0x60 DUP1 DUP5 ADD MLOAD PUSH2 0xFFFF AND SWAP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP3 DUP4 ADD MLOAD AND SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 ADD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x123 PUSH2 0x2CD CALLDATASIZE PUSH1 0x4 PUSH2 0xEFD JUMP JUMPDEST PUSH2 0x581 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x123 PUSH2 0x2ED CALLDATASIZE PUSH1 0x4 PUSH2 0xEFD JUMP JUMPDEST PUSH2 0x5AC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x123 PUSH2 0x30D CALLDATASIZE PUSH1 0x4 PUSH2 0xEAC JUMP JUMPDEST PUSH2 0x62A JUMP JUMPDEST PUSH2 0x123 PUSH2 0x320 CALLDATASIZE PUSH1 0x4 PUSH2 0xF53 JUMP JUMPDEST PUSH2 0x65E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x331 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18A PUSH2 0x340 CALLDATASIZE PUSH1 0x4 PUSH2 0xFBA JUMP JUMPDEST PUSH2 0x723 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x351 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18A PUSH32 0x637CA263F44C0A7E4A3B057E26C82C5667C084AA950864A2916355C481F6A097 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x145 PUSH2 0x394 CALLDATASIZE PUSH1 0x4 PUSH2 0xEE2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x98 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD TIMESTAMP PUSH1 0x1 PUSH1 0xC0 SHL SWAP1 SWAP2 DIV PUSH4 0xFFFFFFFF AND GT SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x145 PUSH2 0x3DB CALLDATASIZE PUSH1 0x4 PUSH2 0xEFD JUMP JUMPDEST PUSH2 0x7F3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18A PUSH1 0x97 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x402 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18A PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x417 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x123 PUSH2 0x426 CALLDATASIZE PUSH1 0x4 PUSH2 0xEFD JUMP JUMPDEST PUSH2 0x81E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x437 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18A PUSH32 0xC1F0C13D12A4CA09AADA5725E24C49160E8F198A4CA0D2BD4DAFC9C5C12E6A35 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x46B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x123 PUSH2 0x47A CALLDATASIZE PUSH1 0x4 PUSH2 0xEAC JUMP JUMPDEST PUSH2 0x844 JUMP JUMPDEST PUSH32 0xC1F0C13D12A4CA09AADA5725E24C49160E8F198A4CA0D2BD4DAFC9C5C12E6A35 PUSH2 0x4AA DUP2 CALLER PUSH2 0x965 JUMP JUMPDEST PUSH1 0x40 MLOAD SELFBALANCE SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP4 SWAP1 DUP4 DUP2 DUP2 DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4F7 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4FC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x544 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x2330B4B632B2103A3930B739B332B9 PUSH1 0x89 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x57B JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x65 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x59D DUP2 CALLER PUSH2 0x965 JUMP JUMPDEST PUSH2 0x5A7 DUP4 DUP4 PUSH2 0x9C9 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x61C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x53B JUMP JUMPDEST PUSH2 0x626 DUP3 DUP3 PUSH2 0xA4F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH32 0x637CA263F44C0A7E4A3B057E26C82C5667C084AA950864A2916355C481F6A097 PUSH2 0x655 DUP2 CALLER PUSH2 0x965 JUMP JUMPDEST PUSH2 0x626 DUP3 PUSH2 0xAB6 JUMP JUMPDEST DUP1 PUSH4 0xFFFFFFFF AND DUP3 PUSH4 0xFFFFFFFF AND LT DUP1 ISZERO PUSH2 0x67E JUMPI POP DUP1 PUSH4 0xFFFFFFFF AND TIMESTAMP LT JUMPDEST PUSH2 0x6BF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E76616C69642074696D657374616D7073 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x53B JUMP JUMPDEST PUSH2 0x6CA DUP4 DUP4 DUP4 PUSH2 0x723 JUMP JUMPDEST CALLVALUE EQ PUSH2 0x70E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x125B9D985B1A59081C1BDB1A58DE4818DBDCDD PUSH1 0x6A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x53B JUMP JUMPDEST PUSH2 0x71B DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0xAFB JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x730 DUP5 DUP5 PUSH2 0x1013 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH4 0xFFFFFFFF AND GT PUSH2 0x77D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E76616C69642074696D657374616D7073 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x53B JUMP JUMPDEST PUSH1 0x0 DUP6 PUSH2 0xFFFF AND GT PUSH2 0x7C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C696420706F6C6963792073697A65 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x53B JUMP JUMPDEST DUP1 PUSH4 0xFFFFFFFF AND DUP6 PUSH2 0xFFFF AND PUSH1 0x97 SLOAD PUSH2 0x7E0 SWAP2 SWAP1 PUSH2 0x1038 JUMP JUMPDEST PUSH2 0x7EA SWAP2 SWAP1 PUSH2 0x1038 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x65 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x65 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x83A DUP2 CALLER PUSH2 0x965 JUMP JUMPDEST PUSH2 0x5A7 DUP4 DUP4 PUSH2 0xA4F JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x85F JUMPI PUSH1 0x0 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x863 JUMP JUMPDEST ADDRESS EXTCODESIZE ISZERO JUMPDEST PUSH2 0x8C6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x191E481A5B9A5D1A585B1A5E9959 PUSH1 0x92 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x53B JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO DUP1 ISZERO PUSH2 0x8E8 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFFFF NOT AND PUSH2 0x101 OR SWAP1 SSTORE JUMPDEST PUSH2 0x8F1 DUP3 PUSH2 0xAB6 JUMP JUMPDEST PUSH2 0x91B PUSH32 0x637CA263F44C0A7E4A3B057E26C82C5667C084AA950864A2916355C481F6A097 CALLER PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x945 PUSH32 0xC1F0C13D12A4CA09AADA5725E24C49160E8F198A4CA0D2BD4DAFC9C5C12E6A35 CALLER PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x950 PUSH1 0x0 CALLER PUSH2 0xCA0 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x626 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x96F DUP3 DUP3 PUSH2 0x7F3 JUMP JUMPDEST PUSH2 0x626 JUMPI PUSH2 0x987 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x14 PUSH2 0xCAA JUMP JUMPDEST PUSH2 0x992 DUP4 PUSH1 0x20 PUSH2 0xCAA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x9A3 SWAP3 SWAP2 SWAP1 PUSH2 0x1083 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0x53B SWAP2 PUSH1 0x4 ADD PUSH2 0x10F8 JUMP JUMPDEST PUSH2 0x9D3 DUP3 DUP3 PUSH2 0x7F3 JUMP JUMPDEST PUSH2 0x626 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x65 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xA0B CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xA59 DUP3 DUP3 PUSH2 0x7F3 JUMP JUMPDEST ISZERO PUSH2 0x626 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x65 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP6 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x97 DUP1 SLOAD SWAP1 DUP3 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE PUSH32 0x14914DA2BF76024616FBE1859783FCD4DBDDCB179B1F3A854949FBF920DCB957 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x98 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD TIMESTAMP PUSH1 0x1 PUSH1 0xC0 SHL SWAP1 SWAP2 DIV PUSH4 0xFFFFFFFF AND LT PUSH2 0xB72 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x506F6C6963792069732063757272656E746C7920616374697665000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x53B JUMP JUMPDEST DUP1 SLOAD PUSH2 0xFFFF DUP6 AND PUSH1 0x1 PUSH1 0xE0 SHL MUL PUSH2 0xFFFF PUSH1 0xE0 SHL NOT PUSH4 0xFFFFFFFF DUP6 DUP2 AND PUSH1 0x1 PUSH1 0xC0 SHL MUL SWAP2 SWAP1 SWAP2 AND PUSH6 0xFFFFFFFFFFFF PUSH1 0xC0 SHL NOT SWAP2 DUP8 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH4 0xFFFFFFFF PUSH1 0xA0 SHL NOT CALLER SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB NOT SWAP1 SWAP7 AND SWAP6 SWAP1 SWAP6 OR OR SWAP2 SWAP1 SWAP2 AND OR OR DUP3 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EQ DUP1 ISZERO SWAP1 PUSH2 0xBF2 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0xC15 JUMPI PUSH1 0x1 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND OR SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO PUSH2 0xC2A JUMPI DUP5 PUSH2 0xC2C JUMP JUMPDEST CALLER JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH2 0xFFFF DUP8 AND DUP2 MSTORE PUSH4 0xFFFFFFFF DUP7 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE DUP6 AND DUP2 DUP4 ADD MSTORE CALLVALUE PUSH1 0x60 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP11 AND SWAP2 PUSH32 0x3E7E513DDAF550A2B9B8C400D5A2428F924D4AAE6D8DE14C1E2C42E8431FCA15 SWAP2 DUP2 SWAP1 SUB PUSH1 0x80 ADD SWAP1 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x626 DUP3 DUP3 PUSH2 0x9C9 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xCB9 DUP4 PUSH1 0x2 PUSH2 0x1038 JUMP JUMPDEST PUSH2 0xCC4 SWAP1 PUSH1 0x2 PUSH2 0x112B JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xCDC JUMPI PUSH2 0xCDC PUSH2 0x1143 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xD06 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x3 PUSH1 0xFC SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0xD21 JUMPI PUSH2 0xD21 PUSH2 0x1159 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xF PUSH1 0xFB SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0xD50 JUMPI PUSH2 0xD50 PUSH2 0x1159 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH2 0xD74 DUP5 PUSH1 0x2 PUSH2 0x1038 JUMP JUMPDEST PUSH2 0xD7F SWAP1 PUSH1 0x1 PUSH2 0x112B JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xDF7 JUMPI PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL DUP6 PUSH1 0xF AND PUSH1 0x10 DUP2 LT PUSH2 0xDB3 JUMPI PUSH2 0xDB3 PUSH2 0x1159 JUMP JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xDC9 JUMPI PUSH2 0xDC9 PUSH2 0x1159 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 SWAP5 SWAP1 SWAP5 SHR SWAP4 PUSH2 0xDF0 DUP2 PUSH2 0x116F JUMP JUMPDEST SWAP1 POP PUSH2 0xD82 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xE46 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x53B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xE62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xE46 DUP2 PUSH2 0xE4D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xE46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xEDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE46 DUP3 PUSH2 0xEC5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0xF22 DUP2 PUSH2 0xE4D JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0xFFFF DUP2 AND DUP2 EQ PUSH2 0xEDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xEDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xF6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF74 DUP7 PUSH2 0xEC5 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0xF84 DUP2 PUSH2 0xE4D JUMP JUMPDEST SWAP4 POP PUSH2 0xF92 PUSH1 0x40 DUP8 ADD PUSH2 0xF2D JUMP JUMPDEST SWAP3 POP PUSH2 0xFA0 PUSH1 0x60 DUP8 ADD PUSH2 0xF3F JUMP JUMPDEST SWAP2 POP PUSH2 0xFAE PUSH1 0x80 DUP8 ADD PUSH2 0xF3F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xFCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFD8 DUP5 PUSH2 0xF2D JUMP JUMPDEST SWAP3 POP PUSH2 0xFE6 PUSH1 0x20 DUP6 ADD PUSH2 0xF3F JUMP JUMPDEST SWAP2 POP PUSH2 0xFF4 PUSH1 0x40 DUP6 ADD PUSH2 0xF3F JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP4 DUP2 AND SWAP1 DUP4 AND DUP2 DUP2 LT ISZERO PUSH2 0x1030 JUMPI PUSH2 0x1030 PUSH2 0xFFD JUMP JUMPDEST SUB SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1052 JUMPI PUSH2 0x1052 PUSH2 0xFFD JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1072 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x105A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x544 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x10BB DUP2 PUSH1 0x17 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1057 JUMP JUMPDEST PUSH17 0x1034B99036B4B9B9B4B733903937B6329 PUSH1 0x7D SHL PUSH1 0x17 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x10EC DUP2 PUSH1 0x28 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1057 JUMP JUMPDEST ADD PUSH1 0x28 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1117 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x1057 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x113E JUMPI PUSH2 0x113E PUSH2 0xFFD JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x117E JUMPI PUSH2 0x117E PUSH2 0xFFD JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH22 0x79DC0A825776E3C879B178544A69DD8110090A91FE12 0xAB XOR 0x23 ISZERO DIV 0xB8 0xBE GASPRICE 0xE9 PUSH5 0x736F6C6343 STOP ADDMOD 0xC STOP CALLER ",
- "pcMap": {
- "0": {
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x80"
- },
- "2": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "4": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "5": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "7": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "CALLDATASIZE",
- "path": "30"
- },
- "8": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "LT",
- "path": "30"
- },
- "9": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xFE"
- },
- "12": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "13": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "15": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "CALLDATALOAD",
- "path": "30"
- },
- "16": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0xE0"
- },
- "18": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "SHR",
- "path": "30"
- },
- "19": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "20": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x58DB2A72"
- },
- "25": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "GT",
- "path": "30"
- },
- "26": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x95"
- },
- "29": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "30": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "31": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x978BBDB9"
- },
- "36": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "GT",
- "path": "30"
- },
- "37": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x64"
- },
- "40": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "41": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "42": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x978BBDB9"
- },
- "47": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "48": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x3E0"
- },
- "51": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "52": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "53": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xA217FDDF"
- },
- "58": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "59": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x3F6"
- },
- "62": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "63": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "64": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xD547741F"
- },
- "69": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "70": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x40B"
- },
- "73": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "74": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "75": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xE02023A1"
- },
- "80": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "81": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x42B"
- },
- "84": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "85": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "86": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xFE4B84DF"
- },
- "91": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "92": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x45F"
- },
- "95": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "96": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "98": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "99": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "REVERT",
- "path": "30"
- },
- "100": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "101": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "102": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x58DB2A72"
- },
- "107": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "108": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x325"
- },
- "111": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "112": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "113": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x58F70858"
- },
- "118": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "119": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x345"
- },
- "122": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "123": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "124": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x7EF3C6D5"
- },
- "129": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "130": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x379"
- },
- "133": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "134": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "135": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x91D14854"
- },
- "140": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "141": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x3C0"
- },
- "144": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "145": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "147": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "148": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "REVERT",
- "path": "30"
- },
- "149": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "150": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "151": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x2F2FF15D"
- },
- "156": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "GT",
- "path": "30"
- },
- "157": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xD1"
- },
- "160": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "161": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "162": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x2F2FF15D"
- },
- "167": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "168": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x2B2"
- },
- "171": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "172": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "173": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x36568ABE"
- },
- "178": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "179": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x2D2"
- },
- "182": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "183": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "184": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x45596E2E"
- },
- "189": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "190": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x2F2"
- },
- "193": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "194": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "195": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x4F004041"
- },
- "200": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "201": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x312"
- },
- "204": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "205": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "207": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "208": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "REVERT",
- "path": "30"
- },
- "209": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "210": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "211": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x1681A62"
- },
- "216": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "217": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x103"
- },
- "220": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "221": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "222": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x1FFC9A7"
- },
- "227": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "228": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x125"
- },
- "231": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "232": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "233": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x248A9CA3"
- },
- "238": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "239": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x15A"
- },
- "242": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "243": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "244": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0x2C815161"
- },
- "249": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "EQ",
- "path": "30"
- },
- "250": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x198"
- },
- "253": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "254": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "255": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "257": {
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "DUP1",
- "path": "30"
- },
- "258": {
- "first_revert": true,
- "fn": null,
- "offset": [
- 231,
- 4629
- ],
- "op": "REVERT",
- "path": "30"
- },
- "259": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "260": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "261": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "DUP1",
- "path": "30"
- },
- "262": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "263": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x10F"
- },
- "266": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "267": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "269": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "DUP1",
- "path": "30"
- },
- "270": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "REVERT",
- "path": "30"
- },
- "271": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "272": {
- "op": "POP"
- },
- "273": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x123"
- },
- "276": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x11E"
- },
- "279": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "CALLDATASIZE",
- "path": "30"
- },
- "280": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "282": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xE65"
- },
- "285": {
- "fn": "SubscriptionManager.sweep",
- "jump": "i",
- "offset": [
- 4393,
- 4626
- ],
- "op": "JUMP",
- "path": "30"
- },
- "286": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "287": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x47F"
- },
- "290": {
- "fn": "SubscriptionManager.sweep",
- "jump": "i",
- "offset": [
- 4393,
- 4626
- ],
- "op": "JUMP",
- "path": "30"
- },
- "291": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "292": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "STOP",
- "path": "30"
- },
- "293": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "294": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "CALLVALUE",
- "path": "0"
- },
- "295": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "DUP1",
- "path": "0"
- },
- "296": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "ISZERO",
- "path": "0"
- },
- "297": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x131"
- },
- "300": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "301": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "303": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "DUP1",
- "path": "0"
- },
- "304": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "REVERT",
- "path": "0"
- },
- "305": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "306": {
- "op": "POP"
- },
- "307": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x145"
- },
- "310": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x140"
- },
- "313": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "CALLDATASIZE",
- "path": "0"
- },
- "314": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x4"
- },
- "316": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xE82"
- },
- "319": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "jump": "i",
- "offset": [
- 2917,
- 3130
- ],
- "op": "JUMP",
- "path": "0"
- },
- "320": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "321": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x54A"
- },
- "324": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "jump": "i",
- "offset": [
- 2917,
- 3130
- ],
- "op": "JUMP",
- "path": "0"
- },
- "325": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "326": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "328": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "MLOAD",
- "path": "0"
- },
- "329": {
- "op": "SWAP1"
- },
- "330": {
- "op": "ISZERO"
- },
- "331": {
- "op": "ISZERO"
- },
- "332": {
- "op": "DUP2"
- },
- "333": {
- "op": "MSTORE"
- },
- "334": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "336": {
- "op": "ADD"
- },
- "337": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "338": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "340": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "MLOAD",
- "path": "0"
- },
- "341": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "DUP1",
- "path": "0"
- },
- "342": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "SWAP2",
- "path": "0"
- },
- "343": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "SUB",
- "path": "0"
- },
- "344": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "345": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "RETURN",
- "path": "0"
- },
- "346": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "347": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "CALLVALUE",
- "path": "0"
- },
- "348": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "DUP1",
- "path": "0"
- },
- "349": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "ISZERO",
- "path": "0"
- },
- "350": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x166"
- },
- "353": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "354": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "356": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "DUP1",
- "path": "0"
- },
- "357": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "REVERT",
- "path": "0"
- },
- "358": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "359": {
- "op": "POP"
- },
- "360": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x18A"
- },
- "363": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x175"
- },
- "366": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "CALLDATASIZE",
- "path": "0"
- },
- "367": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x4"
- },
- "369": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xEAC"
- },
- "372": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "jump": "i",
- "offset": [
- 4338,
- 4467
- ],
- "op": "JUMP",
- "path": "0"
- },
- "373": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "374": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4412,
- 4419
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "376": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "SWAP1",
- "path": "0",
- "statement": 0
- },
- "377": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "DUP2",
- "path": "0"
- },
- "378": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "379": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4444
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x65"
- },
- "381": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x20"
- },
- "383": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "384": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "386": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "387": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "KECCAK256",
- "path": "0"
- },
- "388": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4460
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x1"
- },
- "390": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4460
- ],
- "op": "ADD",
- "path": "0"
- },
- "391": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4460
- ],
- "op": "SLOAD",
- "path": "0"
- },
- "392": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4460
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "393": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "JUMP",
- "path": "0"
- },
- "394": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "395": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "397": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "MLOAD",
- "path": "0"
- },
- "398": {
- "op": "SWAP1"
- },
- "399": {
- "op": "DUP2"
- },
- "400": {
- "op": "MSTORE"
- },
- "401": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "403": {
- "op": "ADD"
- },
- "404": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4338,
- 4467
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x151"
- },
- "407": {
- "op": "JUMP"
- },
- "408": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "409": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "410": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "DUP1",
- "path": "30"
- },
- "411": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "412": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x1A4"
- },
- "415": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "416": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "418": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "DUP1",
- "path": "30"
- },
- "419": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "REVERT",
- "path": "30"
- },
- "420": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "421": {
- "op": "POP"
- },
- "422": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x257"
- },
- "425": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x1B3"
- },
- "428": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "CALLDATASIZE",
- "path": "30"
- },
- "429": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "431": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xEE2"
- },
- "434": {
- "fn": "SubscriptionManager.getPolicy",
- "jump": "i",
- "offset": [
- 3831,
- 3947
- ],
- "op": "JUMP",
- "path": "30"
- },
- "435": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "436": {
- "op": "PUSH1",
- "value": "0x40"
- },
- "438": {
- "op": "DUP1"
- },
- "439": {
- "op": "MLOAD"
- },
- "440": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "442": {
- "op": "DUP2"
- },
- "443": {
- "op": "ADD"
- },
- "444": {
- "op": "DUP3"
- },
- "445": {
- "op": "MSTORE"
- },
- "446": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "448": {
- "op": "DUP1"
- },
- "449": {
- "op": "DUP3"
- },
- "450": {
- "op": "MSTORE"
- },
- "451": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "453": {
- "op": "DUP3"
- },
- "454": {
- "op": "ADD"
- },
- "455": {
- "op": "DUP2"
- },
- "456": {
- "op": "SWAP1"
- },
- "457": {
- "op": "MSTORE"
- },
- "458": {
- "op": "SWAP2"
- },
- "459": {
- "op": "DUP2"
- },
- "460": {
- "op": "ADD"
- },
- "461": {
- "op": "DUP3"
- },
- "462": {
- "op": "SWAP1"
- },
- "463": {
- "op": "MSTORE"
- },
- "464": {
- "op": "PUSH1",
- "value": "0x60"
- },
- "466": {
- "op": "DUP2"
- },
- "467": {
- "op": "ADD"
- },
- "468": {
- "op": "DUP3"
- },
- "469": {
- "op": "SWAP1"
- },
- "470": {
- "op": "MSTORE"
- },
- "471": {
- "op": "PUSH1",
- "value": "0x80"
- },
- "473": {
- "op": "DUP2"
- },
- "474": {
- "op": "ADD"
- },
- "475": {
- "op": "SWAP2"
- },
- "476": {
- "op": "SWAP1"
- },
- "477": {
- "op": "SWAP2"
- },
- "478": {
- "op": "MSTORE"
- },
- "479": {
- "op": "POP"
- },
- "480": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "482": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "484": {
- "op": "PUSH1",
- "value": "0x80"
- },
- "486": {
- "op": "SHL"
- },
- "487": {
- "op": "SUB"
- },
- "488": {
- "op": "NOT"
- },
- "489": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "AND",
- "path": "30",
- "statement": 1
- },
- "490": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "492": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "493": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "DUP2",
- "path": "30"
- },
- "494": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "495": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3929
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x98"
- },
- "497": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x20"
- },
- "499": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "500": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "DUP2",
- "path": "30"
- },
- "501": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "502": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "504": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "505": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "DUP3",
- "path": "30"
- },
- "506": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "507": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3920,
- 3940
- ],
- "op": "KECCAK256",
- "path": "30"
- },
- "508": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP3",
- "path": "30"
- },
- "509": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "510": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0xA0"
- },
- "512": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP2",
- "path": "30"
- },
- "513": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "ADD",
- "path": "30"
- },
- "514": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP5",
- "path": "30"
- },
- "515": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "516": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP2",
- "path": "30"
- },
- "517": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SLOAD",
- "path": "30"
- },
- "518": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "520": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "522": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "524": {
- "op": "SHL"
- },
- "525": {
- "op": "SUB"
- },
- "526": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP1",
- "path": "30"
- },
- "527": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP3",
- "path": "30"
- },
- "528": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "AND",
- "path": "30"
- },
- "529": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP4",
- "path": "30"
- },
- "530": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "531": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "533": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "535": {
- "op": "SHL"
- },
- "536": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP3",
- "path": "30"
- },
- "537": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DIV",
- "path": "30"
- },
- "538": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xFFFFFFFF"
- },
- "543": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "544": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP2",
- "path": "30"
- },
- "545": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "AND",
- "path": "30"
- },
- "546": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP6",
- "path": "30"
- },
- "547": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP5",
- "path": "30"
- },
- "548": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "ADD",
- "path": "30"
- },
- "549": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP6",
- "path": "30"
- },
- "550": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "551": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP6",
- "path": "30"
- },
- "552": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "553": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "555": {
- "op": "PUSH1",
- "value": "0xC0"
- },
- "557": {
- "op": "SHL"
- },
- "558": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP3",
- "path": "30"
- },
- "559": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DIV",
- "path": "30"
- },
- "560": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "561": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP5",
- "path": "30"
- },
- "562": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "AND",
- "path": "30"
- },
- "563": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP5",
- "path": "30"
- },
- "564": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP3",
- "path": "30"
- },
- "565": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "ADD",
- "path": "30"
- },
- "566": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP5",
- "path": "30"
- },
- "567": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "568": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP5",
- "path": "30"
- },
- "569": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "570": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "572": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "574": {
- "op": "SHL"
- },
- "575": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "576": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP4",
- "path": "30"
- },
- "577": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DIV",
- "path": "30"
- },
- "578": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xFFFF"
- },
- "581": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "AND",
- "path": "30"
- },
- "582": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x60"
- },
- "584": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP5",
- "path": "30"
- },
- "585": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "ADD",
- "path": "30"
- },
- "586": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "587": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x1"
- },
- "589": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "ADD",
- "path": "30"
- },
- "590": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SLOAD",
- "path": "30"
- },
- "591": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "AND",
- "path": "30"
- },
- "592": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x80"
- },
- "594": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "DUP3",
- "path": "30"
- },
- "595": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "ADD",
- "path": "30"
- },
- "596": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "597": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3913,
- 3940
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "598": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "JUMP",
- "path": "30"
- },
- "599": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "600": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "602": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "603": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x151"
- },
- "606": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "607": {
- "fn": "SubscriptionManager.getPolicy",
- "offset": [
- 3831,
- 3947
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "608": {
- "op": "DUP2"
- },
- "609": {
- "op": "MLOAD"
- },
- "610": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "612": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "614": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "616": {
- "op": "SHL"
- },
- "617": {
- "op": "SUB"
- },
- "618": {
- "op": "SWAP1"
- },
- "619": {
- "op": "DUP2"
- },
- "620": {
- "op": "AND"
- },
- "621": {
- "op": "DUP3"
- },
- "622": {
- "op": "MSTORE"
- },
- "623": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "625": {
- "op": "DUP1"
- },
- "626": {
- "op": "DUP5"
- },
- "627": {
- "op": "ADD"
- },
- "628": {
- "op": "MLOAD"
- },
- "629": {
- "op": "PUSH4",
- "value": "0xFFFFFFFF"
- },
- "634": {
- "op": "SWAP1"
- },
- "635": {
- "op": "DUP2"
- },
- "636": {
- "op": "AND"
- },
- "637": {
- "op": "SWAP2"
- },
- "638": {
- "op": "DUP5"
- },
- "639": {
- "op": "ADD"
- },
- "640": {
- "op": "SWAP2"
- },
- "641": {
- "op": "SWAP1"
- },
- "642": {
- "op": "SWAP2"
- },
- "643": {
- "op": "MSTORE"
- },
- "644": {
- "op": "PUSH1",
- "value": "0x40"
- },
- "646": {
- "op": "DUP1"
- },
- "647": {
- "op": "DUP6"
- },
- "648": {
- "op": "ADD"
- },
- "649": {
- "op": "MLOAD"
- },
- "650": {
- "op": "SWAP1"
- },
- "651": {
- "op": "SWAP2"
- },
- "652": {
- "op": "AND"
- },
- "653": {
- "op": "SWAP1"
- },
- "654": {
- "op": "DUP4"
- },
- "655": {
- "op": "ADD"
- },
- "656": {
- "op": "MSTORE"
- },
- "657": {
- "op": "PUSH1",
- "value": "0x60"
- },
- "659": {
- "op": "DUP1"
- },
- "660": {
- "op": "DUP5"
- },
- "661": {
- "op": "ADD"
- },
- "662": {
- "op": "MLOAD"
- },
- "663": {
- "op": "PUSH2",
- "value": "0xFFFF"
- },
- "666": {
- "op": "AND"
- },
- "667": {
- "op": "SWAP1"
- },
- "668": {
- "op": "DUP4"
- },
- "669": {
- "op": "ADD"
- },
- "670": {
- "op": "MSTORE"
- },
- "671": {
- "op": "PUSH1",
- "value": "0x80"
- },
- "673": {
- "op": "SWAP3"
- },
- "674": {
- "op": "DUP4"
- },
- "675": {
- "op": "ADD"
- },
- "676": {
- "op": "MLOAD"
- },
- "677": {
- "op": "AND"
- },
- "678": {
- "op": "SWAP2"
- },
- "679": {
- "op": "DUP2"
- },
- "680": {
- "op": "ADD"
- },
- "681": {
- "op": "SWAP2"
- },
- "682": {
- "op": "SWAP1"
- },
- "683": {
- "op": "SWAP2"
- },
- "684": {
- "op": "MSTORE"
- },
- "685": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "687": {
- "op": "ADD"
- },
- "688": {
- "op": "SWAP1"
- },
- "689": {
- "op": "JUMP"
- },
- "690": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "691": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "CALLVALUE",
- "path": "0"
- },
- "692": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "DUP1",
- "path": "0"
- },
- "693": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "ISZERO",
- "path": "0"
- },
- "694": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x2BE"
- },
- "697": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "698": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "700": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "DUP1",
- "path": "0"
- },
- "701": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "REVERT",
- "path": "0"
- },
- "702": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "703": {
- "op": "POP"
- },
- "704": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x123"
- },
- "707": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x2CD"
- },
- "710": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "CALLDATASIZE",
- "path": "0"
- },
- "711": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x4"
- },
- "713": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xEFD"
- },
- "716": {
- "fn": "AccessControlUpgradeable.grantRole",
- "jump": "i",
- "offset": [
- 4717,
- 4862
- ],
- "op": "JUMP",
- "path": "0"
- },
- "717": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "718": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x581"
- },
- "721": {
- "fn": "AccessControlUpgradeable.grantRole",
- "jump": "i",
- "offset": [
- 4717,
- 4862
- ],
- "op": "JUMP",
- "path": "0"
- },
- "722": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "723": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "CALLVALUE",
- "path": "0"
- },
- "724": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "DUP1",
- "path": "0"
- },
- "725": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "ISZERO",
- "path": "0"
- },
- "726": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x2DE"
- },
- "729": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "730": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "732": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "DUP1",
- "path": "0"
- },
- "733": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "REVERT",
- "path": "0"
- },
- "734": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "735": {
- "op": "POP"
- },
- "736": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x123"
- },
- "739": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x2ED"
- },
- "742": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "CALLDATASIZE",
- "path": "0"
- },
- "743": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x4"
- },
- "745": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xEFD"
- },
- "748": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "jump": "i",
- "offset": [
- 5734,
- 5948
- ],
- "op": "JUMP",
- "path": "0"
- },
- "749": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "750": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x5AC"
- },
- "753": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "jump": "i",
- "offset": [
- 5734,
- 5948
- ],
- "op": "JUMP",
- "path": "0"
- },
- "754": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "755": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "756": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "DUP1",
- "path": "30"
- },
- "757": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "758": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x2FE"
- },
- "761": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "762": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "764": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "DUP1",
- "path": "30"
- },
- "765": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "REVERT",
- "path": "30"
- },
- "766": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "767": {
- "op": "POP"
- },
- "768": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x123"
- },
- "771": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x30D"
- },
- "774": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "CALLDATASIZE",
- "path": "30"
- },
- "775": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "777": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xEAC"
- },
- "780": {
- "fn": "SubscriptionManager.setFeeRate",
- "jump": "i",
- "offset": [
- 4266,
- 4387
- ],
- "op": "JUMP",
- "path": "30"
- },
- "781": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "782": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x62A"
- },
- "785": {
- "fn": "SubscriptionManager.setFeeRate",
- "jump": "i",
- "offset": [
- 4266,
- 4387
- ],
- "op": "JUMP",
- "path": "30"
- },
- "786": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "787": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x123"
- },
- "790": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x320"
- },
- "793": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "CALLDATASIZE",
- "path": "30"
- },
- "794": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "796": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xF53"
- },
- "799": {
- "fn": "SubscriptionManager.createPolicy",
- "jump": "i",
- "offset": [
- 1964,
- 2539
- ],
- "op": "JUMP",
- "path": "30"
- },
- "800": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "801": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x65E"
- },
- "804": {
- "fn": "SubscriptionManager.createPolicy",
- "jump": "i",
- "offset": [
- 1964,
- 2539
- ],
- "op": "JUMP",
- "path": "30"
- },
- "805": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "806": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "807": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "DUP1",
- "path": "30"
- },
- "808": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "809": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x331"
- },
- "812": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "813": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "815": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "DUP1",
- "path": "30"
- },
- "816": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "REVERT",
- "path": "30"
- },
- "817": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "818": {
- "op": "POP"
- },
- "819": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x18A"
- },
- "822": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x340"
- },
- "825": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "CALLDATASIZE",
- "path": "30"
- },
- "826": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "828": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xFBA"
- },
- "831": {
- "fn": "SubscriptionManager.getPolicyCost",
- "jump": "i",
- "offset": [
- 1603,
- 1958
- ],
- "op": "JUMP",
- "path": "30"
- },
- "832": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "833": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x723"
- },
- "836": {
- "fn": "SubscriptionManager.getPolicyCost",
- "jump": "i",
- "offset": [
- 1603,
- 1958
- ],
- "op": "JUMP",
- "path": "30"
- },
- "837": {
- "offset": [
- 310,
- 397
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "838": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "839": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "DUP1",
- "path": "30"
- },
- "840": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "841": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x351"
- },
- "844": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "845": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "847": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "DUP1",
- "path": "30"
- },
- "848": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "REVERT",
- "path": "30"
- },
- "849": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "850": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "POP",
- "path": "30"
- },
- "851": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x18A"
- },
- "854": {
- "offset": [
- 359,
- 397
- ],
- "op": "PUSH32",
- "path": "30",
- "value": "0x637CA263F44C0A7E4A3B057E26C82C5667C084AA950864A2916355C481F6A097"
- },
- "887": {
- "offset": [
- 310,
- 397
- ],
- "op": "DUP2",
- "path": "30"
- },
- "888": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 310,
- 397
- ],
- "op": "JUMP",
- "path": "30"
- },
- "889": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "890": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "891": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "DUP1",
- "path": "30"
- },
- "892": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "893": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x385"
- },
- "896": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "897": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "899": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "DUP1",
- "path": "30"
- },
- "900": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "REVERT",
- "path": "30"
- },
- "901": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "902": {
- "op": "POP"
- },
- "903": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x145"
- },
- "906": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x394"
- },
- "909": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "CALLDATASIZE",
- "path": "30"
- },
- "910": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "912": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xEE2"
- },
- "915": {
- "fn": "SubscriptionManager.isPolicyActive",
- "jump": "i",
- "offset": [
- 3953,
- 4096
- ],
- "op": "JUMP",
- "path": "30"
- },
- "916": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "917": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "919": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "921": {
- "op": "PUSH1",
- "value": "0x80"
- },
- "923": {
- "op": "SHL"
- },
- "924": {
- "op": "SUB"
- },
- "925": {
- "op": "NOT"
- },
- "926": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4058
- ],
- "op": "AND",
- "path": "30",
- "statement": 2
- },
- "927": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4016,
- 4020
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "929": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4058
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "930": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4058
- ],
- "op": "DUP2",
- "path": "30"
- },
- "931": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4058
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "932": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4047
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x98"
- },
- "934": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4058
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x20"
- },
- "936": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4058
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "937": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4058
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "939": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4058
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "940": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4058
- ],
- "op": "KECCAK256",
- "path": "30"
- },
- "941": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4071
- ],
- "op": "SLOAD",
- "path": "30"
- },
- "942": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4074,
- 4089
- ],
- "op": "TIMESTAMP",
- "path": "30"
- },
- "943": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "945": {
- "op": "PUSH1",
- "value": "0xC0"
- },
- "947": {
- "op": "SHL"
- },
- "948": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4071
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "949": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4071
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "950": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4071
- ],
- "op": "DIV",
- "path": "30"
- },
- "951": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4071
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xFFFFFFFF"
- },
- "956": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4071
- ],
- "op": "AND",
- "path": "30"
- },
- "957": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4089
- ],
- "op": "GT",
- "path": "30"
- },
- "958": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 4038,
- 4089
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "959": {
- "fn": "SubscriptionManager.isPolicyActive",
- "offset": [
- 3953,
- 4096
- ],
- "op": "JUMP",
- "path": "30"
- },
- "960": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "961": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "CALLVALUE",
- "path": "0"
- },
- "962": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "DUP1",
- "path": "0"
- },
- "963": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "ISZERO",
- "path": "0"
- },
- "964": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x3CC"
- },
- "967": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "968": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "970": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "DUP1",
- "path": "0"
- },
- "971": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "REVERT",
- "path": "0"
- },
- "972": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "973": {
- "op": "POP"
- },
- "974": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x145"
- },
- "977": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x3DB"
- },
- "980": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "CALLDATASIZE",
- "path": "0"
- },
- "981": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x4"
- },
- "983": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xEFD"
- },
- "986": {
- "fn": "AccessControlUpgradeable.hasRole",
- "jump": "i",
- "offset": [
- 3217,
- 3362
- ],
- "op": "JUMP",
- "path": "0"
- },
- "987": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "988": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x7F3"
- },
- "991": {
- "fn": "AccessControlUpgradeable.hasRole",
- "jump": "i",
- "offset": [
- 3217,
- 3362
- ],
- "op": "JUMP",
- "path": "0"
- },
- "992": {
- "offset": [
- 1212,
- 1234
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "993": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "994": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "DUP1",
- "path": "30"
- },
- "995": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "996": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x3EC"
- },
- "999": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "1000": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "1002": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "DUP1",
- "path": "30"
- },
- "1003": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "REVERT",
- "path": "30"
- },
- "1004": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1005": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "POP",
- "path": "30"
- },
- "1006": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x18A"
- },
- "1009": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x97"
- },
- "1011": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "SLOAD",
- "path": "30"
- },
- "1012": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1013": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 1212,
- 1234
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1014": {
- "offset": [
- 2324,
- 2373
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1015": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 2324,
- 2373
- ],
- "op": "CALLVALUE",
- "path": "0"
- },
- "1016": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 2324,
- 2373
- ],
- "op": "DUP1",
- "path": "0"
- },
- "1017": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 2324,
- 2373
- ],
- "op": "ISZERO",
- "path": "0"
- },
- "1018": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 2324,
- 2373
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x402"
- },
- "1021": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 2324,
- 2373
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "1022": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 2324,
- 2373
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "1024": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 2324,
- 2373
- ],
- "op": "DUP1",
- "path": "0"
- },
- "1025": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 2324,
- 2373
- ],
- "op": "REVERT",
- "path": "0"
- },
- "1026": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 2324,
- 2373
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1027": {
- "op": "POP"
- },
- "1028": {
- "offset": [
- 2324,
- 2373
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x18A"
- },
- "1031": {
- "offset": [
- 2369,
- 2373
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "1033": {
- "offset": [
- 2324,
- 2373
- ],
- "op": "DUP2",
- "path": "0"
- },
- "1034": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 2324,
- 2373
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1035": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1036": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "CALLVALUE",
- "path": "0"
- },
- "1037": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "DUP1",
- "path": "0"
- },
- "1038": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "ISZERO",
- "path": "0"
- },
- "1039": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x417"
- },
- "1042": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "1043": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "1045": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "DUP1",
- "path": "0"
- },
- "1046": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "REVERT",
- "path": "0"
- },
- "1047": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1048": {
- "op": "POP"
- },
- "1049": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x123"
- },
- "1052": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x426"
- },
- "1055": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "CALLDATASIZE",
- "path": "0"
- },
- "1056": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x4"
- },
- "1058": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xEFD"
- },
- "1061": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "jump": "i",
- "offset": [
- 5096,
- 5243
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1062": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1063": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x81E"
- },
- "1066": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "jump": "i",
- "offset": [
- 5096,
- 5243
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1067": {
- "offset": [
- 403,
- 513
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1068": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "1069": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "DUP1",
- "path": "30"
- },
- "1070": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "1071": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x437"
- },
- "1074": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "1075": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "1077": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "DUP1",
- "path": "30"
- },
- "1078": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "REVERT",
- "path": "30"
- },
- "1079": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1080": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "POP",
- "path": "30"
- },
- "1081": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x18A"
- },
- "1084": {
- "offset": [
- 452,
- 513
- ],
- "op": "PUSH32",
- "path": "30",
- "value": "0xC1F0C13D12A4CA09AADA5725E24C49160E8F198A4CA0D2BD4DAFC9C5C12E6A35"
- },
- "1117": {
- "offset": [
- 403,
- 513
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1118": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 403,
- 513
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1119": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1120": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "1121": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "DUP1",
- "path": "30"
- },
- "1122": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "1123": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x46B"
- },
- "1126": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "1127": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "1129": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "DUP1",
- "path": "30"
- },
- "1130": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "REVERT",
- "path": "30"
- },
- "1131": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1132": {
- "op": "POP"
- },
- "1133": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x123"
- },
- "1136": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x47A"
- },
- "1139": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "CALLDATASIZE",
- "path": "30"
- },
- "1140": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "1142": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xEAC"
- },
- "1145": {
- "fn": "SubscriptionManager.initialize",
- "jump": "i",
- "offset": [
- 1356,
- 1597
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1146": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1147": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x844"
- },
- "1150": {
- "fn": "SubscriptionManager.initialize",
- "jump": "i",
- "offset": [
- 1356,
- 1597
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1151": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1152": {
- "offset": [
- 452,
- 513
- ],
- "op": "PUSH32",
- "path": "30",
- "value": "0xC1F0C13D12A4CA09AADA5725E24C49160E8F198A4CA0D2BD4DAFC9C5C12E6A35"
- },
- "1185": {
- "offset": [
- 2802,
- 2832
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x4AA"
- },
- "1188": {
- "offset": [
- 452,
- 513
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1189": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 929,
- 939
- ],
- "op": "CALLER",
- "path": "4",
- "statement": 3
- },
- "1190": {
- "offset": [
- 2802,
- 2812
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x965"
- },
- "1193": {
- "jump": "i",
- "offset": [
- 2802,
- 2832
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1194": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 2802,
- 2832
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1195": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "1197": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "1198": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4496,
- 4517
- ],
- "op": "SELFBALANCE",
- "path": "30"
- },
- "1199": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4496,
- 4517
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "1200": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4478,
- 4493
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "1202": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4478,
- 4493
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "1203": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "1205": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "1207": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "1209": {
- "op": "SHL"
- },
- "1210": {
- "op": "SUB"
- },
- "1211": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4557
- ],
- "op": "DUP6",
- "path": "30"
- },
- "1212": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4557
- ],
- "op": "AND",
- "path": "30"
- },
- "1213": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4557
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "1214": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4496,
- 4517
- ],
- "op": "DUP4",
- "path": "30"
- },
- "1215": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4496,
- 4517
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "1216": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4478,
- 4493
- ],
- "op": "DUP4",
- "path": "30"
- },
- "1217": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1218": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4478,
- 4493
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1219": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1220": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4496,
- 4517
- ],
- "op": "DUP6",
- "path": "30"
- },
- "1221": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4557
- ],
- "op": "DUP8",
- "path": "30"
- },
- "1222": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "GAS",
- "path": "30"
- },
- "1223": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "CALL",
- "path": "30"
- },
- "1224": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "SWAP3",
- "path": "30"
- },
- "1225": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "POP",
- "path": "30"
- },
- "1226": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "POP",
- "path": "30"
- },
- "1227": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "POP",
- "path": "30"
- },
- "1228": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "RETURNDATASIZE",
- "path": "30"
- },
- "1229": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "DUP1",
- "path": "30"
- },
- "1230": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "1232": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1233": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "EQ",
- "path": "30"
- },
- "1234": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x4F7"
- },
- "1237": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "1238": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "1240": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "1241": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "1242": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "POP",
- "path": "30"
- },
- "1243": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x1F"
- },
- "1245": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "NOT",
- "path": "30"
- },
- "1246": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x3F"
- },
- "1248": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "RETURNDATASIZE",
- "path": "30"
- },
- "1249": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "ADD",
- "path": "30"
- },
- "1250": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "AND",
- "path": "30"
- },
- "1251": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "DUP3",
- "path": "30"
- },
- "1252": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "ADD",
- "path": "30"
- },
- "1253": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "1255": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "1256": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "RETURNDATASIZE",
- "path": "30"
- },
- "1257": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "DUP3",
- "path": "30"
- },
- "1258": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "1259": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "RETURNDATASIZE",
- "path": "30"
- },
- "1260": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "1262": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x20"
- },
- "1264": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "DUP5",
- "path": "30"
- },
- "1265": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "ADD",
- "path": "30"
- },
- "1266": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "RETURNDATACOPY",
- "path": "30"
- },
- "1267": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x4FC"
- },
- "1270": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1271": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1272": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x60"
- },
- "1274": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "1275": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "POP",
- "path": "30"
- },
- "1276": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1277": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4543,
- 4577
- ],
- "op": "POP",
- "path": "30"
- },
- "1278": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4527,
- 4577
- ],
- "op": "POP",
- "path": "30"
- },
- "1279": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4527,
- 4577
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "1280": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4527,
- 4577
- ],
- "op": "POP",
- "path": "30"
- },
- "1281": {
- "branch": 40,
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4595,
- 4599
- ],
- "op": "DUP1",
- "path": "30",
- "statement": 4
- },
- "1282": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x544"
- },
- "1285": {
- "branch": 40,
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "1286": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "1288": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "1289": {
- "op": "PUSH3",
- "value": "0x461BCD"
- },
- "1293": {
- "op": "PUSH1",
- "value": "0xE5"
- },
- "1295": {
- "op": "SHL"
- },
- "1296": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1297": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "1298": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "1300": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "1302": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "DUP3",
- "path": "30"
- },
- "1303": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "ADD",
- "path": "30"
- },
- "1304": {
- "op": "MSTORE"
- },
- "1305": {
- "op": "PUSH1",
- "value": "0xF"
- },
- "1307": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "1309": {
- "op": "DUP3"
- },
- "1310": {
- "op": "ADD"
- },
- "1311": {
- "op": "MSTORE"
- },
- "1312": {
- "op": "PUSH15",
- "value": "0x2330B4B632B2103A3930B739B332B9"
- },
- "1328": {
- "op": "PUSH1",
- "value": "0x89"
- },
- "1330": {
- "op": "SHL"
- },
- "1331": {
- "op": "PUSH1",
- "value": "0x44"
- },
- "1333": {
- "op": "DUP3"
- },
- "1334": {
- "op": "ADD"
- },
- "1335": {
- "op": "MSTORE"
- },
- "1336": {
- "op": "PUSH1",
- "value": "0x64"
- },
- "1338": {
- "op": "ADD"
- },
- "1339": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1340": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "1342": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "1343": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "DUP1",
- "path": "30"
- },
- "1344": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "1345": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "SUB",
- "path": "30"
- },
- "1346": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "1347": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "REVERT",
- "optimizer_revert": true,
- "path": "30"
- },
- "1348": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4587,
- 4619
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1349": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4468,
- 4626
- ],
- "op": "POP",
- "path": "30"
- },
- "1350": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4468,
- 4626
- ],
- "op": "POP",
- "path": "30"
- },
- "1351": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "POP",
- "path": "30"
- },
- "1352": {
- "fn": "SubscriptionManager.sweep",
- "offset": [
- 4393,
- 4626
- ],
- "op": "POP",
- "path": "30"
- },
- "1353": {
- "fn": "SubscriptionManager.sweep",
- "jump": "o",
- "offset": [
- 4393,
- 4626
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1354": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1355": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 3002,
- 3006
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "1357": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "1359": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "1361": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "1363": {
- "op": "SHL"
- },
- "1364": {
- "op": "SUB"
- },
- "1365": {
- "op": "NOT"
- },
- "1366": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 3025,
- 3083
- ],
- "op": "DUP3",
- "path": "0",
- "statement": 5
- },
- "1367": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 3025,
- 3083
- ],
- "op": "AND",
- "path": "0"
- },
- "1368": {
- "op": "PUSH4",
- "value": "0x7965DB0B"
- },
- "1373": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "1375": {
- "op": "SHL"
- },
- "1376": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 3025,
- 3083
- ],
- "op": "EQ",
- "path": "0"
- },
- "1377": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 3025,
- 3083
- ],
- "op": "DUP1",
- "path": "0"
- },
- "1378": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 3025,
- 3123
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x57B"
- },
- "1381": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 3025,
- 3123
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "1382": {
- "op": "POP"
- },
- "1383": {
- "op": "PUSH4",
- "value": "0x1FFC9A7"
- },
- "1388": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "1390": {
- "op": "SHL"
- },
- "1391": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "1393": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "1395": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "1397": {
- "op": "SHL"
- },
- "1398": {
- "op": "SUB"
- },
- "1399": {
- "op": "NOT"
- },
- "1400": {
- "fn": "ERC165Upgradeable.supportsInterface",
- "offset": [
- 1168,
- 1219
- ],
- "op": "DUP4",
- "path": "6",
- "statement": 6
- },
- "1401": {
- "fn": "ERC165Upgradeable.supportsInterface",
- "offset": [
- 1168,
- 1219
- ],
- "op": "AND",
- "path": "6"
- },
- "1402": {
- "fn": "ERC165Upgradeable.supportsInterface",
- "offset": [
- 1168,
- 1219
- ],
- "op": "EQ",
- "path": "6"
- },
- "1403": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 3087,
- 3123
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1404": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 3018,
- 3123
- ],
- "op": "SWAP3",
- "path": "0"
- },
- "1405": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "offset": [
- 2917,
- 3130
- ],
- "op": "SWAP2",
- "path": "0"
- },
- "1406": {
- "op": "POP"
- },
- "1407": {
- "op": "POP"
- },
- "1408": {
- "fn": "AccessControlUpgradeable.supportsInterface",
- "jump": "o",
- "offset": [
- 2917,
- 3130
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1409": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1410": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4412,
- 4419
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "1412": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "DUP3",
- "path": "0"
- },
- "1413": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "DUP2",
- "path": "0"
- },
- "1414": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "1415": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4444
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x65"
- },
- "1417": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x20"
- },
- "1419": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "1420": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "1422": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "1423": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "KECCAK256",
- "path": "0"
- },
- "1424": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4460
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x1"
- },
- "1426": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4460
- ],
- "op": "ADD",
- "path": "0"
- },
- "1427": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4460
- ],
- "op": "SLOAD",
- "path": "0"
- },
- "1428": {
- "offset": [
- 2802,
- 2832
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x59D"
- },
- "1431": {
- "offset": [
- 2813,
- 2817
- ],
- "op": "DUP2",
- "path": "0"
- },
- "1432": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 929,
- 939
- ],
- "op": "CALLER",
- "path": "4"
- },
- "1433": {
- "offset": [
- 2802,
- 2812
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x965"
- },
- "1436": {
- "jump": "i",
- "offset": [
- 2802,
- 2832
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1437": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 2802,
- 2832
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1438": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4830,
- 4855
- ],
- "op": "PUSH2",
- "path": "0",
- "statement": 7,
- "value": "0x5A7"
- },
- "1441": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4841,
- 4845
- ],
- "op": "DUP4",
- "path": "0"
- },
- "1442": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4847,
- 4854
- ],
- "op": "DUP4",
- "path": "0"
- },
- "1443": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4830,
- 4840
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x9C9"
- },
- "1446": {
- "fn": "AccessControlUpgradeable.grantRole",
- "jump": "i",
- "offset": [
- 4830,
- 4855
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1447": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4830,
- 4855
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1448": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "POP",
- "path": "0"
- },
- "1449": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "POP",
- "path": "0"
- },
- "1450": {
- "fn": "AccessControlUpgradeable.grantRole",
- "offset": [
- 4717,
- 4862
- ],
- "op": "POP",
- "path": "0"
- },
- "1451": {
- "fn": "AccessControlUpgradeable.grantRole",
- "jump": "o",
- "offset": [
- 4717,
- 4862
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1452": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1453": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "1455": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "1457": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "1459": {
- "op": "SHL"
- },
- "1460": {
- "op": "SUB"
- },
- "1461": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5829,
- 5852
- ],
- "op": "DUP2",
- "path": "0",
- "statement": 8
- },
- "1462": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5829,
- 5852
- ],
- "op": "AND",
- "path": "0"
- },
- "1463": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 929,
- 939
- ],
- "op": "CALLER",
- "path": "4"
- },
- "1464": {
- "branch": 50,
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5829,
- 5852
- ],
- "op": "EQ",
- "path": "0"
- },
- "1465": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x61C"
- },
- "1468": {
- "branch": 50,
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "1469": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "1471": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "MLOAD",
- "path": "0"
- },
- "1472": {
- "op": "PUSH3",
- "value": "0x461BCD"
- },
- "1476": {
- "op": "PUSH1",
- "value": "0xE5"
- },
- "1478": {
- "op": "SHL"
- },
- "1479": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "DUP2",
- "path": "0"
- },
- "1480": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "1481": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "1483": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x4"
- },
- "1485": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "DUP3",
- "path": "0"
- },
- "1486": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "ADD",
- "path": "0"
- },
- "1487": {
- "op": "MSTORE"
- },
- "1488": {
- "op": "PUSH1",
- "value": "0x2F"
- },
- "1490": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "1492": {
- "op": "DUP3"
- },
- "1493": {
- "op": "ADD"
- },
- "1494": {
- "op": "MSTORE"
- },
- "1495": {
- "op": "PUSH32",
- "value": "0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365"
- },
- "1528": {
- "op": "PUSH1",
- "value": "0x44"
- },
- "1530": {
- "op": "DUP3"
- },
- "1531": {
- "op": "ADD"
- },
- "1532": {
- "op": "MSTORE"
- },
- "1533": {
- "op": "PUSH15",
- "value": "0x103937B632B9903337B91039B2B633"
- },
- "1549": {
- "op": "PUSH1",
- "value": "0x89"
- },
- "1551": {
- "op": "SHL"
- },
- "1552": {
- "op": "PUSH1",
- "value": "0x64"
- },
- "1554": {
- "op": "DUP3"
- },
- "1555": {
- "op": "ADD"
- },
- "1556": {
- "op": "MSTORE"
- },
- "1557": {
- "op": "PUSH1",
- "value": "0x84"
- },
- "1559": {
- "op": "ADD"
- },
- "1560": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x53B"
- },
- "1563": {
- "op": "JUMP"
- },
- "1564": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5821,
- 5904
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1565": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5915,
- 5941
- ],
- "op": "PUSH2",
- "path": "0",
- "statement": 9,
- "value": "0x626"
- },
- "1568": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5927,
- 5931
- ],
- "op": "DUP3",
- "path": "0"
- },
- "1569": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5933,
- 5940
- ],
- "op": "DUP3",
- "path": "0"
- },
- "1570": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5915,
- 5926
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xA4F"
- },
- "1573": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "jump": "i",
- "offset": [
- 5915,
- 5941
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1574": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5915,
- 5941
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1575": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "POP",
- "path": "0"
- },
- "1576": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "offset": [
- 5734,
- 5948
- ],
- "op": "POP",
- "path": "0"
- },
- "1577": {
- "fn": "AccessControlUpgradeable.renounceRole",
- "jump": "o",
- "offset": [
- 5734,
- 5948
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1578": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4266,
- 4387
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1579": {
- "offset": [
- 359,
- 397
- ],
- "op": "PUSH32",
- "path": "30",
- "value": "0x637CA263F44C0A7E4A3B057E26C82C5667C084AA950864A2916355C481F6A097"
- },
- "1612": {
- "offset": [
- 2802,
- 2832
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x655"
- },
- "1615": {
- "offset": [
- 359,
- 397
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1616": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 929,
- 939
- ],
- "op": "CALLER",
- "path": "4"
- },
- "1617": {
- "offset": [
- 2802,
- 2812
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x965"
- },
- "1620": {
- "jump": "i",
- "offset": [
- 2802,
- 2832
- ],
- "op": "JUMP",
- "path": "0"
- },
- "1621": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 2802,
- 2832
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "1622": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4353,
- 4380
- ],
- "op": "PUSH2",
- "path": "30",
- "statement": 10,
- "value": "0x626"
- },
- "1625": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4365,
- 4379
- ],
- "op": "DUP3",
- "path": "30"
- },
- "1626": {
- "fn": "SubscriptionManager.setFeeRate",
- "offset": [
- 4353,
- 4364
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xAB6"
- },
- "1629": {
- "fn": "SubscriptionManager.setFeeRate",
- "jump": "i",
- "offset": [
- 4353,
- 4380
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1630": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1631": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2211,
- 2224
- ],
- "op": "DUP1",
- "path": "30",
- "statement": 11
- },
- "1632": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2224
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xFFFFFFFF"
- },
- "1637": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2224
- ],
- "op": "AND",
- "path": "30"
- },
- "1638": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2208
- ],
- "op": "DUP3",
- "path": "30"
- },
- "1639": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2224
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xFFFFFFFF"
- },
- "1644": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2224
- ],
- "op": "AND",
- "path": "30"
- },
- "1645": {
- "branch": 41,
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2224
- ],
- "op": "LT",
- "path": "30"
- },
- "1646": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2259
- ],
- "op": "DUP1",
- "path": "30"
- },
- "1647": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2259
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "1648": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2259
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x67E"
- },
- "1651": {
- "branch": 41,
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2259
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "1652": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2259
- ],
- "op": "POP",
- "path": "30"
- },
- "1653": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2246,
- 2259
- ],
- "op": "DUP1",
- "path": "30"
- },
- "1654": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2228,
- 2259
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xFFFFFFFF"
- },
- "1659": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2228,
- 2259
- ],
- "op": "AND",
- "path": "30"
- },
- "1660": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2228,
- 2243
- ],
- "op": "TIMESTAMP",
- "path": "30"
- },
- "1661": {
- "branch": 42,
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2228,
- 2259
- ],
- "op": "LT",
- "path": "30"
- },
- "1662": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2193,
- 2259
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1663": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x6BF"
- },
- "1666": {
- "branch": 42,
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "1667": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "1669": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "1670": {
- "op": "PUSH3",
- "value": "0x461BCD"
- },
- "1674": {
- "op": "PUSH1",
- "value": "0xE5"
- },
- "1676": {
- "op": "SHL"
- },
- "1677": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1678": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "1679": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "1681": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "1683": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "DUP3",
- "path": "30"
- },
- "1684": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "ADD",
- "path": "30"
- },
- "1685": {
- "op": "MSTORE"
- },
- "1686": {
- "op": "PUSH1",
- "value": "0x12"
- },
- "1688": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "1690": {
- "op": "DUP3"
- },
- "1691": {
- "op": "ADD"
- },
- "1692": {
- "op": "MSTORE"
- },
- "1693": {
- "op": "PUSH18",
- "value": "0x496E76616C69642074696D657374616D7073"
- },
- "1712": {
- "op": "PUSH1",
- "value": "0x70"
- },
- "1714": {
- "op": "SHL"
- },
- "1715": {
- "op": "PUSH1",
- "value": "0x44"
- },
- "1717": {
- "op": "DUP3"
- },
- "1718": {
- "op": "ADD"
- },
- "1719": {
- "op": "MSTORE"
- },
- "1720": {
- "op": "PUSH1",
- "value": "0x64"
- },
- "1722": {
- "op": "ADD"
- },
- "1723": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x53B"
- },
- "1726": {
- "op": "JUMP"
- },
- "1727": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2172,
- 2303
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1728": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2347,
- 2399
- ],
- "op": "PUSH2",
- "path": "30",
- "statement": 12,
- "value": "0x6CA"
- },
- "1731": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2361,
- 2366
- ],
- "op": "DUP4",
- "path": "30"
- },
- "1732": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2368,
- 2383
- ],
- "op": "DUP4",
- "path": "30"
- },
- "1733": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2385,
- 2398
- ],
- "op": "DUP4",
- "path": "30"
- },
- "1734": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2347,
- 2360
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x723"
- },
- "1737": {
- "fn": "SubscriptionManager.createPolicy",
- "jump": "i",
- "offset": [
- 2347,
- 2399
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1738": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2347,
- 2399
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1739": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2334,
- 2343
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "1740": {
- "branch": 43,
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2334,
- 2399
- ],
- "op": "EQ",
- "path": "30"
- },
- "1741": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x70E"
- },
- "1744": {
- "branch": 43,
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "1745": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "1747": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "1748": {
- "op": "PUSH3",
- "value": "0x461BCD"
- },
- "1752": {
- "op": "PUSH1",
- "value": "0xE5"
- },
- "1754": {
- "op": "SHL"
- },
- "1755": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1756": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "1757": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "1759": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "1761": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "DUP3",
- "path": "30"
- },
- "1762": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "ADD",
- "path": "30"
- },
- "1763": {
- "op": "MSTORE"
- },
- "1764": {
- "op": "PUSH1",
- "value": "0x13"
- },
- "1766": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "1768": {
- "op": "DUP3"
- },
- "1769": {
- "op": "ADD"
- },
- "1770": {
- "op": "MSTORE"
- },
- "1771": {
- "op": "PUSH19",
- "value": "0x125B9D985B1A59081C1BDB1A58DE4818DBDCDD"
- },
- "1791": {
- "op": "PUSH1",
- "value": "0x6A"
- },
- "1793": {
- "op": "SHL"
- },
- "1794": {
- "op": "PUSH1",
- "value": "0x44"
- },
- "1796": {
- "op": "DUP3"
- },
- "1797": {
- "op": "ADD"
- },
- "1798": {
- "op": "MSTORE"
- },
- "1799": {
- "op": "PUSH1",
- "value": "0x64"
- },
- "1801": {
- "op": "ADD"
- },
- "1802": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x53B"
- },
- "1805": {
- "op": "JUMP"
- },
- "1806": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2313,
- 2444
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1807": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2455,
- 2532
- ],
- "op": "PUSH2",
- "path": "30",
- "statement": 13,
- "value": "0x71B"
- },
- "1810": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2469,
- 2478
- ],
- "op": "DUP6",
- "path": "30"
- },
- "1811": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2480,
- 2492
- ],
- "op": "DUP6",
- "path": "30"
- },
- "1812": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2494,
- 2499
- ],
- "op": "DUP6",
- "path": "30"
- },
- "1813": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2501,
- 2516
- ],
- "op": "DUP6",
- "path": "30"
- },
- "1814": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2518,
- 2531
- ],
- "op": "DUP6",
- "path": "30"
- },
- "1815": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2455,
- 2468
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xAFB"
- },
- "1818": {
- "fn": "SubscriptionManager.createPolicy",
- "jump": "i",
- "offset": [
- 2455,
- 2532
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1819": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2455,
- 2532
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1820": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 2455,
- 2532
- ],
- "op": "POP",
- "path": "30"
- },
- "1821": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "POP",
- "path": "30"
- },
- "1822": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "POP",
- "path": "30"
- },
- "1823": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "POP",
- "path": "30"
- },
- "1824": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "POP",
- "path": "30"
- },
- "1825": {
- "fn": "SubscriptionManager.createPolicy",
- "offset": [
- 1964,
- 2539
- ],
- "op": "POP",
- "path": "30"
- },
- "1826": {
- "fn": "SubscriptionManager.createPolicy",
- "jump": "o",
- "offset": [
- 1964,
- 2539
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1827": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1828": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1737,
- 1744
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "1830": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1737,
- 1744
- ],
- "op": "DUP1",
- "path": "30"
- },
- "1831": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1773,
- 1804
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x730"
- },
- "1834": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1789,
- 1804
- ],
- "op": "DUP5",
- "path": "30"
- },
- "1835": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1773,
- 1786
- ],
- "op": "DUP5",
- "path": "30"
- },
- "1836": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1773,
- 1804
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x1013"
- },
- "1839": {
- "fn": "SubscriptionManager.getPolicyCost",
- "jump": "i",
- "offset": [
- 1773,
- 1804
- ],
- "op": "JUMP",
- "path": "30"
- },
- "1840": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1773,
- 1804
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1841": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1755,
- 1804
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "1842": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1755,
- 1804
- ],
- "op": "POP",
- "path": "30"
- },
- "1843": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1833,
- 1834
- ],
- "op": "PUSH1",
- "path": "30",
- "statement": 14,
- "value": "0x0"
- },
- "1845": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1822,
- 1830
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1846": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1822,
- 1834
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xFFFFFFFF"
- },
- "1851": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1822,
- 1834
- ],
- "op": "AND",
- "path": "30"
- },
- "1852": {
- "branch": 44,
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1822,
- 1834
- ],
- "op": "GT",
- "path": "30"
- },
- "1853": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x77D"
- },
- "1856": {
- "branch": 44,
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "1857": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "1859": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "1860": {
- "op": "PUSH3",
- "value": "0x461BCD"
- },
- "1864": {
- "op": "PUSH1",
- "value": "0xE5"
- },
- "1866": {
- "op": "SHL"
- },
- "1867": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1868": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "1869": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "1871": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "1873": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "DUP3",
- "path": "30"
- },
- "1874": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "ADD",
- "path": "30"
- },
- "1875": {
- "op": "MSTORE"
- },
- "1876": {
- "op": "PUSH1",
- "value": "0x12"
- },
- "1878": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "1880": {
- "op": "DUP3"
- },
- "1881": {
- "op": "ADD"
- },
- "1882": {
- "op": "MSTORE"
- },
- "1883": {
- "op": "PUSH18",
- "value": "0x496E76616C69642074696D657374616D7073"
- },
- "1902": {
- "op": "PUSH1",
- "value": "0x70"
- },
- "1904": {
- "op": "SHL"
- },
- "1905": {
- "op": "PUSH1",
- "value": "0x44"
- },
- "1907": {
- "op": "DUP3"
- },
- "1908": {
- "op": "ADD"
- },
- "1909": {
- "op": "MSTORE"
- },
- "1910": {
- "op": "PUSH1",
- "value": "0x64"
- },
- "1912": {
- "op": "ADD"
- },
- "1913": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x53B"
- },
- "1916": {
- "op": "JUMP"
- },
- "1917": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1814,
- 1857
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1918": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1883,
- 1884
- ],
- "op": "PUSH1",
- "path": "30",
- "statement": 15,
- "value": "0x0"
- },
- "1920": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1875,
- 1880
- ],
- "op": "DUP6",
- "path": "30"
- },
- "1921": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1875,
- 1884
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xFFFF"
- },
- "1924": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1875,
- 1884
- ],
- "op": "AND",
- "path": "30"
- },
- "1925": {
- "branch": 45,
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1875,
- 1884
- ],
- "op": "GT",
- "path": "30"
- },
- "1926": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x7C7"
- },
- "1929": {
- "branch": 45,
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "1930": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "1932": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "1933": {
- "op": "PUSH3",
- "value": "0x461BCD"
- },
- "1937": {
- "op": "PUSH1",
- "value": "0xE5"
- },
- "1939": {
- "op": "SHL"
- },
- "1940": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "DUP2",
- "path": "30"
- },
- "1941": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "1942": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "1944": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "1946": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "DUP3",
- "path": "30"
- },
- "1947": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "ADD",
- "path": "30"
- },
- "1948": {
- "op": "MSTORE"
- },
- "1949": {
- "op": "PUSH1",
- "value": "0x13"
- },
- "1951": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "1953": {
- "op": "DUP3"
- },
- "1954": {
- "op": "ADD"
- },
- "1955": {
- "op": "MSTORE"
- },
- "1956": {
- "op": "PUSH19",
- "value": "0x496E76616C696420706F6C6963792073697A65"
- },
- "1976": {
- "op": "PUSH1",
- "value": "0x68"
- },
- "1978": {
- "op": "SHL"
- },
- "1979": {
- "op": "PUSH1",
- "value": "0x44"
- },
- "1981": {
- "op": "DUP3"
- },
- "1982": {
- "op": "ADD"
- },
- "1983": {
- "op": "MSTORE"
- },
- "1984": {
- "op": "PUSH1",
- "value": "0x64"
- },
- "1986": {
- "op": "ADD"
- },
- "1987": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x53B"
- },
- "1990": {
- "op": "JUMP"
- },
- "1991": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1867,
- 1908
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "1992": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1943,
- 1951
- ],
- "op": "DUP1",
- "path": "30",
- "statement": 16
- },
- "1993": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1951
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xFFFFFFFF"
- },
- "1998": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1951
- ],
- "op": "AND",
- "path": "30"
- },
- "1999": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1935,
- 1940
- ],
- "op": "DUP6",
- "path": "30"
- },
- "2000": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1940
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xFFFF"
- },
- "2003": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1940
- ],
- "op": "AND",
- "path": "30"
- },
- "2004": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1932
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x97"
- },
- "2006": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1932
- ],
- "op": "SLOAD",
- "path": "30"
- },
- "2007": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1940
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x7E0"
- },
- "2010": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1940
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "2011": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1940
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "2012": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1940
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x1038"
- },
- "2015": {
- "fn": "SubscriptionManager.getPolicyCost",
- "jump": "i",
- "offset": [
- 1925,
- 1940
- ],
- "op": "JUMP",
- "path": "30"
- },
- "2016": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1940
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "2017": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1951
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x7EA"
- },
- "2020": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1951
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "2021": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1951
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "2022": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1951
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x1038"
- },
- "2025": {
- "fn": "SubscriptionManager.getPolicyCost",
- "jump": "i",
- "offset": [
- 1925,
- 1951
- ],
- "op": "JUMP",
- "path": "30"
- },
- "2026": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1925,
- 1951
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "2027": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1918,
- 1951
- ],
- "op": "SWAP6",
- "path": "30"
- },
- "2028": {
- "fn": "SubscriptionManager.getPolicyCost",
- "offset": [
- 1603,
- 1958
- ],
- "op": "SWAP5",
- "path": "30"
- },
- "2029": {
- "op": "POP"
- },
- "2030": {
- "op": "POP"
- },
- "2031": {
- "op": "POP"
- },
- "2032": {
- "op": "POP"
- },
- "2033": {
- "op": "POP"
- },
- "2034": {
- "fn": "SubscriptionManager.getPolicyCost",
- "jump": "o",
- "offset": [
- 1603,
- 1958
- ],
- "op": "JUMP",
- "path": "30"
- },
- "2035": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3217,
- 3362
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2036": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3303,
- 3307
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "2038": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "SWAP2",
- "path": "0",
- "statement": 17
- },
- "2039": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2040": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2041": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3332
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x65"
- },
- "2043": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x20"
- },
- "2045": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2046": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2047": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2048": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "2050": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "DUP1",
- "path": "0"
- },
- "2051": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "DUP5",
- "path": "0"
- },
- "2052": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3338
- ],
- "op": "KECCAK256",
- "path": "0"
- },
- "2053": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2055": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2057": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "2059": {
- "op": "SHL"
- },
- "2060": {
- "op": "SUB"
- },
- "2061": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "SWAP4",
- "path": "0"
- },
- "2062": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2063": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "SWAP4",
- "path": "0"
- },
- "2064": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "AND",
- "path": "0"
- },
- "2065": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "DUP5",
- "path": "0"
- },
- "2066": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2067": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "SWAP2",
- "path": "0"
- },
- "2068": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2069": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2070": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2071": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "KECCAK256",
- "path": "0"
- },
- "2072": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "SLOAD",
- "path": "0"
- },
- "2073": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0xFF"
- },
- "2075": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "AND",
- "path": "0"
- },
- "2076": {
- "fn": "AccessControlUpgradeable.hasRole",
- "offset": [
- 3326,
- 3355
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2077": {
- "fn": "AccessControlUpgradeable.hasRole",
- "jump": "o",
- "offset": [
- 3217,
- 3362
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2078": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5096,
- 5243
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2079": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4412,
- 4419
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "2081": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2082": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2083": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2084": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4444
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x65"
- },
- "2086": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x20"
- },
- "2088": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2089": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "2091": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2092": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4450
- ],
- "op": "KECCAK256",
- "path": "0"
- },
- "2093": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4460
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x1"
- },
- "2095": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4460
- ],
- "op": "ADD",
- "path": "0"
- },
- "2096": {
- "fn": "AccessControlUpgradeable.getRoleAdmin",
- "offset": [
- 4438,
- 4460
- ],
- "op": "SLOAD",
- "path": "0"
- },
- "2097": {
- "offset": [
- 2802,
- 2832
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x83A"
- },
- "2100": {
- "offset": [
- 2813,
- 2817
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2101": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 929,
- 939
- ],
- "op": "CALLER",
- "path": "4"
- },
- "2102": {
- "offset": [
- 2802,
- 2812
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x965"
- },
- "2105": {
- "jump": "i",
- "offset": [
- 2802,
- 2832
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2106": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 2802,
- 2832
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2107": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5210,
- 5236
- ],
- "op": "PUSH2",
- "path": "0",
- "statement": 18,
- "value": "0x5A7"
- },
- "2110": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5222,
- 5226
- ],
- "op": "DUP4",
- "path": "0"
- },
- "2111": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5228,
- 5235
- ],
- "op": "DUP4",
- "path": "0"
- },
- "2112": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "offset": [
- 5210,
- 5221
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xA4F"
- },
- "2115": {
- "fn": "AccessControlUpgradeable.revokeRole",
- "jump": "i",
- "offset": [
- 5210,
- 5236
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2116": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "2117": {
- "offset": [
- 2369,
- 2382
- ],
- "op": "PUSH1",
- "path": "2",
- "value": "0x0"
- },
- "2119": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2369,
- 2382
- ],
- "op": "SLOAD",
- "path": "2"
- },
- "2120": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2369,
- 2382
- ],
- "op": "PUSH2",
- "path": "2",
- "value": "0x100"
- },
- "2123": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2369,
- 2382
- ],
- "op": "SWAP1",
- "path": "2"
- },
- "2124": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2369,
- 2382
- ],
- "op": "DIV",
- "path": "2"
- },
- "2125": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2369,
- 2382
- ],
- "op": "PUSH1",
- "path": "2",
- "value": "0xFF"
- },
- "2127": {
- "branch": 54,
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2369,
- 2382
- ],
- "op": "AND",
- "path": "2"
- },
- "2128": {
- "offset": [
- 2369,
- 2417
- ],
- "op": "PUSH2",
- "path": "2",
- "value": "0x85F"
- },
- "2131": {
- "branch": 54,
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2369,
- 2417
- ],
- "op": "JUMPI",
- "path": "2"
- },
- "2132": {
- "offset": [
- 2405,
- 2417
- ],
- "op": "PUSH1",
- "path": "2",
- "value": "0x0"
- },
- "2134": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2405,
- 2417
- ],
- "op": "SLOAD",
- "path": "2"
- },
- "2135": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2405,
- 2417
- ],
- "op": "PUSH1",
- "path": "2",
- "value": "0xFF"
- },
- "2137": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2405,
- 2417
- ],
- "op": "AND",
- "path": "2"
- },
- "2138": {
- "offset": [
- 2404,
- 2417
- ],
- "op": "ISZERO",
- "path": "2"
- },
- "2139": {
- "offset": [
- 2369,
- 2417
- ],
- "op": "PUSH2",
- "path": "2",
- "value": "0x863"
- },
- "2142": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2369,
- 2417
- ],
- "op": "JUMP",
- "path": "2"
- },
- "2143": {
- "branch": 55,
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2369,
- 2417
- ],
- "op": "JUMPDEST",
- "path": "2"
- },
- "2144": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 3147,
- 3151
- ],
- "op": "ADDRESS",
- "path": "2",
- "statement": 19
- },
- "2145": {
- "op": "EXTCODESIZE"
- },
- "2146": {
- "op": "ISZERO"
- },
- "2147": {
- "offset": [
- 2385,
- 2401
- ],
- "op": "JUMPDEST",
- "path": "2"
- },
- "2148": {
- "offset": [
- 2361,
- 2468
- ],
- "op": "PUSH2",
- "path": "2",
- "value": "0x8C6"
- },
- "2151": {
- "branch": 55,
- "offset": [
- 2361,
- 2468
- ],
- "op": "JUMPI",
- "path": "2"
- },
- "2152": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2361,
- 2468
- ],
- "op": "PUSH1",
- "path": "2",
- "value": "0x40"
- },
- "2154": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2361,
- 2468
- ],
- "op": "MLOAD",
- "path": "2"
- },
- "2155": {
- "op": "PUSH3",
- "value": "0x461BCD"
- },
- "2159": {
- "op": "PUSH1",
- "value": "0xE5"
- },
- "2161": {
- "op": "SHL"
- },
- "2162": {
- "offset": [
- 2361,
- 2468
- ],
- "op": "DUP2",
- "path": "2"
- },
- "2163": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2361,
- 2468
- ],
- "op": "MSTORE",
- "path": "2"
- },
- "2164": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "2166": {
- "offset": [
- 2361,
- 2468
- ],
- "op": "PUSH1",
- "path": "2",
- "value": "0x4"
- },
- "2168": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2361,
- 2468
- ],
- "op": "DUP3",
- "path": "2"
- },
- "2169": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2361,
- 2468
- ],
- "op": "ADD",
- "path": "2"
- },
- "2170": {
- "op": "MSTORE"
- },
- "2171": {
- "op": "PUSH1",
- "value": "0x2E"
- },
- "2173": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "2175": {
- "op": "DUP3"
- },
- "2176": {
- "op": "ADD"
- },
- "2177": {
- "op": "MSTORE"
- },
- "2178": {
- "op": "PUSH32",
- "value": "0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561"
- },
- "2211": {
- "op": "PUSH1",
- "value": "0x44"
- },
- "2213": {
- "op": "DUP3"
- },
- "2214": {
- "op": "ADD"
- },
- "2215": {
- "op": "MSTORE"
- },
- "2216": {
- "op": "PUSH14",
- "value": "0x191E481A5B9A5D1A585B1A5E9959"
- },
- "2231": {
- "op": "PUSH1",
- "value": "0x92"
- },
- "2233": {
- "op": "SHL"
- },
- "2234": {
- "op": "PUSH1",
- "value": "0x64"
- },
- "2236": {
- "op": "DUP3"
- },
- "2237": {
- "op": "ADD"
- },
- "2238": {
- "op": "MSTORE"
- },
- "2239": {
- "op": "PUSH1",
- "value": "0x84"
- },
- "2241": {
- "op": "ADD"
- },
- "2242": {
- "offset": [
- 2361,
- 2468
- ],
- "op": "PUSH2",
- "path": "2",
- "value": "0x53B"
- },
- "2245": {
- "op": "JUMP"
- },
- "2246": {
- "offset": [
- 2361,
- 2468
- ],
- "op": "JUMPDEST",
- "path": "2"
- },
- "2247": {
- "offset": [
- 2479,
- 2498
- ],
- "op": "PUSH1",
- "path": "2",
- "value": "0x0"
- },
- "2249": {
- "offset": [
- 2502,
- 2515
- ],
- "op": "SLOAD",
- "path": "2"
- },
- "2250": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2502,
- 2515
- ],
- "op": "PUSH2",
- "path": "2",
- "value": "0x100"
- },
- "2253": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2502,
- 2515
- ],
- "op": "SWAP1",
- "path": "2"
- },
- "2254": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2502,
- 2515
- ],
- "op": "DIV",
- "path": "2"
- },
- "2255": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2502,
- 2515
- ],
- "op": "PUSH1",
- "path": "2",
- "value": "0xFF"
- },
- "2257": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2502,
- 2515
- ],
- "op": "AND",
- "path": "2"
- },
- "2258": {
- "offset": [
- 2501,
- 2515
- ],
- "op": "ISZERO",
- "path": "2"
- },
- "2259": {
- "offset": [
- 2525,
- 2623
- ],
- "op": "DUP1",
- "path": "2"
- },
- "2260": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2525,
- 2623
- ],
- "op": "ISZERO",
- "path": "2"
- },
- "2261": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2525,
- 2623
- ],
- "op": "PUSH2",
- "path": "2",
- "value": "0x8E8"
- },
- "2264": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2525,
- 2623
- ],
- "op": "JUMPI",
- "path": "2"
- },
- "2265": {
- "offset": [
- 2559,
- 2572
- ],
- "op": "PUSH1",
- "path": "2",
- "value": "0x0"
- },
- "2267": {
- "offset": [
- 2559,
- 2579
- ],
- "op": "DUP1",
- "path": "2"
- },
- "2268": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2559,
- 2579
- ],
- "op": "SLOAD",
- "path": "2"
- },
- "2269": {
- "op": "PUSH2",
- "value": "0xFFFF"
- },
- "2272": {
- "op": "NOT"
- },
- "2273": {
- "offset": [
- 2593,
- 2612
- ],
- "op": "AND",
- "path": "2"
- },
- "2274": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2593,
- 2612
- ],
- "op": "PUSH2",
- "path": "2",
- "value": "0x101"
- },
- "2277": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2593,
- 2612
- ],
- "op": "OR",
- "path": "2"
- },
- "2278": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2593,
- 2612
- ],
- "op": "SWAP1",
- "path": "2"
- },
- "2279": {
- "fn": "Initializable._isConstructor",
- "offset": [
- 2593,
- 2612
- ],
- "op": "SSTORE",
- "path": "2"
- },
- "2280": {
- "offset": [
- 2525,
- 2623
- ],
- "op": "JUMPDEST",
- "path": "2"
- },
- "2281": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1423,
- 1444
- ],
- "op": "PUSH2",
- "path": "30",
- "statement": 20,
- "value": "0x8F1"
- },
- "2284": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1435,
- 1443
- ],
- "op": "DUP3",
- "path": "30"
- },
- "2285": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1423,
- 1434
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xAB6"
- },
- "2288": {
- "fn": "SubscriptionManager.initialize",
- "jump": "i",
- "offset": [
- 1423,
- 1444
- ],
- "op": "JUMP",
- "path": "30"
- },
- "2289": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1423,
- 1444
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "2290": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1454,
- 1491
- ],
- "op": "PUSH2",
- "path": "30",
- "statement": 21,
- "value": "0x91B"
- },
- "2293": {
- "offset": [
- 359,
- 397
- ],
- "op": "PUSH32",
- "path": "30",
- "value": "0x637CA263F44C0A7E4A3B057E26C82C5667C084AA950864A2916355C481F6A097"
- },
- "2326": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1480,
- 1490
- ],
- "op": "CALLER",
- "path": "30"
- },
- "2327": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1454,
- 1464
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xCA0"
- },
- "2330": {
- "fn": "SubscriptionManager.initialize",
- "jump": "i",
- "offset": [
- 1454,
- 1491
- ],
- "op": "JUMP",
- "path": "30"
- },
- "2331": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1454,
- 1491
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "2332": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1501,
- 1538
- ],
- "op": "PUSH2",
- "path": "30",
- "statement": 22,
- "value": "0x945"
- },
- "2335": {
- "offset": [
- 452,
- 513
- ],
- "op": "PUSH32",
- "path": "30",
- "value": "0xC1F0C13D12A4CA09AADA5725E24C49160E8F198A4CA0D2BD4DAFC9C5C12E6A35"
- },
- "2368": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1527,
- 1537
- ],
- "op": "CALLER",
- "path": "30"
- },
- "2369": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1501,
- 1511
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xCA0"
- },
- "2372": {
- "fn": "SubscriptionManager.initialize",
- "jump": "i",
- "offset": [
- 1501,
- 1538
- ],
- "op": "JUMP",
- "path": "30"
- },
- "2373": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1501,
- 1538
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "2374": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1548,
- 1590
- ],
- "op": "PUSH2",
- "path": "30",
- "statement": 23,
- "value": "0x950"
- },
- "2377": {
- "offset": [
- 2369,
- 2373
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x0"
- },
- "2379": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1579,
- 1589
- ],
- "op": "CALLER",
- "path": "30"
- },
- "2380": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1548,
- 1558
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xCA0"
- },
- "2383": {
- "fn": "SubscriptionManager.initialize",
- "jump": "i",
- "offset": [
- 1548,
- 1590
- ],
- "op": "JUMP",
- "path": "30"
- },
- "2384": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1548,
- 1590
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "2385": {
- "offset": [
- 2649,
- 2663
- ],
- "op": "DUP1",
- "path": "2"
- },
- "2386": {
- "offset": [
- 2645,
- 2711
- ],
- "op": "ISZERO",
- "path": "2"
- },
- "2387": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2645,
- 2711
- ],
- "op": "PUSH2",
- "path": "2",
- "value": "0x626"
- },
- "2390": {
- "offset": [
- 2645,
- 2711
- ],
- "op": "JUMPI",
- "path": "2"
- },
- "2391": {
- "offset": [
- 2695,
- 2700
- ],
- "op": "PUSH1",
- "path": "2",
- "value": "0x0"
- },
- "2393": {
- "offset": [
- 2679,
- 2700
- ],
- "op": "DUP1",
- "path": "2"
- },
- "2394": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2679,
- 2700
- ],
- "op": "SLOAD",
- "path": "2"
- },
- "2395": {
- "op": "PUSH2",
- "value": "0xFF00"
- },
- "2398": {
- "op": "NOT"
- },
- "2399": {
- "offset": [
- 2679,
- 2700
- ],
- "op": "AND",
- "path": "2"
- },
- "2400": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2679,
- 2700
- ],
- "op": "SWAP1",
- "path": "2"
- },
- "2401": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 2679,
- 2700
- ],
- "op": "SSTORE",
- "path": "2"
- },
- "2402": {
- "offset": [
- 2080,
- 2717
- ],
- "op": "POP",
- "path": "2"
- },
- "2403": {
- "fn": "SubscriptionManager.initialize",
- "offset": [
- 1356,
- 1597
- ],
- "op": "POP",
- "path": "30"
- },
- "2404": {
- "fn": "SubscriptionManager.initialize",
- "jump": "o",
- "offset": [
- 1356,
- 1597
- ],
- "op": "JUMP",
- "path": "30"
- },
- "2405": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3643,
- 4157
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2406": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3731,
- 3753
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x96F"
- },
- "2409": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3739,
- 3743
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2410": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3745,
- 3752
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2411": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3731,
- 3738
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x7F3"
- },
- "2414": {
- "fn": "AccessControlUpgradeable._checkRole",
- "jump": "i",
- "offset": [
- 3731,
- 3753
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2415": {
- "branch": 51,
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3731,
- 3753
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2416": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3726,
- 4151
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x626"
- },
- "2419": {
- "branch": 51,
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3726,
- 4151
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "2420": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3914,
- 3966
- ],
- "op": "PUSH2",
- "path": "0",
- "statement": 24,
- "value": "0x987"
- },
- "2423": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3953,
- 3960
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2424": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2426": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2428": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "2430": {
- "op": "SHL"
- },
- "2431": {
- "op": "SUB"
- },
- "2432": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3914,
- 3966
- ],
- "op": "AND",
- "path": "0"
- },
- "2433": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3963,
- 3965
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x14"
- },
- "2435": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3914,
- 3944
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xCAA"
- },
- "2438": {
- "fn": "AccessControlUpgradeable._checkRole",
- "jump": "i",
- "offset": [
- 3914,
- 3966
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2439": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3914,
- 3966
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2440": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 4037,
- 4086
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x992"
- },
- "2443": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 4076,
- 4080
- ],
- "op": "DUP4",
- "path": "0"
- },
- "2444": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 4083,
- 4085
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x20"
- },
- "2446": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 4037,
- 4067
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xCAA"
- },
- "2449": {
- "fn": "AccessControlUpgradeable._checkRole",
- "jump": "i",
- "offset": [
- 4037,
- 4086
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2450": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 4037,
- 4086
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2451": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "2453": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "MLOAD",
- "path": "0"
- },
- "2454": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x20"
- },
- "2456": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "ADD",
- "path": "0"
- },
- "2457": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x9A3"
- },
- "2460": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "SWAP3",
- "path": "0"
- },
- "2461": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "SWAP2",
- "path": "0"
- },
- "2462": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2463": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x1083"
- },
- "2466": {
- "fn": "AccessControlUpgradeable._checkRole",
- "jump": "i",
- "offset": [
- 3821,
- 4108
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2467": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2468": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "2470": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "DUP1",
- "path": "0"
- },
- "2471": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "MLOAD",
- "path": "0"
- },
- "2472": {
- "op": "PUSH1",
- "value": "0x1F"
- },
- "2474": {
- "op": "NOT"
- },
- "2475": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2476": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "DUP5",
- "path": "0"
- },
- "2477": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "SUB",
- "path": "0"
- },
- "2478": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "ADD",
- "path": "0"
- },
- "2479": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2480": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2481": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2482": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2483": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2484": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3821,
- 4108
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2485": {
- "op": "PUSH3",
- "value": "0x461BCD"
- },
- "2489": {
- "op": "PUSH1",
- "value": "0xE5"
- },
- "2491": {
- "op": "SHL"
- },
- "2492": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3769,
- 4140
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2493": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3769,
- 4140
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2494": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3769,
- 4140
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x53B"
- },
- "2497": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3769,
- 4140
- ],
- "op": "SWAP2",
- "path": "0"
- },
- "2498": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3769,
- 4140
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x4"
- },
- "2500": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3769,
- 4140
- ],
- "op": "ADD",
- "path": "0"
- },
- "2501": {
- "fn": "AccessControlUpgradeable._checkRole",
- "offset": [
- 3769,
- 4140
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x10F8"
- },
- "2504": {
- "fn": "AccessControlUpgradeable._checkRole",
- "jump": "i",
- "offset": [
- 3769,
- 4140
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2505": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7191,
- 7424
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2506": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7274,
- 7296
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x9D3"
- },
- "2509": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7282,
- 7286
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2510": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7288,
- 7295
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2511": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7274,
- 7281
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x7F3"
- },
- "2514": {
- "fn": "AccessControlUpgradeable._grantRole",
- "jump": "i",
- "offset": [
- 7274,
- 7296
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2515": {
- "branch": 52,
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7274,
- 7296
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2516": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7269,
- 7418
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x626"
- },
- "2519": {
- "branch": 52,
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7269,
- 7418
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "2520": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "PUSH1",
- "path": "0",
- "statement": 25,
- "value": "0x0"
- },
- "2522": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2523": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2524": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2525": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7318
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x65"
- },
- "2527": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x20"
- },
- "2529": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2530": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2531": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2532": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "2534": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "DUP1",
- "path": "0"
- },
- "2535": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "DUP4",
- "path": "0"
- },
- "2536": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7324
- ],
- "op": "KECCAK256",
- "path": "0"
- },
- "2537": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2539": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2541": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "2543": {
- "op": "SHL"
- },
- "2544": {
- "op": "SUB"
- },
- "2545": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7341
- ],
- "op": "DUP6",
- "path": "0"
- },
- "2546": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7341
- ],
- "op": "AND",
- "path": "0"
- },
- "2547": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7341
- ],
- "op": "DUP5",
- "path": "0"
- },
- "2548": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7341
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2549": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7341
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2550": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7341
- ],
- "op": "SWAP2",
- "path": "0"
- },
- "2551": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7341
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2552": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7341
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2553": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7341
- ],
- "op": "KECCAK256",
- "path": "0"
- },
- "2554": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7348
- ],
- "op": "DUP1",
- "path": "0"
- },
- "2555": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7348
- ],
- "op": "SLOAD",
- "path": "0"
- },
- "2556": {
- "op": "PUSH1",
- "value": "0xFF"
- },
- "2558": {
- "op": "NOT"
- },
- "2559": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7348
- ],
- "op": "AND",
- "path": "0"
- },
- "2560": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7344,
- 7348
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x1"
- },
- "2562": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7348
- ],
- "op": "OR",
- "path": "0"
- },
- "2563": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7348
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2564": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7312,
- 7348
- ],
- "op": "SSTORE",
- "path": "0"
- },
- "2565": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7394,
- 7406
- ],
- "op": "PUSH2",
- "path": "0",
- "statement": 26,
- "value": "0xA0B"
- },
- "2568": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 929,
- 939
- ],
- "op": "CALLER",
- "path": "4"
- },
- "2569": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 929,
- 939
- ],
- "op": "SWAP1",
- "path": "4"
- },
- "2570": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 850,
- 946
- ],
- "op": "JUMP",
- "path": "4"
- },
- "2571": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7394,
- 7406
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2572": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2574": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2576": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "2578": {
- "op": "SHL"
- },
- "2579": {
- "op": "SUB"
- },
- "2580": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "AND",
- "path": "0"
- },
- "2581": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7385,
- 7392
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2582": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2584": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2586": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "2588": {
- "op": "SHL"
- },
- "2589": {
- "op": "SUB"
- },
- "2590": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "AND",
- "path": "0"
- },
- "2591": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7379,
- 7383
- ],
- "op": "DUP4",
- "path": "0"
- },
- "2592": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "PUSH32",
- "path": "0",
- "value": "0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D"
- },
- "2625": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "2627": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "MLOAD",
- "path": "0"
- },
- "2628": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "2630": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "MLOAD",
- "path": "0"
- },
- "2631": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "DUP1",
- "path": "0"
- },
- "2632": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "SWAP2",
- "path": "0"
- },
- "2633": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "SUB",
- "path": "0"
- },
- "2634": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2635": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7367,
- 7407
- ],
- "op": "LOG4",
- "path": "0"
- },
- "2636": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7191,
- 7424
- ],
- "op": "POP",
- "path": "0"
- },
- "2637": {
- "fn": "AccessControlUpgradeable._grantRole",
- "offset": [
- 7191,
- 7424
- ],
- "op": "POP",
- "path": "0"
- },
- "2638": {
- "fn": "AccessControlUpgradeable._grantRole",
- "jump": "o",
- "offset": [
- 7191,
- 7424
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2639": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7549,
- 7783
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2640": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7632,
- 7654
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0xA59"
- },
- "2643": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7640,
- 7644
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2644": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7646,
- 7653
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2645": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7632,
- 7639
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x7F3"
- },
- "2648": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "jump": "i",
- "offset": [
- 7632,
- 7654
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2649": {
- "branch": 53,
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7632,
- 7654
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "2650": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7628,
- 7777
- ],
- "op": "ISZERO",
- "path": "0"
- },
- "2651": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7628,
- 7777
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x626"
- },
- "2654": {
- "branch": 53,
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7628,
- 7777
- ],
- "op": "JUMPI",
- "path": "0"
- },
- "2655": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7702,
- 7707
- ],
- "op": "PUSH1",
- "path": "0",
- "statement": 27,
- "value": "0x0"
- },
- "2657": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "DUP3",
- "path": "0"
- },
- "2658": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2659": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2660": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7676
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x65"
- },
- "2662": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x20"
- },
- "2664": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2665": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "DUP2",
- "path": "0"
- },
- "2666": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2667": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "PUSH1",
- "path": "0",
- "value": "0x40"
- },
- "2669": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "DUP1",
- "path": "0"
- },
- "2670": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "DUP4",
- "path": "0"
- },
- "2671": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "KECCAK256",
- "path": "0"
- },
- "2672": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2674": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2676": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "2678": {
- "op": "SHL"
- },
- "2679": {
- "op": "SUB"
- },
- "2680": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7699
- ],
- "op": "DUP6",
- "path": "0"
- },
- "2681": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7699
- ],
- "op": "AND",
- "path": "0"
- },
- "2682": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7699
- ],
- "op": "DUP1",
- "path": "0"
- },
- "2683": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7699
- ],
- "op": "DUP6",
- "path": "0"
- },
- "2684": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7699
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2685": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7699
- ],
- "op": "SWAP3",
- "path": "0"
- },
- "2686": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7699
- ],
- "op": "MSTORE",
- "path": "0"
- },
- "2687": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7699
- ],
- "op": "DUP1",
- "path": "0"
- },
- "2688": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7699
- ],
- "op": "DUP4",
- "path": "0"
- },
- "2689": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7699
- ],
- "op": "KECCAK256",
- "path": "0"
- },
- "2690": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7707
- ],
- "op": "DUP1",
- "path": "0"
- },
- "2691": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7707
- ],
- "op": "SLOAD",
- "path": "0"
- },
- "2692": {
- "op": "PUSH1",
- "value": "0xFF"
- },
- "2694": {
- "op": "NOT"
- },
- "2695": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7707
- ],
- "op": "AND",
- "path": "0"
- },
- "2696": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7707
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2697": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7707
- ],
- "op": "SSTORE",
- "path": "0"
- },
- "2698": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7726,
- 7766
- ],
- "op": "MLOAD",
- "path": "0",
- "statement": 28
- },
- "2699": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 929,
- 939
- ],
- "op": "CALLER",
- "path": "4"
- },
- "2700": {
- "fn": "ContextUpgradeable._msgSender",
- "offset": [
- 929,
- 939
- ],
- "op": "SWAP3",
- "path": "4"
- },
- "2701": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "DUP6",
- "path": "0"
- },
- "2702": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7670,
- 7682
- ],
- "op": "SWAP2",
- "path": "0"
- },
- "2703": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7726,
- 7766
- ],
- "op": "PUSH32",
- "path": "0",
- "value": "0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B"
- },
- "2736": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7726,
- 7766
- ],
- "op": "SWAP2",
- "path": "0"
- },
- "2737": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7702,
- 7707
- ],
- "op": "SWAP1",
- "path": "0"
- },
- "2738": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7726,
- 7766
- ],
- "op": "LOG4",
- "path": "0"
- },
- "2739": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7549,
- 7783
- ],
- "op": "POP",
- "path": "0"
- },
- "2740": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "offset": [
- 7549,
- 7783
- ],
- "op": "POP",
- "path": "0"
- },
- "2741": {
- "fn": "AccessControlUpgradeable._revokeRole",
- "jump": "o",
- "offset": [
- 7549,
- 7783
- ],
- "op": "JUMP",
- "path": "0"
- },
- "2742": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4102,
- 4260
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "2743": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4175,
- 4182
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x97"
- },
- "2745": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4175,
- 4182
- ],
- "op": "DUP1",
- "path": "30"
- },
- "2746": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4175,
- 4182
- ],
- "op": "SLOAD",
- "path": "30"
- },
- "2747": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4192,
- 4208
- ],
- "op": "SWAP1",
- "path": "30",
- "statement": 29
- },
- "2748": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4192,
- 4208
- ],
- "op": "DUP3",
- "path": "30"
- },
- "2749": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4192,
- 4208
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "2750": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4192,
- 4208
- ],
- "op": "SSTORE",
- "path": "30"
- },
- "2751": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "PUSH1",
- "path": "30",
- "statement": 30,
- "value": "0x40"
- },
- "2753": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "DUP1",
- "path": "30"
- },
- "2754": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "2755": {
- "op": "DUP3"
- },
- "2756": {
- "op": "DUP2"
- },
- "2757": {
- "op": "MSTORE"
- },
- "2758": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "2760": {
- "op": "DUP2"
- },
- "2761": {
- "op": "ADD"
- },
- "2762": {
- "op": "DUP5"
- },
- "2763": {
- "op": "SWAP1"
- },
- "2764": {
- "op": "MSTORE"
- },
- "2765": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "PUSH32",
- "path": "30",
- "value": "0x14914DA2BF76024616FBE1859783FCD4DBDDCB179B1F3A854949FBF920DCB957"
- },
- "2798": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "2799": {
- "op": "ADD"
- },
- "2800": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "2802": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "2803": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "DUP1",
- "path": "30"
- },
- "2804": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "2805": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "SUB",
- "path": "30"
- },
- "2806": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "2807": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4223,
- 4253
- ],
- "op": "LOG1",
- "path": "30"
- },
- "2808": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4148,
- 4260
- ],
- "op": "POP",
- "path": "30"
- },
- "2809": {
- "fn": "SubscriptionManager._setFeeRate",
- "offset": [
- 4102,
- 4260
- ],
- "op": "POP",
- "path": "30"
- },
- "2810": {
- "fn": "SubscriptionManager._setFeeRate",
- "jump": "o",
- "offset": [
- 4102,
- 4260
- ],
- "op": "JUMP",
- "path": "30"
- },
- "2811": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 2890,
- 3825
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "2812": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2814": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2816": {
- "op": "PUSH1",
- "value": "0x80"
- },
- "2818": {
- "op": "SHL"
- },
- "2819": {
- "op": "SUB"
- },
- "2820": {
- "op": "NOT"
- },
- "2821": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3152
- ],
- "op": "DUP6",
- "path": "30",
- "statement": 31
- },
- "2822": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3152
- ],
- "op": "AND",
- "path": "30"
- },
- "2823": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3086,
- 3107
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x0"
- },
- "2825": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3152
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "2826": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3152
- ],
- "op": "DUP2",
- "path": "30"
- },
- "2827": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3152
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "2828": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3141
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x98"
- },
- "2830": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3152
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x20"
- },
- "2832": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3152
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "2833": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3152
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "2835": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3152
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "2836": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3132,
- 3152
- ],
- "op": "KECCAK256",
- "path": "30"
- },
- "2837": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3183,
- 3202
- ],
- "op": "DUP1",
- "path": "30",
- "statement": 32
- },
- "2838": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3183,
- 3202
- ],
- "op": "SLOAD",
- "path": "30"
- },
- "2839": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3205,
- 3220
- ],
- "op": "TIMESTAMP",
- "path": "30"
- },
- "2840": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2842": {
- "op": "PUSH1",
- "value": "0xC0"
- },
- "2844": {
- "op": "SHL"
- },
- "2845": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3183,
- 3202
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "2846": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3183,
- 3202
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "2847": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3183,
- 3202
- ],
- "op": "DIV",
- "path": "30"
- },
- "2848": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3183,
- 3202
- ],
- "op": "PUSH4",
- "path": "30",
- "value": "0xFFFFFFFF"
- },
- "2853": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3183,
- 3202
- ],
- "op": "AND",
- "path": "30"
- },
- "2854": {
- "branch": 46,
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3183,
- 3220
- ],
- "op": "LT",
- "path": "30"
- },
- "2855": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xB72"
- },
- "2858": {
- "branch": 46,
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "2859": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "2861": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "2862": {
- "op": "PUSH3",
- "value": "0x461BCD"
- },
- "2866": {
- "op": "PUSH1",
- "value": "0xE5"
- },
- "2868": {
- "op": "SHL"
- },
- "2869": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "DUP2",
- "path": "30"
- },
- "2870": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "MSTORE",
- "path": "30"
- },
- "2871": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "2873": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x4"
- },
- "2875": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "DUP3",
- "path": "30"
- },
- "2876": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "ADD",
- "path": "30"
- },
- "2877": {
- "op": "MSTORE"
- },
- "2878": {
- "op": "PUSH1",
- "value": "0x1A"
- },
- "2880": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "2882": {
- "op": "DUP3"
- },
- "2883": {
- "op": "ADD"
- },
- "2884": {
- "op": "MSTORE"
- },
- "2885": {
- "op": "PUSH32",
- "value": "0x506F6C6963792069732063757272656E746C7920616374697665000000000000"
- },
- "2918": {
- "op": "PUSH1",
- "value": "0x44"
- },
- "2920": {
- "op": "DUP3"
- },
- "2921": {
- "op": "ADD"
- },
- "2922": {
- "op": "MSTORE"
- },
- "2923": {
- "op": "PUSH1",
- "value": "0x64"
- },
- "2925": {
- "op": "ADD"
- },
- "2926": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0x53B"
- },
- "2929": {
- "op": "JUMP"
- },
- "2930": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3162,
- 3272
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "2931": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3283,
- 3319
- ],
- "op": "DUP1",
- "path": "30",
- "statement": 33
- },
- "2932": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3283,
- 3319
- ],
- "op": "SLOAD",
- "path": "30"
- },
- "2933": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "PUSH2",
- "path": "30",
- "statement": 34,
- "value": "0xFFFF"
- },
- "2936": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "DUP6",
- "path": "30"
- },
- "2937": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "AND",
- "path": "30"
- },
- "2938": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2940": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "2942": {
- "op": "SHL"
- },
- "2943": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "MUL",
- "path": "30"
- },
- "2944": {
- "op": "PUSH2",
- "value": "0xFFFF"
- },
- "2947": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "2949": {
- "op": "SHL"
- },
- "2950": {
- "op": "NOT"
- },
- "2951": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "PUSH4",
- "path": "30",
- "statement": 35,
- "value": "0xFFFFFFFF"
- },
- "2956": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3378,
- 3413
- ],
- "op": "DUP6",
- "path": "30",
- "statement": 36
- },
- "2957": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3378,
- 3413
- ],
- "op": "DUP2",
- "path": "30"
- },
- "2958": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3378,
- 3413
- ],
- "op": "AND",
- "path": "30"
- },
- "2959": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2961": {
- "op": "PUSH1",
- "value": "0xC0"
- },
- "2963": {
- "op": "SHL"
- },
- "2964": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3378,
- 3413
- ],
- "op": "MUL",
- "path": "30"
- },
- "2965": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "2966": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "2967": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "2968": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "AND",
- "path": "30"
- },
- "2969": {
- "op": "PUSH6",
- "value": "0xFFFFFFFFFFFF"
- },
- "2976": {
- "op": "PUSH1",
- "value": "0xC0"
- },
- "2978": {
- "op": "SHL"
- },
- "2979": {
- "op": "NOT"
- },
- "2980": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "2981": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "DUP8",
- "path": "30"
- },
- "2982": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "AND",
- "path": "30"
- },
- "2983": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "2985": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "2987": {
- "op": "SHL"
- },
- "2988": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "MUL",
- "path": "30"
- },
- "2989": {
- "op": "PUSH4",
- "value": "0xFFFFFFFF"
- },
- "2994": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "2996": {
- "op": "SHL"
- },
- "2997": {
- "op": "NOT"
- },
- "2998": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3308,
- 3318
- ],
- "op": "CALLER",
- "path": "30"
- },
- "2999": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "3000": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "DUP2",
- "path": "30"
- },
- "3001": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "AND",
- "path": "30"
- },
- "3002": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3004": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3006": {
- "op": "PUSH1",
- "value": "0xC0"
- },
- "3008": {
- "op": "SHL"
- },
- "3009": {
- "op": "SUB"
- },
- "3010": {
- "op": "NOT"
- },
- "3011": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "3012": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "SWAP7",
- "path": "30"
- },
- "3013": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "AND",
- "path": "30"
- },
- "3014": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "SWAP6",
- "path": "30"
- },
- "3015": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "3016": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "SWAP6",
- "path": "30"
- },
- "3017": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "OR",
- "path": "30"
- },
- "3018": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3329,
- 3368
- ],
- "op": "OR",
- "path": "30"
- },
- "3019": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "3020": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "3021": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "3022": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "AND",
- "path": "30"
- },
- "3023": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "OR",
- "path": "30"
- },
- "3024": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "OR",
- "path": "30"
- },
- "3025": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "DUP3",
- "path": "30"
- },
- "3026": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3423,
- 3442
- ],
- "op": "SSTORE",
- "path": "30"
- },
- "3027": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3029": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3031": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "3033": {
- "op": "SHL"
- },
- "3034": {
- "op": "SUB"
- },
- "3035": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3457,
- 3483
- ],
- "op": "DUP7",
- "path": "30"
- },
- "3036": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3457,
- 3483
- ],
- "op": "AND",
- "path": "30"
- },
- "3037": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3457,
- 3483
- ],
- "op": "EQ",
- "path": "30"
- },
- "3038": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3457,
- 3483
- ],
- "op": "DUP1",
- "path": "30"
- },
- "3039": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3457,
- 3483
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "3040": {
- "branch": 47,
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3457,
- 3483
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "3041": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3457,
- 3513
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xBF2"
- },
- "3044": {
- "branch": 47,
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3457,
- 3513
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "3045": {
- "op": "POP"
- },
- "3046": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3048": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3050": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "3052": {
- "op": "SHL"
- },
- "3053": {
- "op": "SUB"
- },
- "3054": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3487,
- 3513
- ],
- "op": "DUP6",
- "path": "30"
- },
- "3055": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3487,
- 3513
- ],
- "op": "AND",
- "path": "30"
- },
- "3056": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3487,
- 3513
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "3057": {
- "branch": 48,
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3487,
- 3513
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "3058": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3457,
- 3513
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "3059": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3453,
- 3567
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "3060": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3453,
- 3567
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xC15"
- },
- "3063": {
- "branch": 48,
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3453,
- 3567
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "3064": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3541
- ],
- "op": "PUSH1",
- "path": "30",
- "statement": 37,
- "value": "0x1"
- },
- "3066": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3541
- ],
- "op": "DUP2",
- "path": "30"
- },
- "3067": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3541
- ],
- "op": "ADD",
- "path": "30"
- },
- "3068": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3556
- ],
- "op": "DUP1",
- "path": "30"
- },
- "3069": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3556
- ],
- "op": "SLOAD",
- "path": "30"
- },
- "3070": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3072": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3074": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "3076": {
- "op": "SHL"
- },
- "3077": {
- "op": "SUB"
- },
- "3078": {
- "op": "NOT"
- },
- "3079": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3556
- ],
- "op": "AND",
- "path": "30"
- },
- "3080": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3082": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3084": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "3086": {
- "op": "SHL"
- },
- "3087": {
- "op": "SUB"
- },
- "3088": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3556
- ],
- "op": "DUP8",
- "path": "30"
- },
- "3089": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3556
- ],
- "op": "AND",
- "path": "30"
- },
- "3090": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3556
- ],
- "op": "OR",
- "path": "30"
- },
- "3091": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3556
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "3092": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3529,
- 3556
- ],
- "op": "SSTORE",
- "path": "30"
- },
- "3093": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3453,
- 3567
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "3094": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3096": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3098": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "3100": {
- "op": "SHL"
- },
- "3101": {
- "op": "SUB"
- },
- "3102": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3656,
- 3682
- ],
- "op": "DUP6",
- "path": "30",
- "statement": 38
- },
- "3103": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3656,
- 3682
- ],
- "op": "AND",
- "path": "30"
- },
- "3104": {
- "branch": 49,
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3656,
- 3682
- ],
- "op": "ISZERO",
- "path": "30"
- },
- "3105": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3656,
- 3710
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xC2A"
- },
- "3108": {
- "branch": 49,
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3656,
- 3710
- ],
- "op": "JUMPI",
- "path": "30"
- },
- "3109": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3698,
- 3710
- ],
- "op": "DUP5",
- "path": "30"
- },
- "3110": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3656,
- 3710
- ],
- "op": "PUSH2",
- "path": "30",
- "value": "0xC2C"
- },
- "3113": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3656,
- 3710
- ],
- "op": "JUMP",
- "path": "30"
- },
- "3114": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3656,
- 3710
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "3115": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3685,
- 3695
- ],
- "op": "CALLER",
- "path": "30"
- },
- "3116": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3656,
- 3710
- ],
- "op": "JUMPDEST",
- "path": "30"
- },
- "3117": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "PUSH1",
- "path": "30",
- "value": "0x40"
- },
- "3119": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "DUP1",
- "path": "30"
- },
- "3120": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "3121": {
- "op": "PUSH2",
- "value": "0xFFFF"
- },
- "3124": {
- "op": "DUP8"
- },
- "3125": {
- "op": "AND"
- },
- "3126": {
- "op": "DUP2"
- },
- "3127": {
- "op": "MSTORE"
- },
- "3128": {
- "op": "PUSH4",
- "value": "0xFFFFFFFF"
- },
- "3133": {
- "op": "DUP7"
- },
- "3134": {
- "op": "DUP2"
- },
- "3135": {
- "op": "AND"
- },
- "3136": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3138": {
- "op": "DUP4"
- },
- "3139": {
- "op": "ADD"
- },
- "3140": {
- "op": "MSTORE"
- },
- "3141": {
- "op": "DUP6"
- },
- "3142": {
- "op": "AND"
- },
- "3143": {
- "op": "DUP2"
- },
- "3144": {
- "op": "DUP4"
- },
- "3145": {
- "op": "ADD"
- },
- "3146": {
- "op": "MSTORE"
- },
- "3147": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3799,
- 3808
- ],
- "op": "CALLVALUE",
- "path": "30"
- },
- "3148": {
- "op": "PUSH1",
- "value": "0x60"
- },
- "3150": {
- "op": "DUP3"
- },
- "3151": {
- "op": "ADD"
- },
- "3152": {
- "op": "MSTORE"
- },
- "3153": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "3154": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "MLOAD",
- "path": "30"
- },
- "3155": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3157": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3159": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "3161": {
- "op": "SHL"
- },
- "3162": {
- "op": "SUB"
- },
- "3163": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "SWAP3",
- "path": "30"
- },
- "3164": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "3165": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "SWAP3",
- "path": "30"
- },
- "3166": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "AND",
- "path": "30"
- },
- "3167": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "3168": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3632,
- 3642
- ],
- "op": "CALLER",
- "path": "30"
- },
- "3169": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3632,
- 3642
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "3170": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3172": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3174": {
- "op": "PUSH1",
- "value": "0x80"
- },
- "3176": {
- "op": "SHL"
- },
- "3177": {
- "op": "SUB"
- },
- "3178": {
- "op": "NOT"
- },
- "3179": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "DUP11",
- "path": "30"
- },
- "3180": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "AND",
- "path": "30"
- },
- "3181": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "3182": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "PUSH32",
- "path": "30",
- "value": "0x3E7E513DDAF550A2B9B8C400D5A2428F924D4AAE6D8DE14C1E2C42E8431FCA15"
- },
- "3215": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "SWAP2",
- "path": "30"
- },
- "3216": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "DUP2",
- "path": "30"
- },
- "3217": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "3218": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "SUB",
- "path": "30"
- },
- "3219": {
- "op": "PUSH1",
- "value": "0x80"
- },
- "3221": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "ADD",
- "path": "30"
- },
- "3222": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "SWAP1",
- "path": "30"
- },
- "3223": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 3582,
- 3818
- ],
- "op": "LOG4",
- "path": "30"
- },
- "3224": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 2890,
- 3825
- ],
- "op": "SWAP6",
- "path": "30"
- },
- "3225": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 2890,
- 3825
- ],
- "op": "SWAP5",
- "path": "30"
- },
- "3226": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 2890,
- 3825
- ],
- "op": "POP",
- "path": "30"
- },
- "3227": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 2890,
- 3825
- ],
- "op": "POP",
- "path": "30"
- },
- "3228": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 2890,
- 3825
- ],
- "op": "POP",
- "path": "30"
- },
- "3229": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 2890,
- 3825
- ],
- "op": "POP",
- "path": "30"
- },
- "3230": {
- "fn": "SubscriptionManager._createPolicy",
- "offset": [
- 2890,
- 3825
- ],
- "op": "POP",
- "path": "30"
- },
- "3231": {
- "fn": "SubscriptionManager._createPolicy",
- "jump": "o",
- "offset": [
- 2890,
- 3825
- ],
- "op": "JUMP",
- "path": "30"
- },
- "3232": {
- "fn": "AccessControlUpgradeable._setupRole",
- "offset": [
- 6587,
- 6697
- ],
- "op": "JUMPDEST",
- "path": "0"
- },
- "3233": {
- "fn": "AccessControlUpgradeable._setupRole",
- "offset": [
- 6665,
- 6690
- ],
- "op": "PUSH2",
- "path": "0",
- "statement": 39,
- "value": "0x626"
- },
- "3236": {
- "fn": "AccessControlUpgradeable._setupRole",
- "offset": [
- 6676,
- 6680
- ],
- "op": "DUP3",
- "path": "0"
- },
- "3237": {
- "fn": "AccessControlUpgradeable._setupRole",
- "offset": [
- 6682,
- 6689
- ],
- "op": "DUP3",
- "path": "0"
- },
- "3238": {
- "fn": "AccessControlUpgradeable._setupRole",
- "offset": [
- 6665,
- 6675
- ],
- "op": "PUSH2",
- "path": "0",
- "value": "0x9C9"
- },
- "3241": {
- "fn": "AccessControlUpgradeable._setupRole",
- "jump": "i",
- "offset": [
- 6665,
- 6690
- ],
- "op": "JUMP",
- "path": "0"
- },
- "3242": {
- "op": "JUMPDEST"
- },
- "3243": {
- "op": "PUSH1",
- "value": "0x60"
- },
- "3245": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3247": {
- "op": "PUSH2",
- "value": "0xCB9"
- },
- "3250": {
- "op": "DUP4"
- },
- "3251": {
- "op": "PUSH1",
- "value": "0x2"
- },
- "3253": {
- "op": "PUSH2",
- "value": "0x1038"
- },
- "3256": {
- "jump": "i",
- "op": "JUMP"
- },
- "3257": {
- "op": "JUMPDEST"
- },
- "3258": {
- "op": "PUSH2",
- "value": "0xCC4"
- },
- "3261": {
- "op": "SWAP1"
- },
- "3262": {
- "op": "PUSH1",
- "value": "0x2"
- },
- "3264": {
- "op": "PUSH2",
- "value": "0x112B"
- },
- "3267": {
- "jump": "i",
- "op": "JUMP"
- },
- "3268": {
- "op": "JUMPDEST"
- },
- "3269": {
- "op": "PUSH8",
- "value": "0xFFFFFFFFFFFFFFFF"
- },
- "3278": {
- "op": "DUP2"
- },
- "3279": {
- "op": "GT"
- },
- "3280": {
- "op": "ISZERO"
- },
- "3281": {
- "op": "PUSH2",
- "value": "0xCDC"
- },
- "3284": {
- "op": "JUMPI"
- },
- "3285": {
- "op": "PUSH2",
- "value": "0xCDC"
- },
- "3288": {
- "op": "PUSH2",
- "value": "0x1143"
- },
- "3291": {
- "jump": "i",
- "op": "JUMP"
- },
- "3292": {
- "op": "JUMPDEST"
- },
- "3293": {
- "op": "PUSH1",
- "value": "0x40"
- },
- "3295": {
- "op": "MLOAD"
- },
- "3296": {
- "op": "SWAP1"
- },
- "3297": {
- "op": "DUP1"
- },
- "3298": {
- "op": "DUP3"
- },
- "3299": {
- "op": "MSTORE"
- },
- "3300": {
- "op": "DUP1"
- },
- "3301": {
- "op": "PUSH1",
- "value": "0x1F"
- },
- "3303": {
- "op": "ADD"
- },
- "3304": {
- "op": "PUSH1",
- "value": "0x1F"
- },
- "3306": {
- "op": "NOT"
- },
- "3307": {
- "op": "AND"
- },
- "3308": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3310": {
- "op": "ADD"
- },
- "3311": {
- "op": "DUP3"
- },
- "3312": {
- "op": "ADD"
- },
- "3313": {
- "op": "PUSH1",
- "value": "0x40"
- },
- "3315": {
- "op": "MSTORE"
- },
- "3316": {
- "op": "DUP1"
- },
- "3317": {
- "op": "ISZERO"
- },
- "3318": {
- "op": "PUSH2",
- "value": "0xD06"
- },
- "3321": {
- "op": "JUMPI"
- },
- "3322": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3324": {
- "op": "DUP3"
- },
- "3325": {
- "op": "ADD"
- },
- "3326": {
- "op": "DUP2"
- },
- "3327": {
- "op": "DUP1"
- },
- "3328": {
- "op": "CALLDATASIZE"
- },
- "3329": {
- "op": "DUP4"
- },
- "3330": {
- "op": "CALLDATACOPY"
- },
- "3331": {
- "op": "ADD"
- },
- "3332": {
- "op": "SWAP1"
- },
- "3333": {
- "op": "POP"
- },
- "3334": {
- "op": "JUMPDEST"
- },
- "3335": {
- "op": "POP"
- },
- "3336": {
- "op": "SWAP1"
- },
- "3337": {
- "op": "POP"
- },
- "3338": {
- "op": "PUSH1",
- "value": "0x3"
- },
- "3340": {
- "op": "PUSH1",
- "value": "0xFC"
- },
- "3342": {
- "op": "SHL"
- },
- "3343": {
- "op": "DUP2"
- },
- "3344": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3346": {
- "op": "DUP2"
- },
- "3347": {
- "op": "MLOAD"
- },
- "3348": {
- "op": "DUP2"
- },
- "3349": {
- "op": "LT"
- },
- "3350": {
- "op": "PUSH2",
- "value": "0xD21"
- },
- "3353": {
- "op": "JUMPI"
- },
- "3354": {
- "op": "PUSH2",
- "value": "0xD21"
- },
- "3357": {
- "op": "PUSH2",
- "value": "0x1159"
- },
- "3360": {
- "jump": "i",
- "op": "JUMP"
- },
- "3361": {
- "op": "JUMPDEST"
- },
- "3362": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3364": {
- "op": "ADD"
- },
- "3365": {
- "op": "ADD"
- },
- "3366": {
- "op": "SWAP1"
- },
- "3367": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3369": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3371": {
- "op": "PUSH1",
- "value": "0xF8"
- },
- "3373": {
- "op": "SHL"
- },
- "3374": {
- "op": "SUB"
- },
- "3375": {
- "op": "NOT"
- },
- "3376": {
- "op": "AND"
- },
- "3377": {
- "op": "SWAP1"
- },
- "3378": {
- "op": "DUP2"
- },
- "3379": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3381": {
- "op": "BYTE"
- },
- "3382": {
- "op": "SWAP1"
- },
- "3383": {
- "op": "MSTORE8"
- },
- "3384": {
- "op": "POP"
- },
- "3385": {
- "op": "PUSH1",
- "value": "0xF"
- },
- "3387": {
- "op": "PUSH1",
- "value": "0xFB"
- },
- "3389": {
- "op": "SHL"
- },
- "3390": {
- "op": "DUP2"
- },
- "3391": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3393": {
- "op": "DUP2"
- },
- "3394": {
- "op": "MLOAD"
- },
- "3395": {
- "op": "DUP2"
- },
- "3396": {
- "op": "LT"
- },
- "3397": {
- "op": "PUSH2",
- "value": "0xD50"
- },
- "3400": {
- "op": "JUMPI"
- },
- "3401": {
- "op": "PUSH2",
- "value": "0xD50"
- },
- "3404": {
- "op": "PUSH2",
- "value": "0x1159"
- },
- "3407": {
- "jump": "i",
- "op": "JUMP"
- },
- "3408": {
- "op": "JUMPDEST"
- },
- "3409": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3411": {
- "op": "ADD"
- },
- "3412": {
- "op": "ADD"
- },
- "3413": {
- "op": "SWAP1"
- },
- "3414": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3416": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3418": {
- "op": "PUSH1",
- "value": "0xF8"
- },
- "3420": {
- "op": "SHL"
- },
- "3421": {
- "op": "SUB"
- },
- "3422": {
- "op": "NOT"
- },
- "3423": {
- "op": "AND"
- },
- "3424": {
- "op": "SWAP1"
- },
- "3425": {
- "op": "DUP2"
- },
- "3426": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3428": {
- "op": "BYTE"
- },
- "3429": {
- "op": "SWAP1"
- },
- "3430": {
- "op": "MSTORE8"
- },
- "3431": {
- "op": "POP"
- },
- "3432": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3434": {
- "op": "PUSH2",
- "value": "0xD74"
- },
- "3437": {
- "op": "DUP5"
- },
- "3438": {
- "op": "PUSH1",
- "value": "0x2"
- },
- "3440": {
- "op": "PUSH2",
- "value": "0x1038"
- },
- "3443": {
- "jump": "i",
- "op": "JUMP"
- },
- "3444": {
- "op": "JUMPDEST"
- },
- "3445": {
- "op": "PUSH2",
- "value": "0xD7F"
- },
- "3448": {
- "op": "SWAP1"
- },
- "3449": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3451": {
- "op": "PUSH2",
- "value": "0x112B"
- },
- "3454": {
- "jump": "i",
- "op": "JUMP"
- },
- "3455": {
- "op": "JUMPDEST"
- },
- "3456": {
- "op": "SWAP1"
- },
- "3457": {
- "op": "POP"
- },
- "3458": {
- "op": "JUMPDEST"
- },
- "3459": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3461": {
- "op": "DUP2"
- },
- "3462": {
- "op": "GT"
- },
- "3463": {
- "op": "ISZERO"
- },
- "3464": {
- "op": "PUSH2",
- "value": "0xDF7"
- },
- "3467": {
- "op": "JUMPI"
- },
- "3468": {
- "op": "PUSH16",
- "value": "0x181899199A1A9B1B9C1CB0B131B232B3"
- },
- "3485": {
- "op": "PUSH1",
- "value": "0x81"
- },
- "3487": {
- "op": "SHL"
- },
- "3488": {
- "op": "DUP6"
- },
- "3489": {
- "op": "PUSH1",
- "value": "0xF"
- },
- "3491": {
- "op": "AND"
- },
- "3492": {
- "op": "PUSH1",
- "value": "0x10"
- },
- "3494": {
- "op": "DUP2"
- },
- "3495": {
- "op": "LT"
- },
- "3496": {
- "op": "PUSH2",
- "value": "0xDB3"
- },
- "3499": {
- "op": "JUMPI"
- },
- "3500": {
- "op": "PUSH2",
- "value": "0xDB3"
- },
- "3503": {
- "op": "PUSH2",
- "value": "0x1159"
- },
- "3506": {
- "jump": "i",
- "op": "JUMP"
- },
- "3507": {
- "op": "JUMPDEST"
- },
- "3508": {
- "op": "BYTE"
- },
- "3509": {
- "op": "PUSH1",
- "value": "0xF8"
- },
- "3511": {
- "op": "SHL"
- },
- "3512": {
- "op": "DUP3"
- },
- "3513": {
- "op": "DUP3"
- },
- "3514": {
- "op": "DUP2"
- },
- "3515": {
- "op": "MLOAD"
- },
- "3516": {
- "op": "DUP2"
- },
- "3517": {
- "op": "LT"
- },
- "3518": {
- "op": "PUSH2",
- "value": "0xDC9"
- },
- "3521": {
- "op": "JUMPI"
- },
- "3522": {
- "op": "PUSH2",
- "value": "0xDC9"
- },
- "3525": {
- "op": "PUSH2",
- "value": "0x1159"
- },
- "3528": {
- "jump": "i",
- "op": "JUMP"
- },
- "3529": {
- "op": "JUMPDEST"
- },
- "3530": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3532": {
- "op": "ADD"
- },
- "3533": {
- "op": "ADD"
- },
- "3534": {
- "op": "SWAP1"
- },
- "3535": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3537": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3539": {
- "op": "PUSH1",
- "value": "0xF8"
- },
- "3541": {
- "op": "SHL"
- },
- "3542": {
- "op": "SUB"
- },
- "3543": {
- "op": "NOT"
- },
- "3544": {
- "op": "AND"
- },
- "3545": {
- "op": "SWAP1"
- },
- "3546": {
- "op": "DUP2"
- },
- "3547": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3549": {
- "op": "BYTE"
- },
- "3550": {
- "op": "SWAP1"
- },
- "3551": {
- "op": "MSTORE8"
- },
- "3552": {
- "op": "POP"
- },
- "3553": {
- "op": "PUSH1",
- "value": "0x4"
- },
- "3555": {
- "op": "SWAP5"
- },
- "3556": {
- "op": "SWAP1"
- },
- "3557": {
- "op": "SWAP5"
- },
- "3558": {
- "op": "SHR"
- },
- "3559": {
- "op": "SWAP4"
- },
- "3560": {
- "op": "PUSH2",
- "value": "0xDF0"
- },
- "3563": {
- "op": "DUP2"
- },
- "3564": {
- "op": "PUSH2",
- "value": "0x116F"
- },
- "3567": {
- "jump": "i",
- "op": "JUMP"
- },
- "3568": {
- "op": "JUMPDEST"
- },
- "3569": {
- "op": "SWAP1"
- },
- "3570": {
- "op": "POP"
- },
- "3571": {
- "op": "PUSH2",
- "value": "0xD82"
- },
- "3574": {
- "op": "JUMP"
- },
- "3575": {
- "op": "JUMPDEST"
- },
- "3576": {
- "op": "POP"
- },
- "3577": {
- "op": "DUP4"
- },
- "3578": {
- "op": "ISZERO"
- },
- "3579": {
- "op": "PUSH2",
- "value": "0xE46"
- },
- "3582": {
- "op": "JUMPI"
- },
- "3583": {
- "op": "PUSH1",
- "value": "0x40"
- },
- "3585": {
- "op": "MLOAD"
- },
- "3586": {
- "op": "PUSH3",
- "value": "0x461BCD"
- },
- "3590": {
- "op": "PUSH1",
- "value": "0xE5"
- },
- "3592": {
- "op": "SHL"
- },
- "3593": {
- "op": "DUP2"
- },
- "3594": {
- "op": "MSTORE"
- },
- "3595": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3597": {
- "op": "PUSH1",
- "value": "0x4"
- },
- "3599": {
- "op": "DUP3"
- },
- "3600": {
- "op": "ADD"
- },
- "3601": {
- "op": "DUP2"
- },
- "3602": {
- "op": "SWAP1"
- },
- "3603": {
- "op": "MSTORE"
- },
- "3604": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "3606": {
- "op": "DUP3"
- },
- "3607": {
- "op": "ADD"
- },
- "3608": {
- "op": "MSTORE"
- },
- "3609": {
- "op": "PUSH32",
- "value": "0x537472696E67733A20686578206C656E67746820696E73756666696369656E74"
- },
- "3642": {
- "op": "PUSH1",
- "value": "0x44"
- },
- "3644": {
- "op": "DUP3"
- },
- "3645": {
- "op": "ADD"
- },
- "3646": {
- "op": "MSTORE"
- },
- "3647": {
- "op": "PUSH1",
- "value": "0x64"
- },
- "3649": {
- "op": "ADD"
- },
- "3650": {
- "op": "PUSH2",
- "value": "0x53B"
- },
- "3653": {
- "op": "JUMP"
- },
- "3654": {
- "op": "JUMPDEST"
- },
- "3655": {
- "op": "SWAP4"
- },
- "3656": {
- "op": "SWAP3"
- },
- "3657": {
- "op": "POP"
- },
- "3658": {
- "op": "POP"
- },
- "3659": {
- "op": "POP"
- },
- "3660": {
- "jump": "o",
- "op": "JUMP"
- },
- "3661": {
- "op": "JUMPDEST"
- },
- "3662": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3664": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3666": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "3668": {
- "op": "SHL"
- },
- "3669": {
- "op": "SUB"
- },
- "3670": {
- "op": "DUP2"
- },
- "3671": {
- "op": "AND"
- },
- "3672": {
- "op": "DUP2"
- },
- "3673": {
- "op": "EQ"
- },
- "3674": {
- "op": "PUSH2",
- "value": "0xE62"
- },
- "3677": {
- "op": "JUMPI"
- },
- "3678": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3680": {
- "op": "DUP1"
- },
- "3681": {
- "op": "REVERT"
- },
- "3682": {
- "op": "JUMPDEST"
- },
- "3683": {
- "op": "POP"
- },
- "3684": {
- "jump": "o",
- "op": "JUMP"
- },
- "3685": {
- "op": "JUMPDEST"
- },
- "3686": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3688": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3690": {
- "op": "DUP3"
- },
- "3691": {
- "op": "DUP5"
- },
- "3692": {
- "op": "SUB"
- },
- "3693": {
- "op": "SLT"
- },
- "3694": {
- "op": "ISZERO"
- },
- "3695": {
- "op": "PUSH2",
- "value": "0xE77"
- },
- "3698": {
- "op": "JUMPI"
- },
- "3699": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3701": {
- "op": "DUP1"
- },
- "3702": {
- "op": "REVERT"
- },
- "3703": {
- "op": "JUMPDEST"
- },
- "3704": {
- "op": "DUP2"
- },
- "3705": {
- "op": "CALLDATALOAD"
- },
- "3706": {
- "op": "PUSH2",
- "value": "0xE46"
- },
- "3709": {
- "op": "DUP2"
- },
- "3710": {
- "op": "PUSH2",
- "value": "0xE4D"
- },
- "3713": {
- "jump": "i",
- "op": "JUMP"
- },
- "3714": {
- "op": "JUMPDEST"
- },
- "3715": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3717": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3719": {
- "op": "DUP3"
- },
- "3720": {
- "op": "DUP5"
- },
- "3721": {
- "op": "SUB"
- },
- "3722": {
- "op": "SLT"
- },
- "3723": {
- "op": "ISZERO"
- },
- "3724": {
- "op": "PUSH2",
- "value": "0xE94"
- },
- "3727": {
- "op": "JUMPI"
- },
- "3728": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3730": {
- "op": "DUP1"
- },
- "3731": {
- "op": "REVERT"
- },
- "3732": {
- "op": "JUMPDEST"
- },
- "3733": {
- "op": "DUP2"
- },
- "3734": {
- "op": "CALLDATALOAD"
- },
- "3735": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3737": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3739": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "3741": {
- "op": "SHL"
- },
- "3742": {
- "op": "SUB"
- },
- "3743": {
- "op": "NOT"
- },
- "3744": {
- "op": "DUP2"
- },
- "3745": {
- "op": "AND"
- },
- "3746": {
- "op": "DUP2"
- },
- "3747": {
- "op": "EQ"
- },
- "3748": {
- "op": "PUSH2",
- "value": "0xE46"
- },
- "3751": {
- "op": "JUMPI"
- },
- "3752": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3754": {
- "op": "DUP1"
- },
- "3755": {
- "op": "REVERT"
- },
- "3756": {
- "op": "JUMPDEST"
- },
- "3757": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3759": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3761": {
- "op": "DUP3"
- },
- "3762": {
- "op": "DUP5"
- },
- "3763": {
- "op": "SUB"
- },
- "3764": {
- "op": "SLT"
- },
- "3765": {
- "op": "ISZERO"
- },
- "3766": {
- "op": "PUSH2",
- "value": "0xEBE"
- },
- "3769": {
- "op": "JUMPI"
- },
- "3770": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3772": {
- "op": "DUP1"
- },
- "3773": {
- "op": "REVERT"
- },
- "3774": {
- "op": "JUMPDEST"
- },
- "3775": {
- "op": "POP"
- },
- "3776": {
- "op": "CALLDATALOAD"
- },
- "3777": {
- "op": "SWAP2"
- },
- "3778": {
- "op": "SWAP1"
- },
- "3779": {
- "op": "POP"
- },
- "3780": {
- "jump": "o",
- "op": "JUMP"
- },
- "3781": {
- "op": "JUMPDEST"
- },
- "3782": {
- "op": "DUP1"
- },
- "3783": {
- "op": "CALLDATALOAD"
- },
- "3784": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3786": {
- "op": "PUSH1",
- "value": "0x1"
- },
- "3788": {
- "op": "PUSH1",
- "value": "0x80"
- },
- "3790": {
- "op": "SHL"
- },
- "3791": {
- "op": "SUB"
- },
- "3792": {
- "op": "NOT"
- },
- "3793": {
- "op": "DUP2"
- },
- "3794": {
- "op": "AND"
- },
- "3795": {
- "op": "DUP2"
- },
- "3796": {
- "op": "EQ"
- },
- "3797": {
- "op": "PUSH2",
- "value": "0xEDD"
- },
- "3800": {
- "op": "JUMPI"
- },
- "3801": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3803": {
- "op": "DUP1"
- },
- "3804": {
- "op": "REVERT"
- },
- "3805": {
- "op": "JUMPDEST"
- },
- "3806": {
- "op": "SWAP2"
- },
- "3807": {
- "op": "SWAP1"
- },
- "3808": {
- "op": "POP"
- },
- "3809": {
- "jump": "o",
- "op": "JUMP"
- },
- "3810": {
- "op": "JUMPDEST"
- },
- "3811": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3813": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3815": {
- "op": "DUP3"
- },
- "3816": {
- "op": "DUP5"
- },
- "3817": {
- "op": "SUB"
- },
- "3818": {
- "op": "SLT"
- },
- "3819": {
- "op": "ISZERO"
- },
- "3820": {
- "op": "PUSH2",
- "value": "0xEF4"
- },
- "3823": {
- "op": "JUMPI"
- },
- "3824": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3826": {
- "op": "DUP1"
- },
- "3827": {
- "op": "REVERT"
- },
- "3828": {
- "op": "JUMPDEST"
- },
- "3829": {
- "op": "PUSH2",
- "value": "0xE46"
- },
- "3832": {
- "op": "DUP3"
- },
- "3833": {
- "op": "PUSH2",
- "value": "0xEC5"
- },
- "3836": {
- "jump": "i",
- "op": "JUMP"
- },
- "3837": {
- "op": "JUMPDEST"
- },
- "3838": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3840": {
- "op": "DUP1"
- },
- "3841": {
- "op": "PUSH1",
- "value": "0x40"
- },
- "3843": {
- "op": "DUP4"
- },
- "3844": {
- "op": "DUP6"
- },
- "3845": {
- "op": "SUB"
- },
- "3846": {
- "op": "SLT"
- },
- "3847": {
- "op": "ISZERO"
- },
- "3848": {
- "op": "PUSH2",
- "value": "0xF10"
- },
- "3851": {
- "op": "JUMPI"
- },
- "3852": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3854": {
- "op": "DUP1"
- },
- "3855": {
- "op": "REVERT"
- },
- "3856": {
- "op": "JUMPDEST"
- },
- "3857": {
- "op": "DUP3"
- },
- "3858": {
- "op": "CALLDATALOAD"
- },
- "3859": {
- "op": "SWAP2"
- },
- "3860": {
- "op": "POP"
- },
- "3861": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3863": {
- "op": "DUP4"
- },
- "3864": {
- "op": "ADD"
- },
- "3865": {
- "op": "CALLDATALOAD"
- },
- "3866": {
- "op": "PUSH2",
- "value": "0xF22"
- },
- "3869": {
- "op": "DUP2"
- },
- "3870": {
- "op": "PUSH2",
- "value": "0xE4D"
- },
- "3873": {
- "jump": "i",
- "op": "JUMP"
- },
- "3874": {
- "op": "JUMPDEST"
- },
- "3875": {
- "op": "DUP1"
- },
- "3876": {
- "op": "SWAP2"
- },
- "3877": {
- "op": "POP"
- },
- "3878": {
- "op": "POP"
- },
- "3879": {
- "op": "SWAP3"
- },
- "3880": {
- "op": "POP"
- },
- "3881": {
- "op": "SWAP3"
- },
- "3882": {
- "op": "SWAP1"
- },
- "3883": {
- "op": "POP"
- },
- "3884": {
- "jump": "o",
- "op": "JUMP"
- },
- "3885": {
- "op": "JUMPDEST"
- },
- "3886": {
- "op": "DUP1"
- },
- "3887": {
- "op": "CALLDATALOAD"
- },
- "3888": {
- "op": "PUSH2",
- "value": "0xFFFF"
- },
- "3891": {
- "op": "DUP2"
- },
- "3892": {
- "op": "AND"
- },
- "3893": {
- "op": "DUP2"
- },
- "3894": {
- "op": "EQ"
- },
- "3895": {
- "op": "PUSH2",
- "value": "0xEDD"
- },
- "3898": {
- "op": "JUMPI"
- },
- "3899": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3901": {
- "op": "DUP1"
- },
- "3902": {
- "op": "REVERT"
- },
- "3903": {
- "op": "JUMPDEST"
- },
- "3904": {
- "op": "DUP1"
- },
- "3905": {
- "op": "CALLDATALOAD"
- },
- "3906": {
- "op": "PUSH4",
- "value": "0xFFFFFFFF"
- },
- "3911": {
- "op": "DUP2"
- },
- "3912": {
- "op": "AND"
- },
- "3913": {
- "op": "DUP2"
- },
- "3914": {
- "op": "EQ"
- },
- "3915": {
- "op": "PUSH2",
- "value": "0xEDD"
- },
- "3918": {
- "op": "JUMPI"
- },
- "3919": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3921": {
- "op": "DUP1"
- },
- "3922": {
- "op": "REVERT"
- },
- "3923": {
- "op": "JUMPDEST"
- },
- "3924": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3926": {
- "op": "DUP1"
- },
- "3927": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3929": {
- "op": "DUP1"
- },
- "3930": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3932": {
- "op": "PUSH1",
- "value": "0xA0"
- },
- "3934": {
- "op": "DUP7"
- },
- "3935": {
- "op": "DUP9"
- },
- "3936": {
- "op": "SUB"
- },
- "3937": {
- "op": "SLT"
- },
- "3938": {
- "op": "ISZERO"
- },
- "3939": {
- "op": "PUSH2",
- "value": "0xF6B"
- },
- "3942": {
- "op": "JUMPI"
- },
- "3943": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "3945": {
- "op": "DUP1"
- },
- "3946": {
- "op": "REVERT"
- },
- "3947": {
- "op": "JUMPDEST"
- },
- "3948": {
- "op": "PUSH2",
- "value": "0xF74"
- },
- "3951": {
- "op": "DUP7"
- },
- "3952": {
- "op": "PUSH2",
- "value": "0xEC5"
- },
- "3955": {
- "jump": "i",
- "op": "JUMP"
- },
- "3956": {
- "op": "JUMPDEST"
- },
- "3957": {
- "op": "SWAP5"
- },
- "3958": {
- "op": "POP"
- },
- "3959": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "3961": {
- "op": "DUP7"
- },
- "3962": {
- "op": "ADD"
- },
- "3963": {
- "op": "CALLDATALOAD"
- },
- "3964": {
- "op": "PUSH2",
- "value": "0xF84"
- },
- "3967": {
- "op": "DUP2"
- },
- "3968": {
- "op": "PUSH2",
- "value": "0xE4D"
- },
- "3971": {
- "jump": "i",
- "op": "JUMP"
- },
- "3972": {
- "op": "JUMPDEST"
- },
- "3973": {
- "op": "SWAP4"
- },
- "3974": {
- "op": "POP"
- },
- "3975": {
- "op": "PUSH2",
- "value": "0xF92"
- },
- "3978": {
- "op": "PUSH1",
- "value": "0x40"
- },
- "3980": {
- "op": "DUP8"
- },
- "3981": {
- "op": "ADD"
- },
- "3982": {
- "op": "PUSH2",
- "value": "0xF2D"
- },
- "3985": {
- "jump": "i",
- "op": "JUMP"
- },
- "3986": {
- "op": "JUMPDEST"
- },
- "3987": {
- "op": "SWAP3"
- },
- "3988": {
- "op": "POP"
- },
- "3989": {
- "op": "PUSH2",
- "value": "0xFA0"
- },
- "3992": {
- "op": "PUSH1",
- "value": "0x60"
- },
- "3994": {
- "op": "DUP8"
- },
- "3995": {
- "op": "ADD"
- },
- "3996": {
- "op": "PUSH2",
- "value": "0xF3F"
- },
- "3999": {
- "jump": "i",
- "op": "JUMP"
- },
- "4000": {
- "op": "JUMPDEST"
- },
- "4001": {
- "op": "SWAP2"
- },
- "4002": {
- "op": "POP"
- },
- "4003": {
- "op": "PUSH2",
- "value": "0xFAE"
- },
- "4006": {
- "op": "PUSH1",
- "value": "0x80"
- },
- "4008": {
- "op": "DUP8"
- },
- "4009": {
- "op": "ADD"
- },
- "4010": {
- "op": "PUSH2",
- "value": "0xF3F"
- },
- "4013": {
- "jump": "i",
- "op": "JUMP"
- },
- "4014": {
- "op": "JUMPDEST"
- },
- "4015": {
- "op": "SWAP1"
- },
- "4016": {
- "op": "POP"
- },
- "4017": {
- "op": "SWAP3"
- },
- "4018": {
- "op": "SWAP6"
- },
- "4019": {
- "op": "POP"
- },
- "4020": {
- "op": "SWAP3"
- },
- "4021": {
- "op": "SWAP6"
- },
- "4022": {
- "op": "SWAP1"
- },
- "4023": {
- "op": "SWAP4"
- },
- "4024": {
- "op": "POP"
- },
- "4025": {
- "jump": "o",
- "op": "JUMP"
- },
- "4026": {
- "op": "JUMPDEST"
- },
- "4027": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4029": {
- "op": "DUP1"
- },
- "4030": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4032": {
- "op": "PUSH1",
- "value": "0x60"
- },
- "4034": {
- "op": "DUP5"
- },
- "4035": {
- "op": "DUP7"
- },
- "4036": {
- "op": "SUB"
- },
- "4037": {
- "op": "SLT"
- },
- "4038": {
- "op": "ISZERO"
- },
- "4039": {
- "op": "PUSH2",
- "value": "0xFCF"
- },
- "4042": {
- "op": "JUMPI"
- },
- "4043": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4045": {
- "op": "DUP1"
- },
- "4046": {
- "op": "REVERT"
- },
- "4047": {
- "op": "JUMPDEST"
- },
- "4048": {
- "op": "PUSH2",
- "value": "0xFD8"
- },
- "4051": {
- "op": "DUP5"
- },
- "4052": {
- "op": "PUSH2",
- "value": "0xF2D"
- },
- "4055": {
- "jump": "i",
- "op": "JUMP"
- },
- "4056": {
- "op": "JUMPDEST"
- },
- "4057": {
- "op": "SWAP3"
- },
- "4058": {
- "op": "POP"
- },
- "4059": {
- "op": "PUSH2",
- "value": "0xFE6"
- },
- "4062": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "4064": {
- "op": "DUP6"
- },
- "4065": {
- "op": "ADD"
- },
- "4066": {
- "op": "PUSH2",
- "value": "0xF3F"
- },
- "4069": {
- "jump": "i",
- "op": "JUMP"
- },
- "4070": {
- "op": "JUMPDEST"
- },
- "4071": {
- "op": "SWAP2"
- },
- "4072": {
- "op": "POP"
- },
- "4073": {
- "op": "PUSH2",
- "value": "0xFF4"
- },
- "4076": {
- "op": "PUSH1",
- "value": "0x40"
- },
- "4078": {
- "op": "DUP6"
- },
- "4079": {
- "op": "ADD"
- },
- "4080": {
- "op": "PUSH2",
- "value": "0xF3F"
- },
- "4083": {
- "jump": "i",
- "op": "JUMP"
- },
- "4084": {
- "op": "JUMPDEST"
- },
- "4085": {
- "op": "SWAP1"
- },
- "4086": {
- "op": "POP"
- },
- "4087": {
- "op": "SWAP3"
- },
- "4088": {
- "op": "POP"
- },
- "4089": {
- "op": "SWAP3"
- },
- "4090": {
- "op": "POP"
- },
- "4091": {
- "op": "SWAP3"
- },
- "4092": {
- "jump": "o",
- "op": "JUMP"
- },
- "4093": {
- "op": "JUMPDEST"
- },
- "4094": {
- "op": "PUSH4",
- "value": "0x4E487B71"
- },
- "4099": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "4101": {
- "op": "SHL"
- },
- "4102": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4104": {
- "op": "MSTORE"
- },
- "4105": {
- "op": "PUSH1",
- "value": "0x11"
- },
- "4107": {
- "op": "PUSH1",
- "value": "0x4"
- },
- "4109": {
- "op": "MSTORE"
- },
- "4110": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "4112": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4114": {
- "op": "REVERT"
- },
- "4115": {
- "op": "JUMPDEST"
- },
- "4116": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4118": {
- "op": "PUSH4",
- "value": "0xFFFFFFFF"
- },
- "4123": {
- "op": "DUP4"
- },
- "4124": {
- "op": "DUP2"
- },
- "4125": {
- "op": "AND"
- },
- "4126": {
- "op": "SWAP1"
- },
- "4127": {
- "op": "DUP4"
- },
- "4128": {
- "op": "AND"
- },
- "4129": {
- "op": "DUP2"
- },
- "4130": {
- "op": "DUP2"
- },
- "4131": {
- "op": "LT"
- },
- "4132": {
- "op": "ISZERO"
- },
- "4133": {
- "op": "PUSH2",
- "value": "0x1030"
- },
- "4136": {
- "op": "JUMPI"
- },
- "4137": {
- "op": "PUSH2",
- "value": "0x1030"
- },
- "4140": {
- "op": "PUSH2",
- "value": "0xFFD"
- },
- "4143": {
- "jump": "i",
- "op": "JUMP"
- },
- "4144": {
- "op": "JUMPDEST"
- },
- "4145": {
- "op": "SUB"
- },
- "4146": {
- "op": "SWAP4"
- },
- "4147": {
- "op": "SWAP3"
- },
- "4148": {
- "op": "POP"
- },
- "4149": {
- "op": "POP"
- },
- "4150": {
- "op": "POP"
- },
- "4151": {
- "jump": "o",
- "op": "JUMP"
- },
- "4152": {
- "op": "JUMPDEST"
- },
- "4153": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4155": {
- "op": "DUP2"
- },
- "4156": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4158": {
- "op": "NOT"
- },
- "4159": {
- "op": "DIV"
- },
- "4160": {
- "op": "DUP4"
- },
- "4161": {
- "op": "GT"
- },
- "4162": {
- "op": "DUP3"
- },
- "4163": {
- "op": "ISZERO"
- },
- "4164": {
- "op": "ISZERO"
- },
- "4165": {
- "op": "AND"
- },
- "4166": {
- "op": "ISZERO"
- },
- "4167": {
- "op": "PUSH2",
- "value": "0x1052"
- },
- "4170": {
- "op": "JUMPI"
- },
- "4171": {
- "op": "PUSH2",
- "value": "0x1052"
- },
- "4174": {
- "op": "PUSH2",
- "value": "0xFFD"
- },
- "4177": {
- "jump": "i",
- "op": "JUMP"
- },
- "4178": {
- "op": "JUMPDEST"
- },
- "4179": {
- "op": "POP"
- },
- "4180": {
- "op": "MUL"
- },
- "4181": {
- "op": "SWAP1"
- },
- "4182": {
- "jump": "o",
- "op": "JUMP"
- },
- "4183": {
- "op": "JUMPDEST"
- },
- "4184": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4186": {
- "op": "JUMPDEST"
- },
- "4187": {
- "op": "DUP4"
- },
- "4188": {
- "op": "DUP2"
- },
- "4189": {
- "op": "LT"
- },
- "4190": {
- "op": "ISZERO"
- },
- "4191": {
- "op": "PUSH2",
- "value": "0x1072"
- },
- "4194": {
- "op": "JUMPI"
- },
- "4195": {
- "op": "DUP2"
- },
- "4196": {
- "op": "DUP2"
- },
- "4197": {
- "op": "ADD"
- },
- "4198": {
- "op": "MLOAD"
- },
- "4199": {
- "op": "DUP4"
- },
- "4200": {
- "op": "DUP3"
- },
- "4201": {
- "op": "ADD"
- },
- "4202": {
- "op": "MSTORE"
- },
- "4203": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "4205": {
- "op": "ADD"
- },
- "4206": {
- "op": "PUSH2",
- "value": "0x105A"
- },
- "4209": {
- "op": "JUMP"
- },
- "4210": {
- "op": "JUMPDEST"
- },
- "4211": {
- "op": "DUP4"
- },
- "4212": {
- "op": "DUP2"
- },
- "4213": {
- "op": "GT"
- },
- "4214": {
- "op": "ISZERO"
- },
- "4215": {
- "op": "PUSH2",
- "value": "0x544"
- },
- "4218": {
- "op": "JUMPI"
- },
- "4219": {
- "op": "POP"
- },
- "4220": {
- "op": "POP"
- },
- "4221": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4223": {
- "op": "SWAP2"
- },
- "4224": {
- "op": "ADD"
- },
- "4225": {
- "op": "MSTORE"
- },
- "4226": {
- "jump": "o",
- "op": "JUMP"
- },
- "4227": {
- "op": "JUMPDEST"
- },
- "4228": {
- "op": "PUSH32",
- "value": "0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000"
- },
- "4261": {
- "op": "DUP2"
- },
- "4262": {
- "op": "MSTORE"
- },
- "4263": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4265": {
- "op": "DUP4"
- },
- "4266": {
- "op": "MLOAD"
- },
- "4267": {
- "op": "PUSH2",
- "value": "0x10BB"
- },
- "4270": {
- "op": "DUP2"
- },
- "4271": {
- "op": "PUSH1",
- "value": "0x17"
- },
- "4273": {
- "op": "DUP6"
- },
- "4274": {
- "op": "ADD"
- },
- "4275": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "4277": {
- "op": "DUP9"
- },
- "4278": {
- "op": "ADD"
- },
- "4279": {
- "op": "PUSH2",
- "value": "0x1057"
- },
- "4282": {
- "jump": "i",
- "op": "JUMP"
- },
- "4283": {
- "op": "JUMPDEST"
- },
- "4284": {
- "op": "PUSH17",
- "value": "0x1034B99036B4B9B9B4B733903937B6329"
- },
- "4302": {
- "op": "PUSH1",
- "value": "0x7D"
- },
- "4304": {
- "op": "SHL"
- },
- "4305": {
- "op": "PUSH1",
- "value": "0x17"
- },
- "4307": {
- "op": "SWAP2"
- },
- "4308": {
- "op": "DUP5"
- },
- "4309": {
- "op": "ADD"
- },
- "4310": {
- "op": "SWAP2"
- },
- "4311": {
- "op": "DUP3"
- },
- "4312": {
- "op": "ADD"
- },
- "4313": {
- "op": "MSTORE"
- },
- "4314": {
- "op": "DUP4"
- },
- "4315": {
- "op": "MLOAD"
- },
- "4316": {
- "op": "PUSH2",
- "value": "0x10EC"
- },
- "4319": {
- "op": "DUP2"
- },
- "4320": {
- "op": "PUSH1",
- "value": "0x28"
- },
- "4322": {
- "op": "DUP5"
- },
- "4323": {
- "op": "ADD"
- },
- "4324": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "4326": {
- "op": "DUP9"
- },
- "4327": {
- "op": "ADD"
- },
- "4328": {
- "op": "PUSH2",
- "value": "0x1057"
- },
- "4331": {
- "jump": "i",
- "op": "JUMP"
- },
- "4332": {
- "op": "JUMPDEST"
- },
- "4333": {
- "op": "ADD"
- },
- "4334": {
- "op": "PUSH1",
- "value": "0x28"
- },
- "4336": {
- "op": "ADD"
- },
- "4337": {
- "op": "SWAP5"
- },
- "4338": {
- "op": "SWAP4"
- },
- "4339": {
- "op": "POP"
- },
- "4340": {
- "op": "POP"
- },
- "4341": {
- "op": "POP"
- },
- "4342": {
- "op": "POP"
- },
- "4343": {
- "jump": "o",
- "op": "JUMP"
- },
- "4344": {
- "op": "JUMPDEST"
- },
- "4345": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "4347": {
- "op": "DUP2"
- },
- "4348": {
- "op": "MSTORE"
- },
- "4349": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4351": {
- "op": "DUP3"
- },
- "4352": {
- "op": "MLOAD"
- },
- "4353": {
- "op": "DUP1"
- },
- "4354": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "4356": {
- "op": "DUP5"
- },
- "4357": {
- "op": "ADD"
- },
- "4358": {
- "op": "MSTORE"
- },
- "4359": {
- "op": "PUSH2",
- "value": "0x1117"
- },
- "4362": {
- "op": "DUP2"
- },
- "4363": {
- "op": "PUSH1",
- "value": "0x40"
- },
- "4365": {
- "op": "DUP6"
- },
- "4366": {
- "op": "ADD"
- },
- "4367": {
- "op": "PUSH1",
- "value": "0x20"
- },
- "4369": {
- "op": "DUP8"
- },
- "4370": {
- "op": "ADD"
- },
- "4371": {
- "op": "PUSH2",
- "value": "0x1057"
- },
- "4374": {
- "jump": "i",
- "op": "JUMP"
- },
- "4375": {
- "op": "JUMPDEST"
- },
- "4376": {
- "op": "PUSH1",
- "value": "0x1F"
- },
- "4378": {
- "op": "ADD"
- },
- "4379": {
- "op": "PUSH1",
- "value": "0x1F"
- },
- "4381": {
- "op": "NOT"
- },
- "4382": {
- "op": "AND"
- },
- "4383": {
- "op": "SWAP2"
- },
- "4384": {
- "op": "SWAP1"
- },
- "4385": {
- "op": "SWAP2"
- },
- "4386": {
- "op": "ADD"
- },
- "4387": {
- "op": "PUSH1",
- "value": "0x40"
- },
- "4389": {
- "op": "ADD"
- },
- "4390": {
- "op": "SWAP3"
- },
- "4391": {
- "op": "SWAP2"
- },
- "4392": {
- "op": "POP"
- },
- "4393": {
- "op": "POP"
- },
- "4394": {
- "jump": "o",
- "op": "JUMP"
- },
- "4395": {
- "op": "JUMPDEST"
- },
- "4396": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4398": {
- "op": "DUP3"
- },
- "4399": {
- "op": "NOT"
- },
- "4400": {
- "op": "DUP3"
- },
- "4401": {
- "op": "GT"
- },
- "4402": {
- "op": "ISZERO"
- },
- "4403": {
- "op": "PUSH2",
- "value": "0x113E"
- },
- "4406": {
- "op": "JUMPI"
- },
- "4407": {
- "op": "PUSH2",
- "value": "0x113E"
- },
- "4410": {
- "op": "PUSH2",
- "value": "0xFFD"
- },
- "4413": {
- "jump": "i",
- "op": "JUMP"
- },
- "4414": {
- "op": "JUMPDEST"
- },
- "4415": {
- "op": "POP"
- },
- "4416": {
- "op": "ADD"
- },
- "4417": {
- "op": "SWAP1"
- },
- "4418": {
- "jump": "o",
- "op": "JUMP"
- },
- "4419": {
- "op": "JUMPDEST"
- },
- "4420": {
- "op": "PUSH4",
- "value": "0x4E487B71"
- },
- "4425": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "4427": {
- "op": "SHL"
- },
- "4428": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4430": {
- "op": "MSTORE"
- },
- "4431": {
- "op": "PUSH1",
- "value": "0x41"
- },
- "4433": {
- "op": "PUSH1",
- "value": "0x4"
- },
- "4435": {
- "op": "MSTORE"
- },
- "4436": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "4438": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4440": {
- "op": "REVERT"
- },
- "4441": {
- "op": "JUMPDEST"
- },
- "4442": {
- "op": "PUSH4",
- "value": "0x4E487B71"
- },
- "4447": {
- "op": "PUSH1",
- "value": "0xE0"
- },
- "4449": {
- "op": "SHL"
- },
- "4450": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4452": {
- "op": "MSTORE"
- },
- "4453": {
- "op": "PUSH1",
- "value": "0x32"
- },
- "4455": {
- "op": "PUSH1",
- "value": "0x4"
- },
- "4457": {
- "op": "MSTORE"
- },
- "4458": {
- "op": "PUSH1",
- "value": "0x24"
- },
- "4460": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4462": {
- "op": "REVERT"
- },
- "4463": {
- "op": "JUMPDEST"
- },
- "4464": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4466": {
- "op": "DUP2"
- },
- "4467": {
- "op": "PUSH2",
- "value": "0x117E"
- },
- "4470": {
- "op": "JUMPI"
- },
- "4471": {
- "op": "PUSH2",
- "value": "0x117E"
- },
- "4474": {
- "op": "PUSH2",
- "value": "0xFFD"
- },
- "4477": {
- "jump": "i",
- "op": "JUMP"
- },
- "4478": {
- "op": "JUMPDEST"
- },
- "4479": {
- "op": "POP"
- },
- "4480": {
- "op": "PUSH1",
- "value": "0x0"
- },
- "4482": {
- "op": "NOT"
- },
- "4483": {
- "op": "ADD"
- },
- "4484": {
- "op": "SWAP1"
- },
- "4485": {
- "jump": "o",
- "op": "JUMP"
- }
- },
- "sha1": "2a31e7bd47b6887f42b383ae84b4842a5b089e0a",
- "source": "// SPDX-License-Identifier: AGPL-3.0-or-later\n\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin-upgradeable/contracts/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin-upgradeable/contracts/proxy/utils/Initializable.sol\";\n\ncontract SubscriptionManager is Initializable, AccessControlUpgradeable {\n\n bytes32 public constant SET_RATE_ROLE = \n keccak256(\"Power to set the fee rate\");\n bytes32 public constant WITHDRAW_ROLE = \n keccak256(\"Power to withdraw funds from SubscriptionManager\");\n\n // The layout of policy struct is optimized, so sponsor, timestamps and size\n // fit in a single 256-word.\n struct Policy {\n address payable sponsor;\n uint32 startTimestamp;\n uint32 endTimestamp;\n uint16 size; // also known as `N`\n // There's still 2 bytes available here\n address owner;\n }\n\n event PolicyCreated(\n bytes16 indexed policyId,\n address indexed sponsor,\n address indexed owner,\n uint16 size,\n uint32 startTimestamp,\n uint32 endTimestamp,\n uint256 cost\n );\n\n event FeeRateUpdated(uint256 oldFeeRate, uint256 newFeeRate);\n\n // Per-second, per-node service fee rate\n uint256 public feeRate;\n\n // Mapping that stores policy structs, keyed by policy ID\n mapping (bytes16 => Policy) internal _policies;\n\n function initialize(uint256 _feeRate) public initializer {\n _setFeeRate(_feeRate);\n _setupRole(SET_RATE_ROLE, msg.sender);\n _setupRole(WITHDRAW_ROLE, msg.sender);\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n }\n\n function getPolicyCost(\n uint16 _size,\n uint32 _startTimestamp,\n uint32 _endTimestamp\n ) public view returns (uint256){\n uint32 duration = _endTimestamp - _startTimestamp;\n require(duration > 0, \"Invalid timestamps\");\n require(_size > 0, \"Invalid policy size\");\n return feeRate * _size * duration;\n }\n\n function createPolicy(\n bytes16 _policyId,\n address _policyOwner,\n uint16 _size,\n uint32 _startTimestamp,\n uint32 _endTimestamp\n )\n external payable\n {\n require(\n _startTimestamp < _endTimestamp && block.timestamp < _endTimestamp,\n \"Invalid timestamps\"\n );\n require(\n msg.value == getPolicyCost(_size, _startTimestamp, _endTimestamp),\n \"Invalid policy cost\"\n );\n\n _createPolicy(_policyId, _policyOwner, _size, _startTimestamp, _endTimestamp);\n }\n\n /**\n * @notice Create policy\n * @param _policyId Policy id\n * @param _policyOwner Policy owner. Zero address means sender is owner\n * @param _size Number of nodes involved in the policy\n * @param _startTimestamp Start timestamp of the policy in seconds\n * @param _endTimestamp End timestamp of the policy in seconds\n */\n function _createPolicy(\n bytes16 _policyId,\n address _policyOwner,\n uint16 _size,\n uint32 _startTimestamp,\n uint32 _endTimestamp\n )\n internal returns (Policy storage policy)\n {\n policy = _policies[_policyId];\n require(\n policy.endTimestamp < block.timestamp,\n \"Policy is currently active\"\n );\n\n policy.sponsor = payable(msg.sender);\n policy.startTimestamp = _startTimestamp;\n policy.endTimestamp = _endTimestamp;\n policy.size = _size;\n\n if (_policyOwner != msg.sender && _policyOwner != address(0)) {\n policy.owner = _policyOwner;\n }\n\n emit PolicyCreated(\n _policyId,\n msg.sender,\n _policyOwner == address(0) ? msg.sender : _policyOwner,\n _size,\n _startTimestamp,\n _endTimestamp,\n msg.value\n );\n }\n\n function getPolicy(bytes16 _policyID) public view returns(Policy memory){\n return _policies[_policyID];\n }\n\n function isPolicyActive(bytes16 _policyID) public view returns(bool){\n return _policies[_policyID].endTimestamp > block.timestamp;\n }\n\n function _setFeeRate(uint256 newFee) internal {\n uint256 oldFee = feeRate;\n feeRate = newFee;\n emit FeeRateUpdated(oldFee, newFee);\n }\n\n function setFeeRate(uint256 _ratePerSecond) onlyRole(SET_RATE_ROLE) external {\n _setFeeRate(_ratePerSecond);\n }\n\n function sweep(address payable recipient) onlyRole(WITHDRAW_ROLE) external {\n uint256 balance = address(this).balance;\n (bool sent, ) = recipient.call{value: balance}(\"\");\n require(sent, \"Failed transfer\");\n }\n\n}\n",
- "sourceMap": "231:4398:30:-:0;;;;;;;;;;;;;;;;;;;",
- "sourcePath": "contracts/matic/SubscriptionManager.sol",
- "type": "contract"
-}
\ No newline at end of file
diff --git a/packages/shared/package.json b/packages/shared/package.json
index 9d5610b64..b915c00d4 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -35,12 +35,13 @@
"lint": "eslint --ext .ts src",
"lint:fix": "pnpm lint --fix",
"package-check": "package-check",
- "typechain": "typechain --out-dir=./src/contracts/ethers-typechain --target=ethers-v5 \"abis/**/*.json\"",
+ "typechain": "ts-node scripts/typechain.ts",
"typedoc": "typedoc"
},
"dependencies": {
"@ethersproject/abi": "^5.7.0",
"@ethersproject/providers": "^5.7.2",
+ "@nucypher/nucypher-contracts": "^0.5.0",
"@nucypher/nucypher-core": "0.13.0-alpha.1",
"axios": "^1.5.0",
"deep-equal": "^2.2.1",
@@ -51,6 +52,7 @@
"@typechain/ethers-v5": "^11.1.1",
"@types/deep-equal": "^1.0.1",
"@types/qs": "^6.9.7",
+ "@types/tmp": "^0.2.4",
"cz-conventional-changelog": "^3.0.1",
"standard-version": "^9.0.0",
"typechain": "^8.3.1"
diff --git a/packages/shared/scripts/typechain.ts b/packages/shared/scripts/typechain.ts
new file mode 100644
index 000000000..a413f7ba4
--- /dev/null
+++ b/packages/shared/scripts/typechain.ts
@@ -0,0 +1,92 @@
+import * as lynxRegistryJson from '@nucypher/nucypher-contracts/deployment/artifacts/lynx.json';
+import * as mainnetRegistryJson from '@nucypher/nucypher-contracts/deployment/artifacts/mainnet.json';
+import * as fs from 'fs';
+import * as path from 'path';
+import * as tmp from 'tmp';
+import { glob, runTypeChain } from 'typechain';
+
+type Abi = unknown;
+
+type DeployedContract = {
+ address: string;
+ abi: Abi;
+};
+
+type Contract = {
+ name: string;
+ abi: Abi;
+};
+
+type ContractRegistry = {
+ [chainId: string]: Record;
+};
+
+const lynxRegistry: ContractRegistry = lynxRegistryJson;
+const mainnetRegistry: ContractRegistry = mainnetRegistryJson;
+
+const parseContractRegistry = (registry: ContractRegistry): Contract[] =>
+ Object.keys(registry)
+ .map((chainId) => {
+ const networkRegistry = registry[chainId];
+ return Object.keys(networkRegistry).map((contractName) => {
+ const contract = networkRegistry[contractName];
+ return { name: contractName, abi: contract.abi };
+ });
+ })
+ .flat();
+
+console.log(`Parsing contract registries`);
+const lynxContracts = parseContractRegistry(lynxRegistry);
+const mainnetContracts = parseContractRegistry(mainnetRegistry);
+console.log(`Found ${lynxContracts.length} contracts on Lynx`);
+console.log(`Found ${mainnetContracts.length} contracts on Mainnet`);
+const allContracts = [...lynxContracts, ...mainnetContracts];
+
+const SELECTED_CONTRACT_NAMES = [
+ 'Coordinator',
+ 'GlobalAllowList',
+ 'SubscriptionManager',
+];
+const selectedContracts = allContracts.filter(({ name }) =>
+ SELECTED_CONTRACT_NAMES.includes(name),
+);
+console.log(
+ `Selected contracts: ${selectedContracts.map(({ name }) => name).join(', ')}`,
+);
+
+// Creating a temporary directory to store the ABIs
+const tmpDir = tmp.dirSync({ unsafeCleanup: true });
+console.log(`Created temporary directory ${tmpDir.name}`);
+
+// Writing the ABIs to the temporary directory
+const writeAbi = ({ name, abi }: Contract) => {
+ const abiPath = path.join(tmpDir.name, `${name}.json`);
+ if (!abi) {
+ console.log(`Skipping ${name} because it has no ABI`);
+ return;
+ }
+ fs.writeFileSync(abiPath, JSON.stringify(abi));
+ console.log(`Wrote ABI for ${name} to ${abiPath}`);
+};
+
+selectedContracts.forEach(writeAbi);
+
+const cwd = process.cwd();
+const abiFilesGlob = glob(cwd, [`${tmpDir.name}/*.json`]);
+
+// Running typechain
+async function main() {
+ const cwd = process.cwd();
+
+ const result = await runTypeChain({
+ cwd,
+ filesToProcess: abiFilesGlob,
+ allFiles: abiFilesGlob,
+ outDir: `./src/contracts/ethers-typechain`,
+ target: 'ethers-v5',
+ });
+
+ console.log(`typechain: Generated ${result.filesGenerated} files`);
+}
+
+main().catch(console.error);
diff --git a/packages/shared/src/contracts/ethers-typechain/factories/GlobalAllowList__factory.ts b/packages/shared/src/contracts/ethers-typechain/factories/GlobalAllowList__factory.ts
index f46e18fa6..a000dd0fb 100644
--- a/packages/shared/src/contracts/ethers-typechain/factories/GlobalAllowList__factory.ts
+++ b/packages/shared/src/contracts/ethers-typechain/factories/GlobalAllowList__factory.ts
@@ -11,524 +11,524 @@ import type {
const _abi = [
{
+ type: "constructor",
+ stateMutability: "nonpayable",
inputs: [
{
- internalType: "contract Coordinator",
name: "_coordinator",
type: "address",
+ internalType: "contract Coordinator",
},
{
- internalType: "address",
name: "_admin",
type: "address",
+ internalType: "address",
},
],
- stateMutability: "nonpayable",
- type: "constructor",
},
{
- anonymous: false,
- inputs: [],
- name: "DefaultAdminDelayChangeCanceled",
type: "event",
+ name: "DefaultAdminDelayChangeCanceled",
+ inputs: [],
+ anonymous: false,
},
{
- anonymous: false,
+ type: "event",
+ name: "DefaultAdminDelayChangeScheduled",
inputs: [
{
- indexed: false,
- internalType: "uint48",
name: "newDelay",
type: "uint48",
+ internalType: "uint48",
+ indexed: false,
},
{
- indexed: false,
- internalType: "uint48",
name: "effectSchedule",
type: "uint48",
+ internalType: "uint48",
+ indexed: false,
},
],
- name: "DefaultAdminDelayChangeScheduled",
- type: "event",
+ anonymous: false,
},
{
- anonymous: false,
- inputs: [],
- name: "DefaultAdminTransferCanceled",
type: "event",
+ name: "DefaultAdminTransferCanceled",
+ inputs: [],
+ anonymous: false,
},
{
- anonymous: false,
+ type: "event",
+ name: "DefaultAdminTransferScheduled",
inputs: [
{
- indexed: true,
- internalType: "address",
name: "newAdmin",
type: "address",
+ internalType: "address",
+ indexed: true,
},
{
- indexed: false,
- internalType: "uint48",
name: "acceptSchedule",
type: "uint48",
+ internalType: "uint48",
+ indexed: false,
},
],
- name: "DefaultAdminTransferScheduled",
- type: "event",
+ anonymous: false,
},
{
- anonymous: false,
+ type: "event",
+ name: "RoleAdminChanged",
inputs: [
{
- indexed: true,
- internalType: "bytes32",
name: "role",
type: "bytes32",
+ internalType: "bytes32",
+ indexed: true,
},
{
- indexed: true,
- internalType: "bytes32",
name: "previousAdminRole",
type: "bytes32",
+ internalType: "bytes32",
+ indexed: true,
},
{
- indexed: true,
- internalType: "bytes32",
name: "newAdminRole",
type: "bytes32",
+ internalType: "bytes32",
+ indexed: true,
},
],
- name: "RoleAdminChanged",
- type: "event",
+ anonymous: false,
},
{
- anonymous: false,
+ type: "event",
+ name: "RoleGranted",
inputs: [
{
- indexed: true,
- internalType: "bytes32",
name: "role",
type: "bytes32",
+ internalType: "bytes32",
+ indexed: true,
},
{
- indexed: true,
- internalType: "address",
name: "account",
type: "address",
+ internalType: "address",
+ indexed: true,
},
{
- indexed: true,
- internalType: "address",
name: "sender",
type: "address",
+ internalType: "address",
+ indexed: true,
},
],
- name: "RoleGranted",
- type: "event",
+ anonymous: false,
},
{
- anonymous: false,
+ type: "event",
+ name: "RoleRevoked",
inputs: [
{
- indexed: true,
- internalType: "bytes32",
name: "role",
type: "bytes32",
+ internalType: "bytes32",
+ indexed: true,
},
{
- indexed: true,
- internalType: "address",
name: "account",
type: "address",
+ internalType: "address",
+ indexed: true,
},
{
- indexed: true,
- internalType: "address",
name: "sender",
type: "address",
+ internalType: "address",
+ indexed: true,
},
],
- name: "RoleRevoked",
- type: "event",
+ anonymous: false,
},
{
- inputs: [],
+ type: "function",
name: "DEFAULT_ADMIN_ROLE",
+ stateMutability: "view",
+ inputs: [],
outputs: [
{
- internalType: "bytes32",
name: "",
type: "bytes32",
+ internalType: "bytes32",
},
],
- stateMutability: "view",
- type: "function",
},
{
- inputs: [],
+ type: "function",
name: "acceptDefaultAdminTransfer",
- outputs: [],
stateMutability: "nonpayable",
- type: "function",
+ inputs: [],
+ outputs: [],
},
{
+ type: "function",
+ name: "authorize",
+ stateMutability: "nonpayable",
inputs: [
{
- internalType: "uint32",
name: "ritualId",
type: "uint32",
+ internalType: "uint32",
},
{
- internalType: "address[]",
name: "addresses",
type: "address[]",
+ internalType: "address[]",
},
],
- name: "authorize",
outputs: [],
- stateMutability: "nonpayable",
- type: "function",
},
{
+ type: "function",
+ name: "beginDefaultAdminTransfer",
+ stateMutability: "nonpayable",
inputs: [
{
- internalType: "address",
name: "newAdmin",
type: "address",
+ internalType: "address",
},
],
- name: "beginDefaultAdminTransfer",
outputs: [],
- stateMutability: "nonpayable",
- type: "function",
},
{
- inputs: [],
+ type: "function",
name: "cancelDefaultAdminTransfer",
- outputs: [],
stateMutability: "nonpayable",
- type: "function",
+ inputs: [],
+ outputs: [],
},
{
+ type: "function",
+ name: "changeDefaultAdminDelay",
+ stateMutability: "nonpayable",
inputs: [
{
- internalType: "uint48",
name: "newDelay",
type: "uint48",
+ internalType: "uint48",
},
],
- name: "changeDefaultAdminDelay",
outputs: [],
- stateMutability: "nonpayable",
- type: "function",
},
{
- inputs: [],
+ type: "function",
name: "coordinator",
+ stateMutability: "view",
+ inputs: [],
outputs: [
{
- internalType: "contract Coordinator",
name: "",
type: "address",
+ internalType: "contract Coordinator",
},
],
- stateMutability: "view",
- type: "function",
},
{
+ type: "function",
+ name: "deauthorize",
+ stateMutability: "nonpayable",
inputs: [
{
- internalType: "uint32",
name: "ritualId",
type: "uint32",
+ internalType: "uint32",
},
{
- internalType: "address[]",
name: "addresses",
type: "address[]",
+ internalType: "address[]",
},
],
- name: "deauthorize",
outputs: [],
- stateMutability: "nonpayable",
- type: "function",
},
{
- inputs: [],
+ type: "function",
name: "defaultAdmin",
+ stateMutability: "view",
+ inputs: [],
outputs: [
{
- internalType: "address",
name: "",
type: "address",
+ internalType: "address",
},
],
- stateMutability: "view",
- type: "function",
},
{
- inputs: [],
+ type: "function",
name: "defaultAdminDelay",
+ stateMutability: "view",
+ inputs: [],
outputs: [
{
- internalType: "uint48",
name: "",
type: "uint48",
+ internalType: "uint48",
},
],
- stateMutability: "view",
- type: "function",
},
{
- inputs: [],
+ type: "function",
name: "defaultAdminDelayIncreaseWait",
+ stateMutability: "view",
+ inputs: [],
outputs: [
{
- internalType: "uint48",
name: "",
type: "uint48",
+ internalType: "uint48",
},
],
- stateMutability: "view",
- type: "function",
},
{
+ type: "function",
+ name: "getRoleAdmin",
+ stateMutability: "view",
inputs: [
{
- internalType: "bytes32",
name: "role",
type: "bytes32",
+ internalType: "bytes32",
},
],
- name: "getRoleAdmin",
outputs: [
{
- internalType: "bytes32",
name: "",
type: "bytes32",
+ internalType: "bytes32",
},
],
- stateMutability: "view",
- type: "function",
},
{
+ type: "function",
+ name: "grantRole",
+ stateMutability: "nonpayable",
inputs: [
{
- internalType: "bytes32",
name: "role",
type: "bytes32",
+ internalType: "bytes32",
},
{
- internalType: "address",
name: "account",
type: "address",
+ internalType: "address",
},
],
- name: "grantRole",
outputs: [],
- stateMutability: "nonpayable",
- type: "function",
},
{
+ type: "function",
+ name: "hasRole",
+ stateMutability: "view",
inputs: [
{
- internalType: "bytes32",
name: "role",
type: "bytes32",
+ internalType: "bytes32",
},
{
- internalType: "address",
name: "account",
type: "address",
+ internalType: "address",
},
],
- name: "hasRole",
outputs: [
{
- internalType: "bool",
name: "",
type: "bool",
+ internalType: "bool",
},
],
- stateMutability: "view",
- type: "function",
},
{
+ type: "function",
+ name: "isAddressAuthorized",
+ stateMutability: "view",
inputs: [
{
- internalType: "uint32",
name: "ritualId",
type: "uint32",
+ internalType: "uint32",
},
{
- internalType: "address",
name: "encryptor",
type: "address",
+ internalType: "address",
},
],
- name: "isAddressAuthorized",
outputs: [
{
- internalType: "bool",
name: "",
type: "bool",
+ internalType: "bool",
},
],
- stateMutability: "view",
- type: "function",
},
{
+ type: "function",
+ name: "isAuthorized",
+ stateMutability: "view",
inputs: [
{
- internalType: "uint32",
name: "ritualId",
type: "uint32",
+ internalType: "uint32",
},
{
- internalType: "bytes",
name: "evidence",
type: "bytes",
+ internalType: "bytes",
},
{
- internalType: "bytes",
name: "ciphertextHeader",
type: "bytes",
+ internalType: "bytes",
},
],
- name: "isAuthorized",
outputs: [
{
- internalType: "bool",
name: "",
type: "bool",
+ internalType: "bool",
},
],
- stateMutability: "view",
- type: "function",
},
{
- inputs: [],
+ type: "function",
name: "owner",
+ stateMutability: "view",
+ inputs: [],
outputs: [
{
- internalType: "address",
name: "",
type: "address",
+ internalType: "address",
},
],
- stateMutability: "view",
- type: "function",
},
{
- inputs: [],
+ type: "function",
name: "pendingDefaultAdmin",
+ stateMutability: "view",
+ inputs: [],
outputs: [
{
- internalType: "address",
name: "newAdmin",
type: "address",
+ internalType: "address",
},
{
- internalType: "uint48",
name: "schedule",
type: "uint48",
+ internalType: "uint48",
},
],
- stateMutability: "view",
- type: "function",
},
{
- inputs: [],
+ type: "function",
name: "pendingDefaultAdminDelay",
+ stateMutability: "view",
+ inputs: [],
outputs: [
{
- internalType: "uint48",
name: "newDelay",
type: "uint48",
+ internalType: "uint48",
},
{
- internalType: "uint48",
name: "schedule",
type: "uint48",
+ internalType: "uint48",
},
],
- stateMutability: "view",
- type: "function",
},
{
+ type: "function",
+ name: "renounceRole",
+ stateMutability: "nonpayable",
inputs: [
{
- internalType: "bytes32",
name: "role",
type: "bytes32",
+ internalType: "bytes32",
},
{
- internalType: "address",
name: "account",
type: "address",
+ internalType: "address",
},
],
- name: "renounceRole",
outputs: [],
- stateMutability: "nonpayable",
- type: "function",
},
{
+ type: "function",
+ name: "revokeRole",
+ stateMutability: "nonpayable",
inputs: [
{
- internalType: "bytes32",
name: "role",
type: "bytes32",
+ internalType: "bytes32",
},
{
- internalType: "address",
name: "account",
type: "address",
+ internalType: "address",
},
],
- name: "revokeRole",
outputs: [],
- stateMutability: "nonpayable",
- type: "function",
},
{
- inputs: [],
+ type: "function",
name: "rollbackDefaultAdminDelay",
- outputs: [],
stateMutability: "nonpayable",
- type: "function",
+ inputs: [],
+ outputs: [],
},
{
+ type: "function",
+ name: "setCoordinator",
+ stateMutability: "nonpayable",
inputs: [
{
- internalType: "contract Coordinator",
name: "_coordinator",
type: "address",
+ internalType: "contract Coordinator",
},
],
- name: "setCoordinator",
outputs: [],
- stateMutability: "nonpayable",
- type: "function",
},
{
+ type: "function",
+ name: "supportsInterface",
+ stateMutability: "view",
inputs: [
{
- internalType: "bytes4",
name: "interfaceId",
type: "bytes4",
+ internalType: "bytes4",
},
],
- name: "supportsInterface",
outputs: [
{
- internalType: "bool",
name: "",
type: "bool",
+ internalType: "bool",
},
],
- stateMutability: "view",
- type: "function",
},
] as const;
diff --git a/packages/shared/src/contracts/ethers-typechain/factories/SubscriptionManager__factory.ts b/packages/shared/src/contracts/ethers-typechain/factories/SubscriptionManager__factory.ts
index dc2688862..3c18dd173 100644
--- a/packages/shared/src/contracts/ethers-typechain/factories/SubscriptionManager__factory.ts
+++ b/packages/shared/src/contracts/ethers-typechain/factories/SubscriptionManager__factory.ts
@@ -1,8 +1,9 @@
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
-import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
-import type { Provider, TransactionRequest } from "@ethersproject/providers";
+
+import { Contract, Signer, utils } from "ethers";
+import type { Provider } from "@ethersproject/providers";
import type {
SubscriptionManager,
SubscriptionManagerInterface,
@@ -488,44 +489,7 @@ const _abi = [
},
] as const;
-const _bytecode =
- "0x608060405234801561001057600080fd5b506111bc806100206000396000f3fe6080604052600436106100fe5760003560e01c806358db2a7211610095578063978bbdb911610064578063978bbdb9146103e0578063a217fddf146103f6578063d547741f1461040b578063e02023a11461042b578063fe4b84df1461045f57600080fd5b806358db2a721461032557806358f70858146103455780637ef3c6d51461037957806391d14854146103c057600080fd5b80632f2ff15d116100d15780632f2ff15d146102b257806336568abe146102d257806345596e2e146102f25780634f0040411461031257600080fd5b806301681a621461010357806301ffc9a714610125578063248a9ca31461015a5780632c81516114610198575b600080fd5b34801561010f57600080fd5b5061012361011e366004610e65565b61047f565b005b34801561013157600080fd5b50610145610140366004610e82565b61054a565b60405190151581526020015b60405180910390f35b34801561016657600080fd5b5061018a610175366004610eac565b60009081526065602052604090206001015490565b604051908152602001610151565b3480156101a457600080fd5b506102576101b3366004610ee2565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160801b031916600090815260986020908152604091829020825160a08101845281546001600160a01b038082168352600160a01b820463ffffffff90811695840195909552600160c01b820490941694820194909452600160e01b90930461ffff1660608401526001015416608082015290565b604051610151919081516001600160a01b03908116825260208084015163ffffffff908116918401919091526040808501519091169083015260608084015161ffff1690830152608092830151169181019190915260a00190565b3480156102be57600080fd5b506101236102cd366004610efd565b610581565b3480156102de57600080fd5b506101236102ed366004610efd565b6105ac565b3480156102fe57600080fd5b5061012361030d366004610eac565b61062a565b610123610320366004610f53565b61065e565b34801561033157600080fd5b5061018a610340366004610fba565b610723565b34801561035157600080fd5b5061018a7f637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a09781565b34801561038557600080fd5b50610145610394366004610ee2565b6001600160801b03191660009081526098602052604090205442600160c01b90910463ffffffff161190565b3480156103cc57600080fd5b506101456103db366004610efd565b6107f3565b3480156103ec57600080fd5b5061018a60975481565b34801561040257600080fd5b5061018a600081565b34801561041757600080fd5b50610123610426366004610efd565b61081e565b34801561043757600080fd5b5061018a7fc1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a3581565b34801561046b57600080fd5b5061012361047a366004610eac565b610844565b7fc1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a356104aa8133610965565b60405147906000906001600160a01b0385169083908381818185875af1925050503d80600081146104f7576040519150601f19603f3d011682016040523d82523d6000602084013e6104fc565b606091505b50509050806105445760405162461bcd60e51b815260206004820152600f60248201526e2330b4b632b2103a3930b739b332b960891b60448201526064015b60405180910390fd5b50505050565b60006001600160e01b03198216637965db0b60e01b148061057b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008281526065602052604090206001015461059d8133610965565b6105a783836109c9565b505050565b6001600160a01b038116331461061c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161053b565b6106268282610a4f565b5050565b7f637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a0976106558133610965565b61062682610ab6565b8063ffffffff168263ffffffff1610801561067e57508063ffffffff1642105b6106bf5760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642074696d657374616d707360701b604482015260640161053b565b6106ca838383610723565b341461070e5760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081c1bdb1a58de4818dbdcdd606a1b604482015260640161053b565b61071b8585858585610afb565b505050505050565b6000806107308484611013565b905060008163ffffffff161161077d5760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642074696d657374616d707360701b604482015260640161053b565b60008561ffff16116107c75760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420706f6c6963792073697a6560681b604482015260640161053b565b8063ffffffff168561ffff166097546107e09190611038565b6107ea9190611038565b95945050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008281526065602052604090206001015461083a8133610965565b6105a78383610a4f565b600054610100900460ff1661085f5760005460ff1615610863565b303b155b6108c65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161053b565b600054610100900460ff161580156108e8576000805461ffff19166101011790555b6108f182610ab6565b61091b7f637ca263f44c0a7e4a3b057e26c82c5667c084aa950864a2916355c481f6a09733610ca0565b6109457fc1f0c13d12a4ca09aada5725e24c49160e8f198a4ca0d2bd4dafc9c5c12e6a3533610ca0565b610950600033610ca0565b8015610626576000805461ff00191690555050565b61096f82826107f3565b61062657610987816001600160a01b03166014610caa565b610992836020610caa565b6040516020016109a3929190611083565b60408051601f198184030181529082905262461bcd60e51b825261053b916004016110f8565b6109d382826107f3565b6106265760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a0b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610a5982826107f3565b156106265760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b609780549082905560408051828152602081018490527f14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957910160405180910390a15050565b6001600160801b031985166000908152609860205260409020805442600160c01b90910463ffffffff1610610b725760405162461bcd60e51b815260206004820152601a60248201527f506f6c6963792069732063757272656e746c7920616374697665000000000000604482015260640161053b565b805461ffff8516600160e01b0261ffff60e01b1963ffffffff858116600160c01b029190911665ffffffffffff60c01b19918716600160a01b0263ffffffff60a01b19339081166001600160c01b0319909616959095171791909116171782556001600160a01b03861614801590610bf257506001600160a01b03851615155b15610c15576001810180546001600160a01b0319166001600160a01b0387161790555b6001600160a01b03851615610c2a5784610c2c565b335b6040805161ffff8716815263ffffffff868116602083015285168183015234606082015290516001600160a01b03929092169133916001600160801b03198a16917f3e7e513ddaf550a2b9b8c400d5a2428f924d4aae6d8de14c1e2c42e8431fca159181900360800190a495945050505050565b61062682826109c9565b60606000610cb9836002611038565b610cc490600261112b565b67ffffffffffffffff811115610cdc57610cdc611143565b6040519080825280601f01601f191660200182016040528015610d06576020820181803683370190505b509050600360fc1b81600081518110610d2157610d21611159565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610d5057610d50611159565b60200101906001600160f81b031916908160001a9053506000610d74846002611038565b610d7f90600161112b565b90505b6001811115610df7576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610db357610db3611159565b1a60f81b828281518110610dc957610dc9611159565b60200101906001600160f81b031916908160001a90535060049490941c93610df08161116f565b9050610d82565b508315610e465760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161053b565b9392505050565b6001600160a01b0381168114610e6257600080fd5b50565b600060208284031215610e7757600080fd5b8135610e4681610e4d565b600060208284031215610e9457600080fd5b81356001600160e01b031981168114610e4657600080fd5b600060208284031215610ebe57600080fd5b5035919050565b80356001600160801b031981168114610edd57600080fd5b919050565b600060208284031215610ef457600080fd5b610e4682610ec5565b60008060408385031215610f1057600080fd5b823591506020830135610f2281610e4d565b809150509250929050565b803561ffff81168114610edd57600080fd5b803563ffffffff81168114610edd57600080fd5b600080600080600060a08688031215610f6b57600080fd5b610f7486610ec5565b94506020860135610f8481610e4d565b9350610f9260408701610f2d565b9250610fa060608701610f3f565b9150610fae60808701610f3f565b90509295509295909350565b600080600060608486031215610fcf57600080fd5b610fd884610f2d565b9250610fe660208501610f3f565b9150610ff460408501610f3f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8381169083168181101561103057611030610ffd565b039392505050565b600081600019048311821515161561105257611052610ffd565b500290565b60005b8381101561107257818101518382015260200161105a565b838111156105445750506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516110bb816017850160208801611057565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516110ec816028840160208801611057565b01602801949350505050565b6020815260008251806020840152611117816040850160208701611057565b601f01601f19169190910160400192915050565b6000821982111561113e5761113e610ffd565b500190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008161117e5761117e610ffd565b50600019019056fea26469706673582212207579dc0a825776e3c879b178544a69dd8110090a91fe12ab18231504b8be3ae964736f6c634300080c0033";
-
-type SubscriptionManagerConstructorParams =
- | [signer?: Signer]
- | ConstructorParameters;
-
-const isSuperArgs = (
- xs: SubscriptionManagerConstructorParams
-): xs is ConstructorParameters => xs.length > 1;
-
-export class SubscriptionManager__factory extends ContractFactory {
- constructor(...args: SubscriptionManagerConstructorParams) {
- if (isSuperArgs(args)) {
- super(...args);
- } else {
- super(_abi, _bytecode, args[0]);
- }
- }
-
- override deploy(
- overrides?: Overrides & { from?: string }
- ): Promise {
- return super.deploy(overrides || {}) as Promise;
- }
- override getDeployTransaction(
- overrides?: Overrides & { from?: string }
- ): TransactionRequest {
- return super.getDeployTransaction(overrides || {});
- }
- override attach(address: string): SubscriptionManager {
- return super.attach(address) as SubscriptionManager;
- }
- override connect(signer: Signer): SubscriptionManager__factory {
- return super.connect(signer) as SubscriptionManager__factory;
- }
-
- static readonly bytecode = _bytecode;
+export class SubscriptionManager__factory {
static readonly abi = _abi;
static createInterface(): SubscriptionManagerInterface {
return new utils.Interface(_abi) as SubscriptionManagerInterface;
diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json
index 8d2d7c3d7..8336571c0 100644
--- a/packages/shared/tsconfig.json
+++ b/packages/shared/tsconfig.json
@@ -4,5 +4,6 @@
"compilerOptions": {
"esModuleInterop": true,
"skipLibCheck": true,
+ "resolveJsonModule": true
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4c2caa734..c0d21e84f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -472,6 +472,9 @@ importers:
'@ethersproject/providers':
specifier: ^5.7.2
version: 5.7.2
+ '@nucypher/nucypher-contracts':
+ specifier: ^0.5.0
+ version: 0.5.0
'@nucypher/nucypher-core':
specifier: 0.13.0-alpha.1
version: 0.13.0-alpha.1
@@ -497,6 +500,9 @@ importers:
'@types/qs':
specifier: ^6.9.7
version: 6.9.8
+ '@types/tmp':
+ specifier: ^0.2.4
+ version: 0.2.4
cz-conventional-changelog:
specifier: ^3.0.1
version: 3.3.0
@@ -3358,6 +3364,10 @@ packages:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.15.0
+ /@nucypher/nucypher-contracts@0.5.0:
+ resolution: {integrity: sha512-X5RCvcl/LRkCH2jmRViM9orD4/OmX+RLo3M9Sl9PWtegMBNW4NI376c3ybS6EHmAWQ7b7E09rJ27LWz8YFhXjQ==}
+ dev: false
+
/@nucypher/nucypher-core@0.13.0-alpha.1:
resolution: {integrity: sha512-uKu/YLTZ6mqkQ2kaQMJs/USUiw9EYFtaZU6FaD8zAN8XKLpHYuYD13BDfU7idR1nZIKjL/E5xIoVJFV3Dx0x2w==}
dev: false
@@ -3952,6 +3962,10 @@ packages:
resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==}
dev: true
+ /@types/tmp@0.2.4:
+ resolution: {integrity: sha512-Vq3rwM+2KgiLacq68EjTJD9cuJ/ne5pXntWn8B8Rxj25SLkGAhCgooCZ1lhcIcV5OFveJ+s5Cqpi+XKfFM/xZA==}
+ dev: true
+
/@types/trusted-types@2.0.4:
resolution: {integrity: sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==}
dev: true
From e68eb8b4d5bcdfbedbb8c8eb45697fba69e3f0b1 Mon Sep 17 00:00:00 2001
From: LunarBytes
Date: Wed, 11 Oct 2023 19:07:09 +0200
Subject: [PATCH 3/8] Update packages/shared/package.json
---
packages/shared/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/shared/package.json b/packages/shared/package.json
index b915c00d4..535d8cc5a 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -41,7 +41,7 @@
"dependencies": {
"@ethersproject/abi": "^5.7.0",
"@ethersproject/providers": "^5.7.2",
- "@nucypher/nucypher-contracts": "^0.5.0",
+ "@nucypher/nucypher-contracts": "^0.6.0",
"@nucypher/nucypher-core": "0.13.0-alpha.1",
"axios": "^1.5.0",
"deep-equal": "^2.2.1",
From 948193b6682ed83281802bf9ea3e9e445e6edbc7 Mon Sep 17 00:00:00 2001
From: Piotr Roslaniec
Date: Mon, 16 Oct 2023 11:56:01 +0200
Subject: [PATCH 4/8] chore: update lockfile
---
pnpm-lock.yaml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c0d21e84f..95df3acd5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -473,8 +473,8 @@ importers:
specifier: ^5.7.2
version: 5.7.2
'@nucypher/nucypher-contracts':
- specifier: ^0.5.0
- version: 0.5.0
+ specifier: ^0.6.0
+ version: 0.6.0
'@nucypher/nucypher-core':
specifier: 0.13.0-alpha.1
version: 0.13.0-alpha.1
@@ -3364,8 +3364,8 @@ packages:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.15.0
- /@nucypher/nucypher-contracts@0.5.0:
- resolution: {integrity: sha512-X5RCvcl/LRkCH2jmRViM9orD4/OmX+RLo3M9Sl9PWtegMBNW4NI376c3ybS6EHmAWQ7b7E09rJ27LWz8YFhXjQ==}
+ /@nucypher/nucypher-contracts@0.6.0:
+ resolution: {integrity: sha512-fPnyULgCivPH/3YhvNMPtMsV25Nr7MqTkzwB2NCNNt8JgEv0gfn4i3rGtGj7R/0AJtk1h2YKvOz2qmRqHOxfmg==}
dev: false
/@nucypher/nucypher-core@0.13.0-alpha.1:
From 80ccc72e02d657df8c2b25652bffde4df35d87f5 Mon Sep 17 00:00:00 2001
From: Piotr Roslaniec
Date: Tue, 17 Oct 2023 12:14:13 +0200
Subject: [PATCH 5/8] feature: expose domain in user facing apis
---
examples/README.md | 4 +-
examples/pre/nextjs/src/app/page.tsx | 15 +-
examples/pre/nodejs/src/index.ts | 9 +-
examples/pre/react/src/App.tsx | 5 +-
examples/pre/webpack-5/README.md | 3 +-
examples/pre/webpack-5/src/index.ts | 4 +-
examples/taco/nextjs/src/app/page.tsx | 38 +-
examples/taco/nodejs/src/index.ts | 12 +-
examples/taco/react/README.md | 5 +-
examples/taco/react/src/App.tsx | 36 +-
examples/taco/webpack-5/src/index.html | 3 +-
examples/taco/webpack-5/src/index.ts | 12 +-
packages/pre/src/characters/alice.ts | 5 +-
packages/pre/src/policy.ts | 10 +-
.../pre/test/acceptance/alice-grants.test.ts | 3 +-
.../pre/test/acceptance/delay-enact.test.ts | 4 +-
packages/shared/.eslintrc.js | 4 +-
packages/shared/package.json | 2 +-
packages/shared/scripts/typechain.ts | 52 +-
.../src/contracts/agents/coordinator.ts | 32 +-
.../src/contracts/agents/global-allow-list.ts | 25 +-
.../contracts/agents/subscription-manager.ts | 25 +-
.../contracts/ethers-typechain/Coordinator.ts | 1176 +++++++-------
.../ethers-typechain/GlobalAllowList.ts | 534 +++----
.../ethers-typechain/SubscriptionManager.ts | 384 ++---
.../src/contracts/ethers-typechain/common.ts | 10 +-
.../factories/Coordinator__factory.ts | 1374 ++++++++---------
.../factories/GlobalAllowList__factory.ts | 496 +++---
.../factories/SubscriptionManager__factory.ts | 466 +++---
.../ethers-typechain/factories/index.ts | 6 +-
.../src/contracts/ethers-typechain/index.ts | 14 +-
packages/shared/src/contracts/registry.ts | 80 +-
packages/shared/tsconfig.build.json | 2 +-
packages/shared/tsconfig.cjs.json | 2 +-
packages/taco/src/dkg.ts | 15 +-
packages/taco/src/index.ts | 2 +-
packages/taco/src/taco.ts | 14 +-
packages/taco/src/tdec.ts | 5 +
packages/taco/test/taco.test.ts | 4 +-
pnpm-lock.yaml | 8 +-
40 files changed, 2507 insertions(+), 2393 deletions(-)
diff --git a/examples/README.md b/examples/README.md
index 424eaeb32..328785eda 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -3,5 +3,5 @@
This directory contains a set of examples showing how to integrate `@nucypher/*`
into your application.
-Refer to `./taco` for examples of how to use the `@nucypher/taco` package.
-Refer to `./pre` for examples of how to use the `@nucypher/pre` package.
+Refer to `./taco` for examples of how to use the `@nucypher/taco` package. Refer
+to `./pre` for examples of how to use the `@nucypher/pre` package.
diff --git a/examples/pre/nextjs/src/app/page.tsx b/examples/pre/nextjs/src/app/page.tsx
index 5e612d6b6..670e03b81 100644
--- a/examples/pre/nextjs/src/app/page.tsx
+++ b/examples/pre/nextjs/src/app/page.tsx
@@ -9,8 +9,8 @@ import {
SecretKey,
toHexString,
} from '@nucypher/pre';
-import {ethers} from 'ethers';
-import {useEffect, useState} from 'react';
+import { ethers } from 'ethers';
+import { useEffect, useState } from 'react';
// eslint-disable-next-line @typescript-eslint/no-explicit-any
declare const window: any;
@@ -35,12 +35,12 @@ function App() {
}
const provider = new ethers.providers.Web3Provider(window.ethereum, 'any');
- const {chainId} = await provider.getNetwork();
+ const { chainId } = await provider.getNetwork();
if (chainId !== 80001) {
// Switch to Matic Mumbai testnet
await window.ethereum.request({
method: 'wallet_switchEthereumChain',
- params: [{chainId: '0x13881'}],
+ params: [{ chainId: '0x13881' }],
});
}
@@ -68,8 +68,8 @@ function App() {
};
const makeRemoteBob = (bob: Bob) => {
- const {decryptingKey, verifyingKey} = bob;
- return {decryptingKey, verifyingKey};
+ const { decryptingKey, verifyingKey } = bob;
+ return { decryptingKey, verifyingKey };
};
const makeCharacters = () => {
@@ -107,7 +107,8 @@ function App() {
const policy = await alice.grant(
provider,
provider.getSigner(),
- getPorterUri(domains.TESTNET),
+ domains.DEV,
+ getPorterUri(domains.DEV),
policyParams,
);
diff --git a/examples/pre/nodejs/src/index.ts b/examples/pre/nodejs/src/index.ts
index 931567605..4d1477286 100644
--- a/examples/pre/nodejs/src/index.ts
+++ b/examples/pre/nodejs/src/index.ts
@@ -59,11 +59,16 @@ const runExample = async () => {
startDate: new Date(),
endDate: new Date(Date.now() + 1000 * 60 * 60 * 24 * 30), // In 30 days,
};
- const porterUri = getPorterUri(domains.TESTNET);
const alice = makeAlice();
console.log('Creating policy...');
- const policy = await alice.grant(provider, signer, porterUri, policyParams);
+ const policy = await alice.grant(
+ provider,
+ signer,
+ domains.DEV,
+ getPorterUri(domains.DEV),
+ policyParams,
+ );
console.log('Policy created:');
console.log({ policy });
diff --git a/examples/pre/react/src/App.tsx b/examples/pre/react/src/App.tsx
index 54d9ea5a3..d1c581fe5 100644
--- a/examples/pre/react/src/App.tsx
+++ b/examples/pre/react/src/App.tsx
@@ -6,7 +6,7 @@ import {
getPorterUri,
initialize,
SecretKey,
- toHexString
+ toHexString,
} from '@nucypher/pre';
import { ethers } from 'ethers';
import { useEffect, useState } from 'react';
@@ -98,7 +98,8 @@ function App() {
const policy = await alice.grant(
provider,
provider.getSigner(),
- getPorterUri(domains.TESTNET),
+ domains.DEV,
+ getPorterUri(domains.DEV),
policyParams,
);
diff --git a/examples/pre/webpack-5/README.md b/examples/pre/webpack-5/README.md
index 8e5b61600..cfcaa7be2 100644
--- a/examples/pre/webpack-5/README.md
+++ b/examples/pre/webpack-5/README.md
@@ -9,4 +9,5 @@ pnpm install
pnpm start
```
-Go to [localhost:8080](http://localhost:8080/) in your browser and look in the JS console.
+Go to [localhost:8080](http://localhost:8080/) in your browser and look in the
+JS console.
diff --git a/examples/pre/webpack-5/src/index.ts b/examples/pre/webpack-5/src/index.ts
index fe05e1f4b..1ba98ba42 100644
--- a/examples/pre/webpack-5/src/index.ts
+++ b/examples/pre/webpack-5/src/index.ts
@@ -65,13 +65,13 @@ const runExample = async () => {
startDate,
endDate,
};
- const porterUri = getPorterUri(domains.TESTNET);
const alice = makeAlice();
const policy = await alice.grant(
provider,
provider.getSigner(),
- porterUri,
+ domains.DEV,
+ getPorterUri(domains.DEV),
policyParams,
);
diff --git a/examples/taco/nextjs/src/app/page.tsx b/examples/taco/nextjs/src/app/page.tsx
index adc7e6393..b2f350926 100644
--- a/examples/taco/nextjs/src/app/page.tsx
+++ b/examples/taco/nextjs/src/app/page.tsx
@@ -6,10 +6,10 @@ import {
encrypt,
fromBytes,
getPorterUri,
- initialize
+ initialize,
} from '@nucypher/taco';
-import {ethers} from 'ethers';
-import {useEffect, useState} from 'react';
+import { ethers } from 'ethers';
+import { useEffect, useState } from 'react';
// eslint-disable-next-line @typescript-eslint/no-explicit-any
declare const window: any;
@@ -21,7 +21,9 @@ function App() {
const [provider, setProvider] = useState<
ethers.providers.Web3Provider | undefined
>();
- const [decryptedMessage, setDecryptedMessage] = useState("");
+ const [decryptedMessage, setDecryptedMessage] = useState(
+ '',
+ );
const initNucypher = async () => {
await initialize();
@@ -34,12 +36,12 @@ function App() {
}
const provider = new ethers.providers.Web3Provider(window.ethereum, 'any');
- const {chainId} = await provider.getNetwork();
+ const { chainId } = await provider.getNetwork();
if (chainId !== 80001) {
// Switch to Matic Mumbai testnet
await window.ethereum.request({
method: 'wallet_switchEthereumChain',
- params: [{chainId: '0x13881'}],
+ params: [{ chainId: '0x13881' }],
});
}
@@ -67,12 +69,12 @@ function App() {
await provider.send('eth_requestAccounts', []);
const signer = provider.getSigner();
- const {chainId} = await provider.getNetwork();
+ const { chainId } = await provider.getNetwork();
if (chainId !== 80001) {
// Switch to Matic Mumbai testnet
await window.ethereum!.request!({
method: 'wallet_switchEthereumChain',
- params: [{chainId: '0x13881'}],
+ params: [{ chainId: '0x13881' }],
});
}
@@ -88,11 +90,23 @@ function App() {
},
});
const ritualId = 2; // Replace with your own ritual ID
- const messageKit = await encrypt(provider, message, hasPositiveBalance, ritualId, signer);
+ const messageKit = await encrypt(
+ provider,
+ domains.DEV,
+ message,
+ hasPositiveBalance,
+ ritualId,
+ signer,
+ );
console.log('Decrypting message...');
- const porterUri = getPorterUri(domains.DEV);
- const decryptedMessage = await decrypt(provider, messageKit,porterUri,signer);
+ const decryptedMessage = await decrypt(
+ provider,
+ domains.DEV,
+ messageKit,
+ getPorterUri(domains.DEV),
+ signer,
+ );
setDecryptedMessage(fromBytes(decryptedMessage));
};
@@ -100,7 +114,7 @@ function App() {
return (
Secret message: {message}
- {(decryptedMessage && Decrypted message: {decryptedMessage}
)}
+ {decryptedMessage && Decrypted message: {decryptedMessage}
}
);
diff --git a/examples/taco/nodejs/src/index.ts b/examples/taco/nodejs/src/index.ts
index 339fc7cb9..bfd71fc76 100644
--- a/examples/taco/nodejs/src/index.ts
+++ b/examples/taco/nodejs/src/index.ts
@@ -1,11 +1,11 @@
import {
conditions,
decrypt,
+ domains,
encrypt,
fromBytes,
getPorterUri,
initialize,
- domains,
toBytes,
} from '@nucypher/taco';
import * as dotenv from 'dotenv';
@@ -51,6 +51,7 @@ const runExample = async () => {
const ritualId = 1; // Replace with your own ritual ID
const messageKit = await encrypt(
provider,
+ domains.DEV,
message,
hasPositiveBalance,
ritualId,
@@ -58,8 +59,13 @@ const runExample = async () => {
);
console.log('Decrypting message...');
- const porterUri = getPorterUri(domains.DEV);
- const decryptedBytes = await decrypt(provider, messageKit, porterUri, signer);
+ const decryptedBytes = await decrypt(
+ provider,
+ domains.DEV,
+ messageKit,
+ getPorterUri(domains.DEV),
+ signer,
+ );
const decryptedMessageString = fromBytes(decryptedBytes);
console.log('Decrypted message:', decryptedMessageString);
console.assert(
diff --git a/examples/taco/react/README.md b/examples/taco/react/README.md
index 5c1ef1c92..feb4ee5a4 100644
--- a/examples/taco/react/README.md
+++ b/examples/taco/react/README.md
@@ -2,8 +2,9 @@
Shows how to integrate `@nucypher/taco` into a React application.
-In order to load WASM dependencies of `@nucypher/taco`, we override the `react-scripts` configuration with `craco`. For
-more details, see the `craco.config.js` file.
+In order to load WASM dependencies of `@nucypher/taco`, we override the
+`react-scripts` configuration with `craco`. For more details, see the
+`craco.config.js` file.
## Usage
diff --git a/examples/taco/react/src/App.tsx b/examples/taco/react/src/App.tsx
index ad77f772a..821f1c589 100644
--- a/examples/taco/react/src/App.tsx
+++ b/examples/taco/react/src/App.tsx
@@ -7,8 +7,8 @@ import {
getPorterUri,
initialize,
} from '@nucypher/taco';
-import {ethers} from 'ethers';
-import {useEffect, useState} from 'react';
+import { ethers } from 'ethers';
+import { useEffect, useState } from 'react';
// eslint-disable-next-line @typescript-eslint/no-explicit-any
declare const window: any;
@@ -20,7 +20,9 @@ function App() {
const [provider, setProvider] = useState<
ethers.providers.Web3Provider | undefined
>();
- const [decryptedMessage, setDecryptedMessage] = useState("");
+ const [decryptedMessage, setDecryptedMessage] = useState(
+ '',
+ );
const initNucypher = async () => {
await initialize();
@@ -33,12 +35,12 @@ function App() {
}
const provider = new ethers.providers.Web3Provider(window.ethereum, 'any');
- const {chainId} = await provider.getNetwork();
+ const { chainId } = await provider.getNetwork();
if (chainId !== 80001) {
// Switch to Matic Mumbai testnet
await window.ethereum.request({
method: 'wallet_switchEthereumChain',
- params: [{chainId: '0x13881'}],
+ params: [{ chainId: '0x13881' }],
});
}
@@ -66,12 +68,12 @@ function App() {
await provider.send('eth_requestAccounts', []);
const signer = provider.getSigner();
- const {chainId} = await provider.getNetwork();
+ const { chainId } = await provider.getNetwork();
if (chainId !== 80001) {
// Switch to Matic Mumbai testnet
await window.ethereum!.request!({
method: 'wallet_switchEthereumChain',
- params: [{chainId: '0x13881'}],
+ params: [{ chainId: '0x13881' }],
});
}
@@ -87,11 +89,23 @@ function App() {
},
});
const ritualId = 2; // Replace with your own ritual ID
- const messageKit = await encrypt(provider, message, hasPositiveBalance, ritualId, signer);
+ const messageKit = await encrypt(
+ provider,
+ domains.DEV,
+ message,
+ hasPositiveBalance,
+ ritualId,
+ signer,
+ );
console.log('Decrypting message...');
- const porterUri = getPorterUri(domains.DEV);
- const decryptedMessage = await decrypt(provider, messageKit, porterUri, signer);
+ const decryptedMessage = await decrypt(
+ provider,
+ domains.DEV,
+ messageKit,
+ getPorterUri(domains.DEV),
+ signer,
+ );
setDecryptedMessage(fromBytes(decryptedMessage));
};
@@ -99,7 +113,7 @@ function App() {
return (
Secret message: {message}
- {(decryptedMessage && Decrypted message: {decryptedMessage}
)}
+ {decryptedMessage && Decrypted message: {decryptedMessage}
}
);
diff --git a/examples/taco/webpack-5/src/index.html b/examples/taco/webpack-5/src/index.html
index 6e9349b3e..d6c74d500 100644
--- a/examples/taco/webpack-5/src/index.html
+++ b/examples/taco/webpack-5/src/index.html
@@ -6,7 +6,8 @@
-