├── .gitignore ├── .solcover.js ├── .yarnrc.yml ├── README.md ├── contracts ├── Ramp.sol ├── external │ ├── AddressArrayUtils.sol │ ├── Bytes32ArrayUtils.sol │ ├── DateTime.sol │ └── Uint256ArrayUtils.sol ├── interfaces │ ├── IPoseidon.sol │ ├── IPoseidon3.sol │ ├── IPoseidon6.sol │ ├── IRegistrationProcessor.sol │ └── IUPISendProcessor.sol ├── mocks │ └── USDCMock.sol └── processors │ ├── BaseProcessor.sol │ ├── UPIRegistrationProcessor.sol │ ├── UPISendProcessor.sol │ └── nullifierRegistries │ ├── INullifierRegistry.sol │ └── NullifierRegistry.sol ├── deploy └── 01_deploy_upi_contracts.ts ├── deployments ├── goerli │ ├── .chainId │ ├── NullifierRegistry.json │ ├── Poseidon3.json │ ├── Poseidon6.json │ ├── UPIRamp.json │ ├── UPIRegistrationProcessor.json │ ├── UPISendProcessor.json │ ├── USDCMock.json │ └── solcInputs │ │ └── 830257b29fcbbf18f9e1d1182e9c74c1.json ├── helpers.ts ├── mantle │ ├── .chainId │ ├── NullifierRegistry.json │ ├── Poseidon3.json │ ├── Poseidon6.json │ ├── UPIRamp.json │ ├── UPIRegistrationProcessor.json │ ├── UPISendProcessor.json │ ├── USDCMock.json │ └── solcInputs │ │ ├── 830257b29fcbbf18f9e1d1182e9c74c1.json │ │ └── 936a03414a849181ad1343bf5c153c51.json ├── parameters.ts └── scroll_sepolia │ ├── .chainId │ ├── Poseidon3.json │ ├── USDCMock.json │ └── solcInputs │ └── 830257b29fcbbf18f9e1d1182e9c74c1.json ├── hardhat.config.ts ├── package.json ├── tsconfig.json ├── utils ├── common │ ├── blockchainUtils.ts │ ├── index.ts │ └── units.ts ├── constants.ts └── types.ts └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/.gitignore -------------------------------------------------------------------------------- /.solcover.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/.solcover.js -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nodeLinker: node-modules 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # zkP2M 2 | -------------------------------------------------------------------------------- /contracts/Ramp.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/Ramp.sol -------------------------------------------------------------------------------- /contracts/external/AddressArrayUtils.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/external/AddressArrayUtils.sol -------------------------------------------------------------------------------- /contracts/external/Bytes32ArrayUtils.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/external/Bytes32ArrayUtils.sol -------------------------------------------------------------------------------- /contracts/external/DateTime.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/external/DateTime.sol -------------------------------------------------------------------------------- /contracts/external/Uint256ArrayUtils.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/external/Uint256ArrayUtils.sol -------------------------------------------------------------------------------- /contracts/interfaces/IPoseidon.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/interfaces/IPoseidon.sol -------------------------------------------------------------------------------- /contracts/interfaces/IPoseidon3.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/interfaces/IPoseidon3.sol -------------------------------------------------------------------------------- /contracts/interfaces/IPoseidon6.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/interfaces/IPoseidon6.sol -------------------------------------------------------------------------------- /contracts/interfaces/IRegistrationProcessor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/interfaces/IRegistrationProcessor.sol -------------------------------------------------------------------------------- /contracts/interfaces/IUPISendProcessor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/interfaces/IUPISendProcessor.sol -------------------------------------------------------------------------------- /contracts/mocks/USDCMock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/mocks/USDCMock.sol -------------------------------------------------------------------------------- /contracts/processors/BaseProcessor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/processors/BaseProcessor.sol -------------------------------------------------------------------------------- /contracts/processors/UPIRegistrationProcessor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/processors/UPIRegistrationProcessor.sol -------------------------------------------------------------------------------- /contracts/processors/UPISendProcessor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/processors/UPISendProcessor.sol -------------------------------------------------------------------------------- /contracts/processors/nullifierRegistries/INullifierRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/processors/nullifierRegistries/INullifierRegistry.sol -------------------------------------------------------------------------------- /contracts/processors/nullifierRegistries/NullifierRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/contracts/processors/nullifierRegistries/NullifierRegistry.sol -------------------------------------------------------------------------------- /deploy/01_deploy_upi_contracts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deploy/01_deploy_upi_contracts.ts -------------------------------------------------------------------------------- /deployments/goerli/.chainId: -------------------------------------------------------------------------------- 1 | 5 -------------------------------------------------------------------------------- /deployments/goerli/NullifierRegistry.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/goerli/NullifierRegistry.json -------------------------------------------------------------------------------- /deployments/goerli/Poseidon3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/goerli/Poseidon3.json -------------------------------------------------------------------------------- /deployments/goerli/Poseidon6.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/goerli/Poseidon6.json -------------------------------------------------------------------------------- /deployments/goerli/UPIRamp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/goerli/UPIRamp.json -------------------------------------------------------------------------------- /deployments/goerli/UPIRegistrationProcessor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/goerli/UPIRegistrationProcessor.json -------------------------------------------------------------------------------- /deployments/goerli/UPISendProcessor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/goerli/UPISendProcessor.json -------------------------------------------------------------------------------- /deployments/goerli/USDCMock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/goerli/USDCMock.json -------------------------------------------------------------------------------- /deployments/goerli/solcInputs/830257b29fcbbf18f9e1d1182e9c74c1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/goerli/solcInputs/830257b29fcbbf18f9e1d1182e9c74c1.json -------------------------------------------------------------------------------- /deployments/helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/helpers.ts -------------------------------------------------------------------------------- /deployments/mantle/.chainId: -------------------------------------------------------------------------------- 1 | 5001 -------------------------------------------------------------------------------- /deployments/mantle/NullifierRegistry.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/mantle/NullifierRegistry.json -------------------------------------------------------------------------------- /deployments/mantle/Poseidon3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/mantle/Poseidon3.json -------------------------------------------------------------------------------- /deployments/mantle/Poseidon6.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/mantle/Poseidon6.json -------------------------------------------------------------------------------- /deployments/mantle/UPIRamp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/mantle/UPIRamp.json -------------------------------------------------------------------------------- /deployments/mantle/UPIRegistrationProcessor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/mantle/UPIRegistrationProcessor.json -------------------------------------------------------------------------------- /deployments/mantle/UPISendProcessor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/mantle/UPISendProcessor.json -------------------------------------------------------------------------------- /deployments/mantle/USDCMock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/mantle/USDCMock.json -------------------------------------------------------------------------------- /deployments/mantle/solcInputs/830257b29fcbbf18f9e1d1182e9c74c1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/mantle/solcInputs/830257b29fcbbf18f9e1d1182e9c74c1.json -------------------------------------------------------------------------------- /deployments/mantle/solcInputs/936a03414a849181ad1343bf5c153c51.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/mantle/solcInputs/936a03414a849181ad1343bf5c153c51.json -------------------------------------------------------------------------------- /deployments/parameters.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/parameters.ts -------------------------------------------------------------------------------- /deployments/scroll_sepolia/.chainId: -------------------------------------------------------------------------------- 1 | 534351 -------------------------------------------------------------------------------- /deployments/scroll_sepolia/Poseidon3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/scroll_sepolia/Poseidon3.json -------------------------------------------------------------------------------- /deployments/scroll_sepolia/USDCMock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/scroll_sepolia/USDCMock.json -------------------------------------------------------------------------------- /deployments/scroll_sepolia/solcInputs/830257b29fcbbf18f9e1d1182e9c74c1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/deployments/scroll_sepolia/solcInputs/830257b29fcbbf18f9e1d1182e9c74c1.json -------------------------------------------------------------------------------- /hardhat.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/hardhat.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/package.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/tsconfig.json -------------------------------------------------------------------------------- /utils/common/blockchainUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/utils/common/blockchainUtils.ts -------------------------------------------------------------------------------- /utils/common/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/utils/common/index.ts -------------------------------------------------------------------------------- /utils/common/units.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/utils/common/units.ts -------------------------------------------------------------------------------- /utils/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/utils/constants.ts -------------------------------------------------------------------------------- /utils/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/utils/types.ts -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zkP2M/zkP2M-contracts/HEAD/yarn.lock --------------------------------------------------------------------------------