From 29ce12d8cb514c29a92d0c477368fa93186f4b1d Mon Sep 17 00:00:00 2001 From: jpbogle Date: Fri, 4 Feb 2022 15:20:26 -0800 Subject: [PATCH] Bump versions --- Cargo.lock | 14 +++---- package.json | 2 +- .../cardinal-paid-claim-approver/Cargo.toml | 6 +-- programs/cardinal-payment-manager/Cargo.toml | 4 +- programs/cardinal-rent-receipt/Cargo.toml | 4 +- programs/cardinal-rental-counter/Cargo.toml | 4 +- programs/cardinal-time-invalidator/Cargo.toml | 4 +- programs/cardinal-token-manager/Cargo.toml | 2 +- programs/cardinal-use-invalidator/Cargo.toml | 4 +- src/claimLinks.ts | 16 ++++++-- src/programs/timeInvalidator/accounts.ts | 41 ++++++++++++++----- src/programs/timeInvalidator/constants.ts | 11 +++++ src/programs/timeInvalidator/index.ts | 3 +- src/programs/useInvalidator/instruction.ts | 1 - 14 files changed, 78 insertions(+), 38 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0db2a0c68..c9d7da338 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -412,7 +412,7 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cardinal-paid-claim-approver" -version = "0.0.5" +version = "0.0.6" dependencies = [ "anchor-lang", "anchor-spl", @@ -426,7 +426,7 @@ dependencies = [ [[package]] name = "cardinal-payment-manager" -version = "0.0.5" +version = "0.0.6" dependencies = [ "anchor-lang", "anchor-spl", @@ -439,7 +439,7 @@ dependencies = [ [[package]] name = "cardinal-rent-receipt" -version = "0.0.5" +version = "0.0.6" dependencies = [ "anchor-lang", "anchor-spl", @@ -452,7 +452,7 @@ dependencies = [ [[package]] name = "cardinal-rental-counter" -version = "0.0.5" +version = "0.0.6" dependencies = [ "anchor-lang", "anchor-spl", @@ -465,7 +465,7 @@ dependencies = [ [[package]] name = "cardinal-time-invalidator" -version = "0.0.5" +version = "0.0.6" dependencies = [ "anchor-lang", "anchor-spl", @@ -478,7 +478,7 @@ dependencies = [ [[package]] name = "cardinal-token-manager" -version = "0.0.5" +version = "0.0.6" dependencies = [ "anchor-lang", "anchor-spl", @@ -492,7 +492,7 @@ dependencies = [ [[package]] name = "cardinal-use-invalidator" -version = "0.0.5" +version = "0.0.6" dependencies = [ "anchor-lang", "anchor-spl", diff --git a/package.json b/package.json index 65d4d66f3..dcb9ea5ca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@cardinal/token-manager", - "version": "0.0.5", + "version": "0.0.6", "description": "Cardinal token manager SDK", "keywords": [ "solana", diff --git a/programs/cardinal-paid-claim-approver/Cargo.toml b/programs/cardinal-paid-claim-approver/Cargo.toml index d1133b750..689979c5d 100644 --- a/programs/cardinal-paid-claim-approver/Cargo.toml +++ b/programs/cardinal-paid-claim-approver/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cardinal-paid-claim-approver" -version = "0.0.5" +version = "0.0.6" description = "Cardinal paid claim approver" edition = "2021" homepage = "https://cardinal.so" @@ -25,8 +25,8 @@ anchor-spl = "0.20.1" spl-associated-token-account = "1.0.2" spl-token = { version = "3.1.1", features = ["no-entrypoint"] } solana-program = "1.8.1" -cardinal-token-manager = { version = "^0.0.5", path = "../cardinal-token-manager", features = ["cpi"] } -cardinal-payment-manager = { version = "^0.0.5", path = "../cardinal-payment-manager", features = ["cpi"] } +cardinal-token-manager = { version = "^0.0.6", path = "../cardinal-token-manager", features = ["cpi"] } +cardinal-payment-manager = { version = "^0.0.6", path = "../cardinal-payment-manager", features = ["cpi"] } [dev-dependencies] proptest = { version = "1.0" } \ No newline at end of file diff --git a/programs/cardinal-payment-manager/Cargo.toml b/programs/cardinal-payment-manager/Cargo.toml index f5cddbcf5..95054b45a 100644 --- a/programs/cardinal-payment-manager/Cargo.toml +++ b/programs/cardinal-payment-manager/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cardinal-payment-manager" -version = "0.0.5" +version = "0.0.6" description = "Cardinal paid claim approver" edition = "2021" homepage = "https://cardinal.so" @@ -25,7 +25,7 @@ anchor-spl = "0.20.1" spl-associated-token-account = "1.0.2" spl-token = { version = "3.1.1", features = ["no-entrypoint"] } solana-program = "1.8.1" -cardinal-token-manager = { version = "^0.0.5", path = "../cardinal-token-manager", features = ["cpi"] } +cardinal-token-manager = { version = "^0.0.6", path = "../cardinal-token-manager", features = ["cpi"] } [dev-dependencies] proptest = { version = "1.0" } \ No newline at end of file diff --git a/programs/cardinal-rent-receipt/Cargo.toml b/programs/cardinal-rent-receipt/Cargo.toml index b5132b000..16618b341 100644 --- a/programs/cardinal-rent-receipt/Cargo.toml +++ b/programs/cardinal-rent-receipt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cardinal-rent-receipt" -version = "0.0.5" +version = "0.0.6" description = "Cardinal paid claim approver" edition = "2021" homepage = "https://cardinal.so" @@ -25,7 +25,7 @@ anchor-spl = "0.20.1" spl-associated-token-account = "1.0.2" spl-token = { version = "3.1.1", features = ["no-entrypoint"] } solana-program = "1.8.1" -cardinal-token-manager = { version = "^0.0.5", path = "../cardinal-token-manager", features = ["cpi"] } +cardinal-token-manager = { version = "^0.0.6", path = "../cardinal-token-manager", features = ["cpi"] } [dev-dependencies] proptest = { version = "1.0" } \ No newline at end of file diff --git a/programs/cardinal-rental-counter/Cargo.toml b/programs/cardinal-rental-counter/Cargo.toml index 086eb2317..23d65330b 100644 --- a/programs/cardinal-rental-counter/Cargo.toml +++ b/programs/cardinal-rental-counter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cardinal-rental-counter" -version = "0.0.5" +version = "0.0.6" description = "Cardinal paid claim approver" edition = "2021" homepage = "https://cardinal.so" @@ -25,7 +25,7 @@ anchor-spl = "0.20.1" spl-associated-token-account = "1.0.2" spl-token = { version = "3.1.1", features = ["no-entrypoint"] } solana-program = "1.8.1" -cardinal-token-manager = { version = "^0.0.5", path = "../cardinal-token-manager", features = ["cpi"] } +cardinal-token-manager = { version = "^0.0.6", path = "../cardinal-token-manager", features = ["cpi"] } [dev-dependencies] proptest = { version = "1.0" } \ No newline at end of file diff --git a/programs/cardinal-time-invalidator/Cargo.toml b/programs/cardinal-time-invalidator/Cargo.toml index 5099ebbcc..de2d0ae45 100644 --- a/programs/cardinal-time-invalidator/Cargo.toml +++ b/programs/cardinal-time-invalidator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cardinal-time-invalidator" -version = "0.0.5" +version = "0.0.6" description = "Program for a invalidating token managers based on time" edition = "2021" homepage = "https://cardinal.so" @@ -25,7 +25,7 @@ anchor-spl = "0.20.1" spl-associated-token-account = "1.0.2" spl-token = { version = "3.1.1", features = ["no-entrypoint"] } solana-program = "1.8.1" -cardinal-token-manager = { version = "^0.0.5", path = "../cardinal-token-manager", features = ["cpi"] } +cardinal-token-manager = { version = "^0.0.6", path = "../cardinal-token-manager", features = ["cpi"] } [dev-dependencies] proptest = { version = "1.0" } \ No newline at end of file diff --git a/programs/cardinal-token-manager/Cargo.toml b/programs/cardinal-token-manager/Cargo.toml index 65f016291..84bfa1003 100644 --- a/programs/cardinal-token-manager/Cargo.toml +++ b/programs/cardinal-token-manager/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cardinal-token-manager" -version = "0.0.5" +version = "0.0.6" description = "Cardinal token manager" edition = "2021" homepage = "https://cardinal.so" diff --git a/programs/cardinal-use-invalidator/Cargo.toml b/programs/cardinal-use-invalidator/Cargo.toml index 8486d2d69..50aa62292 100644 --- a/programs/cardinal-use-invalidator/Cargo.toml +++ b/programs/cardinal-use-invalidator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cardinal-use-invalidator" -version = "0.0.5" +version = "0.0.6" description = "Cardinal usage invalidator and counter" edition = "2021" homepage = "https://cardinal.so" @@ -25,7 +25,7 @@ anchor-spl = "0.20.1" spl-associated-token-account = "1.0.2" spl-token = { version = "3.1.1", features = ["no-entrypoint"] } solana-program = "1.8.1" -cardinal-token-manager = { version = "^0.0.5", path = "../cardinal-token-manager", features = ["cpi"] } +cardinal-token-manager = { version = "^0.0.6", path = "../cardinal-token-manager", features = ["cpi"] } [dev-dependencies] proptest = { version = "1.0" } \ No newline at end of file diff --git a/src/claimLinks.ts b/src/claimLinks.ts index 15b79c240..61cadfc04 100644 --- a/src/claimLinks.ts +++ b/src/claimLinks.ts @@ -14,17 +14,25 @@ import { TokenManagerKind } from "./programs/tokenManager"; import { findTokenManagerAddress } from "./programs/tokenManager/pda"; import { withFindOrInitAssociatedTokenAccount } from "./utils"; -export const getLink = (mintId: PublicKey, otp: Keypair): string => { - return `https://claim.cardinal.so/${mintId.toString()}?otp=${utils.bytes.bs58.encode( +export const getLink = ( + mintId: PublicKey, + otp: Keypair, + baseUrl = "https://app.cardinal.so" +): string => { + return `${baseUrl}/${mintId.toString()}?otp=${utils.bytes.bs58.encode( otp.secretKey )}`; }; -export const fromLink = (link: string): [PublicKey, Keypair] => { +export const fromLink = ( + link: string, + baseUrl = "https://app.cardinal.so" +): [PublicKey, Keypair] => { try { const [_, mintId, otp] = // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - /https:\/\/claim\.cardinal\.so\/(.*)\?otp=(.*)/.exec(link)!; + new RegExp(`${baseUrl}/(.*)\\?otp=(.*)`).exec(link)!; + console.log(mintId, otp); return [ new web3.PublicKey(mintId as string), Keypair.fromSecretKey(utils.bytes.bs58.decode(otp as string)), diff --git a/src/programs/timeInvalidator/accounts.ts b/src/programs/timeInvalidator/accounts.ts index 55b6eda16..677d728ef 100644 --- a/src/programs/timeInvalidator/accounts.ts +++ b/src/programs/timeInvalidator/accounts.ts @@ -1,13 +1,34 @@ -import type { AnchorTypes } from "@saberhq/anchor-contrib"; +import { Program, Provider } from "@project-serum/anchor"; +import type { Connection, PublicKey } from "@solana/web3.js"; -import type { TIME_INVALIDATOR_PROGRAM } from "./constants"; - -export type TimeInvalidatorTypes = AnchorTypes< +import type { AccountData } from "../../utils"; +import type { TIME_INVALIDATOR_PROGRAM, - { - tokenManager: TimeInvalidatorData; - } ->; + TimeInvalidatorData, +} from "./constants"; +import { TIME_INVALIDATOR_ADDRESS, TIME_INVALIDATOR_IDL } from "./constants"; + +// TODO fix types +export const getUseInvalidator = async ( + connection: Connection, + timeInvalidatorId: PublicKey +): Promise> => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + const provider = new Provider(connection, null, {}); + const timeInvalidatorProgram = new Program( + TIME_INVALIDATOR_IDL, + TIME_INVALIDATOR_ADDRESS, + provider + ); -type Accounts = TimeInvalidatorTypes["Accounts"]; -export type TimeInvalidatorData = Accounts["timeInvalidator"]; + const parsed = await timeInvalidatorProgram.account.timeInvalidator.fetch( + timeInvalidatorId + ); + return { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + parsed, + pubkey: timeInvalidatorId, + }; +}; diff --git a/src/programs/timeInvalidator/constants.ts b/src/programs/timeInvalidator/constants.ts index 861362750..2ace13316 100644 --- a/src/programs/timeInvalidator/constants.ts +++ b/src/programs/timeInvalidator/constants.ts @@ -1,3 +1,4 @@ +import type { AnchorTypes } from "@saberhq/anchor-contrib"; import { PublicKey } from "@solana/web3.js"; import * as TIME_INVALIDATOR_TYPES from "../../idl/cardinal_time_invalidator"; @@ -12,3 +13,13 @@ export const TIME_INVALIDATOR_IDL = TIME_INVALIDATOR_TYPES.IDL; export type TIME_INVALIDATOR_PROGRAM = TIME_INVALIDATOR_TYPES.CardinalTimeInvalidator; + +export type TimeInvalidatorTypes = AnchorTypes< + TIME_INVALIDATOR_PROGRAM, + { + tokenManager: TimeInvalidatorData; + } +>; + +type Accounts = TimeInvalidatorTypes["Accounts"]; +export type TimeInvalidatorData = Accounts["timeInvalidator"]; diff --git a/src/programs/timeInvalidator/index.ts b/src/programs/timeInvalidator/index.ts index d3e93a484..10cf24140 100644 --- a/src/programs/timeInvalidator/index.ts +++ b/src/programs/timeInvalidator/index.ts @@ -1,3 +1,4 @@ -export * from "./accounts"; +export * as accounts from "./accounts"; export * from "./constants"; export * as instruction from "./instruction"; +export * as pda from "./pda"; diff --git a/src/programs/useInvalidator/instruction.ts b/src/programs/useInvalidator/instruction.ts index a8412ed54..666b189a5 100644 --- a/src/programs/useInvalidator/instruction.ts +++ b/src/programs/useInvalidator/instruction.ts @@ -60,7 +60,6 @@ export const incrementUsages = async ( ); const [useInvalidatorId] = await findUseInvalidatorAddress(tokenManagerId); - console.log("-------------", usages); return useInvalidatorProgram.instruction.incrementUsages(new BN(usages), { accounts: {