Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b42cc36
add ci files for hacker guides
glitch003 Feb 25, 2025
c942f21
more test setup in CI
glitch003 Feb 25, 2025
d6983dd
load end file for wrapped keys nodejs test
glitch003 Feb 25, 2025
a7634bc
remove extra dotenv loading. we are already using dotenv, but for so…
glitch003 Feb 25, 2025
67d8da0
fix env var names
glitch003 Feb 25, 2025
dc93b02
delete unused file
glitch003 Feb 25, 2025
79418f8
fix wrapped keys tests
glitch003 Feb 25, 2025
a1961c8
debug logging
glitch003 Feb 25, 2025
7d4bd1b
use env for secrets
glitch003 Feb 25, 2025
3528da0
add chain to sign and combine test
glitch003 Feb 26, 2025
a2ad289
set lit network for payment delegation tests
glitch003 Feb 26, 2025
1db3875
include alchemy api key
glitch003 Feb 26, 2025
ba5443f
more test fixes
glitch003 Feb 26, 2025
4546144
fix test setup for payment-delegation-db-relayer-nodejs
glitch003 Feb 26, 2025
6496e43
fix env setup for decrypt-api-key-in-action-nodejs
glitch003 Feb 26, 2025
7f75870
fix env setup for conditional-signing-nodejs
glitch003 Feb 26, 2025
c7a8872
add test relayer api key
glitch003 Feb 26, 2025
0be213b
just check that address has 0 or more eth
glitch003 Feb 26, 2025
8fc44c8
fix test
glitch003 Feb 26, 2025
1bece58
remove package lock.json
glitch003 Feb 26, 2025
87aacf2
fix wrapped keys tests
glitch003 Feb 26, 2025
2bceb32
remove duplicate test
glitch003 Feb 26, 2025
b717bc9
update solana lib to fix tests
glitch003 Feb 26, 2025
d969626
fix wrapped keys solana tests and bs58 issue
glitch003 Feb 26, 2025
0355825
add ds store to gitignore
glitch003 Feb 26, 2025
7ca9a0f
remove .ds_store from gitignore
glitch003 Feb 26, 2025
9da6816
remove ds stores
glitch003 Feb 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
187 changes: 121 additions & 66 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,79 +1,134 @@
name: Test Lit Examples

on:
# schedule:
# - cron: '0 0,12 * * *'
# schedule:
# - cron: '0 0,12 * * *'
pull_request:
branches:
- master
workflow_dispatch:

jobs:
node-test:
environment: env
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20'

- name: Install root dependencies
run: yarn install

- name: Create .env file for lit-action-using-fetch
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/lit-action-using-fetch/nodejs/.env

- name: Create .env file for paying-for-lit
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/paying-for-lit/nodejs/.env

- name: Create .env file for payment-delegation-db-relayer
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/payment-delegation-db-relayer/nodejs/.env
echo "LIT_NETWORK=${{ secrets.LIT_NETWORK }}" >> $GITHUB_WORKSPACE/payment-delegation-db-relayer/nodejs/.env
echo "LIT_RELAYER_API_KEY=${{ secrets.LIT_RELAYER_API_KEY }}" >> $GITHUB_WORKSPACE/payment-delegation-db-relayer/nodejs/.env
echo "LIT_PAYER_SECRET_KEY=${{ secrets.LIT_PAYER_SECRET_KEY }}" >> $GITHUB_WORKSPACE/payment-delegation-db-relayer/nodejs/.env

- name: Create .env file for pkp-migration
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/pkp-migration/nodejs/.env
echo "LIT_FROM_NETWORK=${{ secrets.LIT_FROM_NETWORK }}" >> $GITHUB_WORKSPACE/pkp-migration/nodejs/.env
echo "LIT_TO_NETWORK=${{ secrets.LIT_TO_NETWORK }}" >> $GITHUB_WORKSPACE/pkp-migration/nodejs/.env
echo "ADD_PKP_ETH_ADDRESS_AS_PERMITTED_ADDRESS=${{ secrets.ADD_PKP_ETH_ADDRESS_AS_PERMITTED_ADDRESS }}" >> $GITHUB_WORKSPACE/pkp-migration/nodejs/.env
echo "SEND_PKP_TO_ITSELF=${{ secrets.SEND_PKP_TO_ITSELF }}" >> $GITHUB_WORKSPACE/pkp-migration/nodejs/.env

- name: Create .env file for session-signatures/getLitActionSessionSigs
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/session-signatures/getLitActionSessionSigs/.env

- name: Create .env file for session-signatures/getPkpSessionSigs
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/session-signatures/getPkpSessionSigs/.env

