Skip to content

Commit 670c4e3

Browse files
committed
Update PKP Helper V2 as well.
1 parent 60db24d commit 670c4e3

File tree

9 files changed

+240
-21
lines changed

9 files changed

+240
-21
lines changed

blockchain/contracts/abis/PKPHelper.abi

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,19 @@
568568
"stateMutability": "view",
569569
"type": "function"
570570
},
571+
{
572+
"inputs": [],
573+
"name": "getPubkeyRouterAddress",
574+
"outputs": [
575+
{
576+
"internalType": "address",
577+
"name": "",
578+
"type": "address"
579+
}
580+
],
581+
"stateMutability": "view",
582+
"type": "function"
583+
},
571584
{
572585
"inputs": [
573586
{

blockchain/contracts/contracts/lit-node/PKPHelper.sol

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { Base64 } from "@openzeppelin/contracts/utils/Base64.sol";
99
import { IERC721Receiver } from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
1010
import { ContractResolver } from "../lit-core/ContractResolver.sol";
1111
import { PKPNFTFacet } from "./PKPNFT/PKPNFTFacet.sol";
12+
import { PubkeyRouterViewsFacet } from "./PubkeyRouter/PubkeyRouterViewsFacet.sol";
1213
import "@openzeppelin/contracts/access/AccessControl.sol";
1314
import "hardhat/console.sol";
1415

@@ -108,6 +109,13 @@ contract PKPHelper is Ownable, IERC721Receiver, AccessControl {
108109
);
109110
}
110111

112+
function getPubkeyRouterAddress() public view returns (address) {
113+
return
114+
contractResolver.getContract(
115+
contractResolver.PUB_KEY_ROUTER_CONTRACT(),
116+
env
117+
);
118+
}
111119
/* ========== MUTATIVE FUNCTIONS ========== */
112120

113121
function mintNextAndAddAuthMethods(
@@ -120,6 +128,7 @@ contract PKPHelper is Ownable, IERC721Receiver, AccessControl {
120128
bool addPkpEthAddressAsPermittedAddress,
121129
bool sendPkpToItself
122130
) public payable returns (uint256) {
131+
123132
MintNextAndAddAuthMethodsWithTypesParams
124133
memory params = MintNextAndAddAuthMethodsWithTypesParams({
125134
keyType: keyType,
@@ -198,7 +207,7 @@ contract PKPHelper is Ownable, IERC721Receiver, AccessControl {
198207
}
199208
}
200209

201-
address pkpEthAddress = PKPPermissionsFacet(getPkpPermissionsAddress())
210+
address pkpEthAddress = PubkeyRouterViewsFacet(getPubkeyRouterAddress())
202211
.getEthAddress(tokenId);
203212

204213
// add the pkp eth address as a permitted address
@@ -243,6 +252,7 @@ contract PKPHelper is Ownable, IERC721Receiver, AccessControl {
243252
function mintNextAndAddAuthMethodsWithTypes(
244253
MintNextAndAddAuthMethodsWithTypesParams memory params
245254
) public payable returns (uint256) {
255+
246256
// mint the nft and forward the funds
247257
uint256 tokenId = PKPNFTFacet(getPkpNftAddress()).mintNext{
248258
value: msg.value
@@ -321,7 +331,7 @@ contract PKPHelper is Ownable, IERC721Receiver, AccessControl {
321331
}
322332
}
323333

324-
address pkpEthAddress = pkpPermissions
334+
address pkpEthAddress = PubkeyRouterViewsFacet(getPubkeyRouterAddress())
325335
.getEthAddress(tokenId);
326336

327337
// add the pkp eth address as a permitted address
@@ -524,7 +534,7 @@ contract PKPHelper is Ownable, IERC721Receiver, AccessControl {
524534
}
525535
}
526536

527-
address pkpEthAddress = pkpPermissions
537+
address pkpEthAddress = PubkeyRouterViewsFacet(getPubkeyRouterAddress())
528538
.getEthAddress(tokenId);
529539

530540
// add the pkp eth address as a permitted address

blockchain/contracts/contracts/lit-node/PKPHelperV2.sol

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
55
import { IERC721Receiver } from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
66
import { ContractResolver } from "../lit-core/ContractResolver.sol";
77
import { PKPNFTFacet } from "./PKPNFT/PKPNFTFacet.sol";
8+
import { PubkeyRouterViewsFacet } from "./PubkeyRouter/PubkeyRouterViewsFacet.sol";
89
import "hardhat/console.sol";
910

1011
import { LibPKPPermissionsStorage } from "./PKPPermissions/LibPKPPermissionsStorage.sol";
@@ -73,6 +74,13 @@ contract PKPHelperV2 is Ownable, IERC721Receiver {
7374
);
7475
}
7576

77+
function getPubkeyRouterAddress() public view returns (address) {
78+
return
79+
contractResolver.getContract(
80+
contractResolver.PUB_KEY_ROUTER_CONTRACT(),
81+
env
82+
);
83+
}
7684
/* ========== MUTATIVE FUNCTIONS ========== */
7785

7886
function mintNextAndAddAuthMethods(
@@ -89,6 +97,8 @@ contract PKPHelperV2 is Ownable, IERC721Receiver {
8997
value: msg.value
9098
}(params.keyType, params.keySetId);
9199

100+
PKPPermissionsFacet pkpPermissions = PKPPermissionsFacet(getPkpPermissionsAddress());
101+
92102
require(
93103
params.permittedAuthMethodTypes.length ==
94104
params.permittedAuthMethodIds.length,
@@ -112,7 +122,7 @@ contract PKPHelperV2 is Ownable, IERC721Receiver {
112122
i < params.permittedAuthMethodTypes.length;
113123
i++
114124
) {
115-
PKPPermissionsFacet(getPkpPermissionsAddress())
125+
pkpPermissions
116126
.addPermittedAuthMethod(
117127
tokenId,
118128
LibPKPPermissionsStorage.AuthMethod(
@@ -125,12 +135,12 @@ contract PKPHelperV2 is Ownable, IERC721Receiver {
125135
}
126136
}
127137

128-
address pkpEthAddress = PKPPermissionsFacet(getPkpPermissionsAddress())
138+
address pkpEthAddress = PubkeyRouterViewsFacet(getPubkeyRouterAddress())
129139
.getEthAddress(tokenId);
130140

131141
// add the pkp eth address as a permitted address
132142
if (params.addPkpEthAddressAsPermittedAddress) {
133-
PKPPermissionsFacet(getPkpPermissionsAddress()).addPermittedAddress(
143+
pkpPermissions.addPermittedAddress(
134144
tokenId,
135145
pkpEthAddress,
136146
params.pkpEthAddressScopes

rust/lit-core/lit-blockchain-lite/abis/PKPHelper.json

Lines changed: 15 additions & 2 deletions
Large diffs are not rendered by default.

rust/lit-core/lit-blockchain-lite/src/contracts/pkp_helper.rs

Lines changed: 81 additions & 2 deletions
Large diffs are not rendered by default.

rust/lit-core/lit-blockchain/abis/PKPHelper.json

Lines changed: 15 additions & 2 deletions
Large diffs are not rendered by default.

rust/lit-core/lit-blockchain/src/contracts/pkp_helper.rs

Lines changed: 81 additions & 2 deletions
Large diffs are not rendered by default.

rust/lit-node/lit-node-testnet/src/end_user/pkp/mainnet.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -381,16 +381,17 @@ impl Pkp {
381381
info!("Minting a new PKP using helper contract on the mainnet test chain.");
382382
let mint_cost = pkpnft.mint_cost().call().await?;
383383

384-
385-
384+
let empty_u256_array: Vec<U256> = vec![];
385+
let empty_double_u256_array: Vec<Vec<U256>> = vec![];
386+
let empty_bytes_array: Vec<ethers::types::Bytes> = vec![];
386387
let mint_tx = pkp_helper
387388
.mint_next_and_add_auth_methods(
388389
key_type,
389390
key_set_id.to_string(),
390-
[].to_vec(),
391-
vec![],
392-
vec![],
393-
[[].to_vec()].to_vec(),
391+
empty_u256_array,
392+
empty_bytes_array.clone(),
393+
empty_bytes_array,
394+
empty_double_u256_array,
394395
false,
395396
false,
396397
)

rust/lit-node/lit-node/tests/acceptance/web_user_tests.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ async fn test_everything_as_web_user() {
2525
#[tokio::test]
2626
async fn test_web_user_with_auth_methods() {
2727
crate::common::setup_logging();
28-
let (_testnet, validator_collection, mut end_user) = TestSetupBuilder::default().build().await;
28+
let (_testnet, validator_collection, mut end_user) =
29+
TestSetupBuilder::default().force_deploy(true).build().await;
2930

3031
let auth_methods = vec![];
3132

0 commit comments

Comments
 (0)