Skip to content

Commit

Permalink
PermitValidator ✶⋆.˚
Browse files Browse the repository at this point in the history
  • Loading branch information
z0r0z committed Sep 21, 2024
1 parent 7de36a3 commit 896a636
Show file tree
Hide file tree
Showing 38 changed files with 84 additions and 78 deletions.
33 changes: 16 additions & 17 deletions .gas-snapshot
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AccountTest:testCdFallback() (gas: 474761)
AccountTest:testCdFallback2() (gas: 1250648)
AccountTest:testDelegateExecute() (gas: 405025)
AccountTest:testDelegateExecute(uint256) (runs: 256, μ: 395336, ~: 384505)
AccountTest:testDelegateExecute(uint256) (runs: 261, μ: 393623, ~: 384505)
AccountTest:testDelegateExecuteRevertsIfOwnerSlotValueChanged() (gas: 360174)
AccountTest:testDepositFunctions() (gas: 533569)
AccountTest:testDirectStorage() (gas: 70164)
Expand Down Expand Up @@ -29,10 +29,10 @@ JointValidatorTest:testJointUserOp() (gas: 186)
KeysTest:testDeploy() (gas: 568553)
KeysTest:testInstall() (gas: 56267)
KeysTest:testKeys() (gas: 69639)
PaymentValidatorTest:testDeploy() (gas: 1161360)
PaymentValidatorTest:testERC20PaymentPlan() (gas: 211873)
PaymentValidatorTest:testDeploy() (gas: 1160360)
PaymentValidatorTest:testERC20PaymentPlan() (gas: 211916)
PaymentValidatorTest:testERC20PaymentPlanFailInvalidSignature() (gas: 221005)
PaymentValidatorTest:testETHPaymentPlan() (gas: 206714)
PaymentValidatorTest:testETHPaymentPlan() (gas: 206755)
PaymentValidatorTest:testETHPaymentPlanFailInvalidSignature() (gas: 215942)
PaymentValidatorTest:testFailERC20PaymentPlanInvalidSelector() (gas: 206296)
PaymentValidatorTest:testFailERC20PaymentPlanInvalidTarget() (gas: 207015)
Expand All @@ -41,15 +41,14 @@ PaymentValidatorTest:testFailETHInvalidTarget() (gas: 201506)
PaymentValidatorTest:testFailETHPaymentPlanInvalidValue() (gas: 201530)
PaymentValidatorTest:testFailPaymentPlanInvalidAllowance() (gas: 185314)
PaymentValidatorTest:testInstall() (gas: 170995)
PermitValidatorTest:testAddressPermission(address) (runs: 256, μ: 23804, ~: 23804)
PermitValidatorTest:testBoolPermission(bool) (runs: 256, μ: 22201, ~: 22201)
PermitValidatorTest:testEnumPermission(uint256) (runs: 256, μ: 27299, ~: 27350)
PermitValidatorTest:testInstall() (gas: 206913)
PermitValidatorTest:testTransferPermission(address,uint256,uint256,uint256) (runs: 256, μ: 8740, ~: 3726)
PermitValidatorTest:testUintPermission(uint256,uint256,uint256) (runs: 256, μ: 6741, ~: 3261)
PermitValidatorTest:testValuePermission(uint256,uint256) (runs: 256, μ: 20014, ~: 20015)
PermitValidatorTest:test__codesize() (gas: 48101)
PointsTest:testCheck(uint256) (runs: 256, μ: 31226, ~: 31226)
PermitValidatorTest:testAddressPermission(address) (runs: 261, μ: 24046, ~: 24046)
PermitValidatorTest:testBoolPermission(bool) (runs: 261, μ: 22411, ~: 22411)
PermitValidatorTest:testInstall() (gas: 206952)
PermitValidatorTest:testTransferPermission(address,uint256,uint256,uint256) (runs: 260, μ: 8724, ~: 3726)
PermitValidatorTest:testUintPermission(uint256,uint256,uint256) (runs: 261, μ: 7036, ~: 3283)
PermitValidatorTest:testValuePermission(uint256,uint256) (runs: 259, μ: 20014, ~: 20015)
PermitValidatorTest:test__codesize() (gas: 46538)
PointsTest:testCheck(uint256) (runs: 260, μ: 31226, ~: 31226)
PointsTest:testDeploy() (gas: 103095)
RecoveryValidatorTest:testDeploy() (gas: 1417783)
RecoveryValidatorTest:testFailSocialRecoveryWithEOAKey() (gas: 179268)
Expand All @@ -59,10 +58,10 @@ RecoveryValidatorTest:testSetGuardians() (gas: 173744)
RecoveryValidatorTest:testSocialRecovery() (gas: 232004)
RecoveryValidatorTest:testUninstall() (gas: 144480)
TokenTest:testDeploy() (gas: 344605)
TokenTest:testFailTransferBeyondBalance(address) (runs: 256, μ: 39776, ~: 39776)
TokenTest:testFailUnsafeTransfer(address) (runs: 256, μ: 11387, ~: 11387)
TokenTest:testFailTransferBeyondBalance(address) (runs: 261, μ: 39776, ~: 39776)
TokenTest:testFailUnsafeTransfer(address) (runs: 261, μ: 11387, ~: 11387)
TokenTest:testInitBalance() (gas: 10629)
TokenTest:testNameAndSymbolAndDecimals() (gas: 12365)
TokenTest:testTotalSupply() (gas: 8388)
TokenTest:testTransfer(address,uint96) (runs: 256, μ: 43509, ~: 44308)
TokenTest:testTransferFromOwner(address,uint96) (runs: 256, μ: 43613, ~: 44412)
TokenTest:testTransfer(address,uint96) (runs: 260, μ: 43784, ~: 44308)
TokenTest:testTransferFromOwner(address,uint96) (runs: 260, μ: 43888, ~: 44412)
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ Utilizes [`ERC7582` minimal modular account](https://eips.ethereum.org/EIPS/eip-
> Add joint owners to your smart account with full concurrent rights
#### RecoveryValidator: [0x000000000000a78fB292191473E51Dd34700c43D](https://arbiscan.io/address/0x000000000000a78fB292191473E51Dd34700c43D#code)
> Add backups to your smart account (can set time delay and *m/n* scheme)
#### PaymentValidator: [0x00000000000032CD4FAE890F90e61e6864e44aa7](https://arbiscan.io/address/0x00000000000032CD4FAE890F90e61e6864e44aa7#code)
#### PaymentValidator: [0x000000000000dF3C51a888aB783C3E6355e33fe0](https://arbiscan.io/address/0x000000000000dF3C51a888aB783C3E6355e33fe0#code)
> Add payment plans and delegate token transfer permissions (*e.g.*, invoice agents)
#### PermitValidator: [0x000000000000ab6c9FF3ed50AC4BAF2a20890835](https://arbiscan.io/address/0x000000000000ab6c9FF3ed50AC4BAF2a20890835#code)
#### PermitValidator: [0x000000000000E8C738709eE8778063711B073680](https://arbiscan.io/address/0x000000000000E8C738709eE8778063711B073680#code)
> Add arbitrary permissions within the Permit structure (*e.g.*, voting and swapping rights)
#### RemoteValidator: [0x0000000000159aAFCA7067005E28665a28B5B4cf](https://arbiscan.io/address/0x0000000000159aAFCA7067005E28665a28B5B4cf#code)
> Add simple scheduled transactions sequence (*e.g.*, DCA) or other 'remote' agent operations
Expand Down
4 changes: 2 additions & 2 deletions docs/src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ Utilizes [`ERC7582` minimal modular account](https://eips.ethereum.org/EIPS/eip-
> Add joint owners to your smart account with full concurrent rights
#### RecoveryValidator: [0x000000000000a78fB292191473E51Dd34700c43D](https://arbiscan.io/address/0x000000000000a78fB292191473E51Dd34700c43D#code)
> Add backups to your smart account (can set time delay and *m/n* scheme)
#### PaymentValidator: [0x00000000000032CD4FAE890F90e61e6864e44aa7](https://arbiscan.io/address/0x00000000000032CD4FAE890F90e61e6864e44aa7#code)
#### PaymentValidator: [0x000000000000dF3C51a888aB783C3E6355e33fe0](https://arbiscan.io/address/0x000000000000dF3C51a888aB783C3E6355e33fe0#code)
> Add payment plans and delegate token transfer permissions (*e.g.*, invoice agents)
#### PermitValidator: [0x000000000000ab6c9FF3ed50AC4BAF2a20890835](https://arbiscan.io/address/0x000000000000ab6c9FF3ed50AC4BAF2a20890835#code)
#### PermitValidator: [0x000000000000E8C738709eE8778063711B073680](https://arbiscan.io/address/0x000000000000E8C738709eE8778063711B073680#code)
> Add arbitrary permissions within the Permit structure (*e.g.*, voting and swapping rights)
#### RemoteValidator: [0x0000000000159aAFCA7067005E28665a28B5B4cf](https://arbiscan.io/address/0x0000000000159aAFCA7067005E28665a28B5B4cf#code)
> Add simple scheduled transactions sequence (*e.g.*, DCA) or other 'remote' agent operations
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/Account.sol/contract.Account.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Account
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/Account.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/Account.sol)

**Inherits:**
ERC4337
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/AccountURL.sol/contract.AccountURL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# AccountURL
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/AccountURL.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/AccountURL.sol)