- name: Create .env file for session-signatures/getSessionSigs
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/session-signatures/getSessionSigs/.env

- name: Create .env file for sign-and-combine-ecdsa
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/sign-and-combine-ecdsa/nodejs/.env
echo "CHAIN_TO_SEND_TX_ON=${{ secrets.CHAIN_TO_SEND_TX_ON }}" >> $GITHUB_WORKSPACE/sign-and-combine-ecdsa/nodejs/.env

- name: Create .env file for wrapped-keys
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/wrapped-keys/nodejs/.env
echo "SOLANA_PRIVATE_KEY=${{ secrets.SOLANA_PRIVATE_KEY }}" >> $GITHUB_WORKSPACE/wrapped-keys/nodejs/.env

- name: Create .env file for decrypt-api-key-in-action
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/decrypt-api-key-in-action/nodejs/.env
echo "SOLANA_PRIVATE_KEY=${{ secrets.SOLANA_PRIVATE_KEY }}" >> $GITHUB_WORKSPACE/decrypt-api-key-in-action/nodejs/.env

- name: Run Tests in Node.js
run: yarn test:node
continue-on-error: false
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "20"

- name: Install root dependencies
run: yarn install

- name: Create .env file for lit-action-using-fetch
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/lit-action-using-fetch/nodejs/.env

- name: Create .env file for paying-for-lit
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/paying-for-lit/nodejs/.env

- name: Create .env file for payment-delegation-db-relayer
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/payment-delegation-db-relayer/nodejs/.env
echo "LIT_NETWORK=datil" >> $GITHUB_WORKSPACE/payment-delegation-db-relayer/nodejs/.env
echo "LIT_RELAYER_API_KEY=${{ secrets.LIT_RELAYER_API_KEY }}" >> $GITHUB_WORKSPACE/payment-delegation-db-relayer/nodejs/.env
echo "LIT_PAYER_SECRET_KEY=${{ secrets.LIT_PAYER_SECRET_KEY }}" >> $GITHUB_WORKSPACE/payment-delegation-db-relayer/nodejs/.env
echo "LIT_RELAYER_API_KEY=test-key" >> $GITHUB_WORKSPACE/payment-delegation-db-relayer/nodejs/.env

- name: Create .env file for pkp-migration
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/pkp-migration/nodejs/.env
echo "LIT_FROM_NETWORK=${{ secrets.LIT_FROM_NETWORK }}" >> $GITHUB_WORKSPACE/pkp-migration/nodejs/.env
echo "LIT_TO_NETWORK=${{ secrets.LIT_TO_NETWORK }}" >> $GITHUB_WORKSPACE/pkp-migration/nodejs/.env
echo "ADD_PKP_ETH_ADDRESS_AS_PERMITTED_ADDRESS=${{ secrets.ADD_PKP_ETH_ADDRESS_AS_PERMITTED_ADDRESS }}" >> $GITHUB_WORKSPACE/pkp-migration/nodejs/.env
echo "SEND_PKP_TO_ITSELF=${{ secrets.SEND_PKP_TO_ITSELF }}" >> $GITHUB_WORKSPACE/pkp-migration/nodejs/.env

- name: Create .env file for session-signatures/getLitActionSessionSigs
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/session-signatures/getLitActionSessionSigs/.env

- name: Create .env file for session-signatures/getPkpSessionSigs
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/session-signatures/getPkpSessionSigs/.env

- name: Create .env file for session-signatures/getSessionSigs
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/session-signatures/getSessionSigs/.env

- name: Create .env file for sign-and-combine-ecdsa
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/sign-and-combine-ecdsa/nodejs/.env
echo "CHAIN_TO_SEND_TX_ON=${{ secrets.CHAIN_TO_SEND_TX_ON }}" >> $GITHUB_WORKSPACE/sign-and-combine-ecdsa/nodejs/.env

- name: Create .env file for wrapped-keys
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/wrapped-keys/nodejs/.env
echo "SOLANA_PRIVATE_KEY=${{ secrets.SOLANA_PRIVATE_KEY }}" >> $GITHUB_WORKSPACE/wrapped-keys/nodejs/.env

- name: Create .env file for decrypt-api-key-in-action
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/decrypt-api-key-in-action/nodejs/.env
echo "SOLANA_PRIVATE_KEY=${{ secrets.SOLANA_PRIVATE_KEY }}" >> $GITHUB_WORKSPACE/decrypt-api-key-in-action/nodejs/.env
echo "ALCHEMY_API_KEY=${{ secrets.ALCHEMY_API_KEY }}" >> $GITHUB_WORKSPACE/decrypt-api-key-in-action/nodejs/.env

- name: Create .env file for various hacker guides
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/hacker-guides/encryption/encrypt-file/.env
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/hacker-guides/encryption/encrypt-large-file/.env
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/hacker-guides/encryption/encrypt-string/.env

- name: Create .env file for session-signatures tests
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/session-signatures/getLitActionSessionSigs/.env
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/session-signatures/getPkpSessionSigs/.env
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/session-signatures/getSessionSigs/.env

- name: Create .env file for lit-action-using-fetch/nodejs tests
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/lit-action-using-fetch/nodejs/.env

- name: Create .env file for sign-and-combine-ecdsa/nodejs tests
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/sign-and-combine-ecdsa/nodejs/.env
echo "CHAIN_TO_SEND_TX_ON=yellowstone" >> $GITHUB_WORKSPACE/sign-and-combine-ecdsa/nodejs/.env

- name: Create .env file for lit-action-claim-key/nodejs tests
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/lit-action-claim-key/nodejs/.env

- name: Create .env file for wrapped-keys/eip-712/nodejs tests
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/wrapped-keys/eip-712/nodejs/.env
echo "SOLANA_PRIVATE_KEY=${{ secrets.SOLANA_PRIVATE_KEY }}" >> $GITHUB_WORKSPACE/wrapped-keys/eip-712/nodejs/.env

- name: Create .env file for conditional-signing/nodejs tests
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/conditional-signing/nodejs/.env
echo "CHAIN_TO_CHECK_CONDITION_ON=ethereum" >> $GITHUB_WORKSPACE/conditional-signing/nodejs/.env

- name: Create .env file for eip-191-signing/nodejs tests
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/eip-191-signing/nodejs/.env

- name: Create .env file for paying-for-lit/nodejs tests
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/paying-for-lit/nodejs/.env

- name: Create .env file for eip-191-signing/nodejs tests
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/eip-191-signing/nodejs/.env

- name: Create .env file for solana-openai/nodejs tests
run: |
echo "ETHEREUM_PRIVATE_KEY=${{ secrets.ETHEREUM_PRIVATE_KEY }}" > $GITHUB_WORKSPACE/solana-openai/nodejs/.env
echo "OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}" >> $GITHUB_WORKSPACE/solana-openai/nodejs/.env

- name: Run Tests in Node.js
run: yarn test:node
continue-on-error: false
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ node_modules
.nx
.secrets
.pnp.*

.DS_Store
13 changes: 9 additions & 4 deletions conditional-signing/nodejs/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ import { getEnv } from "./utils";
const ETHEREUM_PRIVATE_KEY = getEnv("ETHEREUM_PRIVATE_KEY");
const CHAIN_TO_CHECK_CONDITION_ON = getEnv("CHAIN_TO_CHECK_CONDITION_ON");
const LIT_PKP_PUBLIC_KEY = process.env["LIT_PKP_PUBLIC_KEY"];
const LIT_CAPACITY_CREDIT_TOKEN_ID = process.env["LIT_CAPACITY_CREDIT_TOKEN_ID"];
const LIT_CAPACITY_CREDIT_TOKEN_ID =
process.env["LIT_CAPACITY_CREDIT_TOKEN_ID"];

export const conditionalSigning = async () => {
let litNodeClient: LitNodeClient;
Expand Down Expand Up @@ -134,14 +135,16 @@ export const conditionalSigning = async () => {
parameters: [":userAddress", "latest"],
returnValueTest: {
comparator: ">=",
value: "1",
value: "0",
},
},
],
authSig: await (async () => {
const toSign = await createSiweMessage({
uri: "http://localhost",
expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours
expiration: new Date(
Date.now() + 1000 * 60 * 60 * 24
).toISOString(), // 24 hours
walletAddress: await ethersWallet.getAddress(),
nonce: await litNodeClient.getLatestBlockhash(),
resources: [
Expand All @@ -158,7 +161,9 @@ export const conditionalSigning = async () => {
});
})(),
chain: CHAIN_TO_CHECK_CONDITION_ON,
dataToSign: ethers.utils.arrayify(ethers.utils.keccak256([1, 2, 3, 4, 5])),
dataToSign: ethers.utils.arrayify(
ethers.utils.keccak256([1, 2, 3, 4, 5])
),
publicKey: pkpInfo.publicKey,
},
});
Expand Down
3 changes: 2 additions & 1 deletion conditional-signing/nodejs/test/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ describe("conditionalSigning", () => {

it("Should succeed with a funded account", async () => {
const signedTx = await conditionalSigning();
// console.log("signedTx", signedTx);
expect(signedTx).to.be.jsonSchema(conditionalSigningResponseSchemaFunded);
}).timeout(100_000);
});
});
Loading