**Inherits:**
ERC4337
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/Accounts.sol/contract.Accounts.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Accounts
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/Accounts.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/Accounts.sol)

**Inherits:**
ERC4337Factory
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/authority/Guard.sol/contract.Guard.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Guard
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/authority/Guard.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/authority/Guard.sol)

Simple smart account guard for installing asset transfer limits.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/authority/Guard.sol/interface.IAccount.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IAccount
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/authority/Guard.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/authority/Guard.sol)

Smart account execution interface.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/authority/Guard.sol/interface.IERC20.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IERC20
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/authority/Guard.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/authority/Guard.sol)

ERC20 token transfer interface.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/authority/Guard.sol/interface.IOwnable.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IOwnable
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/authority/Guard.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/authority/Guard.sol)

Simple smart account ownership interface.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/governance/Points.sol/contract.Points.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Points
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/governance/Points.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/governance/Points.sol)

Simple onchain points allocation protocol.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/governance/Points.sol/interface.IERC1271.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IERC1271
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/governance/Points.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/governance/Points.sol)

ERC1271 interface.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/governance/Points.sol/interface.IERC20.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IERC20
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/governance/Points.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/governance/Points.sol)

ERC20 interface.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/governance/Token.sol/contract.Token.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Token
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/governance/Token.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/governance/Token.sol)

**Author:**
nani.eth (Nani DAO)
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/ownership/Keys.sol/contract.Keys.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Keys
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/ownership/Keys.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/ownership/Keys.sol)

**Author:**
nani.eth (https://github.com/NaniDAO/accounts/blob/main/src/ownership/Keys.sol)
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/ownership/Keys.sol/interface.IAuth.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IAuth
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/ownership/Keys.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/ownership/Keys.sol)

Simple authority interface for contracts.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/ownership/Keys.sol/interface.IOwnable.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IOwnable
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/ownership/Keys.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/ownership/Keys.sol)

Simple ownership interface for handover requests.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/ownership/Passkeys.sol/contract.Passkeys.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Passkeys
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/ownership/Passkeys.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/ownership/Passkeys.sol)

*Simple singleton to store passkey ownership and backups for accounts.*

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/ownership/Passkeys.sol/interface.IOwnable.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IOwnable
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/ownership/Passkeys.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/ownership/Passkeys.sol)

Simple ownership interface for handover requests.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/paymasters/NEETH.sol/contract.NEETH.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# NEETH
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/paymasters/NEETH.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/paymasters/NEETH.sol)

**Inherits:**
ERC20
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/paymasters/NEETH.sol/interface.IEntryPoint.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IEntryPoint
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/paymasters/NEETH.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/paymasters/NEETH.sol)


## Functions
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/paymasters/NEETH.sol/interface.ISwapRouter.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ISwapRouter
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/paymasters/NEETH.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/paymasters/NEETH.sol)

*Simple Uniswap V3 swapping interface.*

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Paymaster
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/paymasters/Paymaster.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/paymasters/Paymaster.sol)

**Inherits:**
Ownable
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# JointValidator
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/validators/JointValidator.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/validators/JointValidator.sol)

**Author:**
nani.eth (https://github.com/NaniDAO/accounts/blob/main/src/validators/JointValidator.sol)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# PaymentValidator
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/validators/PaymentValidator.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/validators/PaymentValidator.sol)

**Author:**
nani.eth (https://github.com/NaniDAO/accounts/blob/main/src/validators/PaymentValidator.sol)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IERC20
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/validators/PaymentValidator.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/validators/PaymentValidator.sol)

ERC20 interface.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# PermitValidator
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/validators/PermitValidator.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/validators/PermitValidator.sol)

**Inherits:**
EIP712
Expand Down Expand Up @@ -123,7 +123,7 @@ note: Ensure `timesUsed` is zero unless a rewrite is preferred.*


```solidity
function setPermitHash(Permit calldata permit) public payable virtual;
function setPermitHash(Permit calldata permit) public virtual;
```

### validatePermit
Expand Down Expand Up @@ -261,7 +261,7 @@ function getAuthorizers(address account) public view virtual returns (address[]


```solidity
function install(address[] calldata authorizers) public payable virtual;
function install(address[] calldata authorizers) public virtual;
```

### uninstall
Expand All @@ -270,7 +270,7 @@ function install(address[] calldata authorizers) public payable virtual;


```solidity
function uninstall() public payable virtual;
function uninstall() public virtual;
```

## Events
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IExecutor
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/validators/PermitValidator.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/validators/PermitValidator.sol)

Executor interface.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# RecoveryValidator
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/validators/RecoveryValidator.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/validators/RecoveryValidator.sol)

Simple social recovery validator for smart accounts.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ITransferOwnership
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/validators/RecoveryValidator.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/validators/RecoveryValidator.sol)

*Simple ownership transfer interface.*

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# RemoteValidator
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/validators/RemoteValidator.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/validators/RemoteValidator.sol)

**Inherits:**
EIP712
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IOwnable
[Git Source](https://github.com/NaniDAO/accounts/blob/e8688d40b41a4f91d7244ea40c12251a38f039f2/src/validators/RemoteValidator.sol)
[Git Source](https://github.com/NaniDAO/accounts/blob/7de36a3d39c803832cd611fb5f109f5ac92c99ae/src/validators/RemoteValidator.sol)

*Simple ownable contract interface.*

Expand Down
2 changes: 1 addition & 1 deletion lib/forge-std
Submodule forge-std updated 2 files
+104 −0 src/StdJson.sol
+104 −0 src/StdToml.sol
3 changes: 2 additions & 1 deletion src/validators/PaymentValidator.sol
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,8 @@ contract PaymentValidator {
virtual
returns (uint256 validationData)
{
validationData = valid == 1 ? 0 : 1 | validUntil << 160 | validAfter << 208;
validationData =
(valid == 1 ? 0 : 1) | (uint256(validUntil) << 160) | (uint256(validAfter) << 208);
}

/// =================== AUTHORIZER OPERATIONS =================== ///
Expand Down
Loading

0 comments on commit 896a636

Please sign in to comment.