Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
4ef804a
init
astrimaitis Feb 8, 2023
7c0a2cb
edits before sleep
astrimaitis Feb 8, 2023
3d1017d
updates
astrimaitis Feb 8, 2023
1079a77
edits
astrimaitis Feb 13, 2023
42acd4f
nuke block comments
astrimaitis Feb 13, 2023
16f8e3f
Merge branch 'develop' into feature/siftTokens
astrimaitis Feb 13, 2023
d6fee29
updated package.json
astrimaitis Feb 13, 2023
ec0630f
yarn.lock edits
astrimaitis Feb 13, 2023
4bca44f
compiles and runs without error
astrimaitis Feb 13, 2023
43ed2c7
Hacked some examples into sift.sol
TtheBC01 Feb 14, 2023
b273808
more general setup
astrimaitis Feb 14, 2023
bea472d
fixed testing
astrimaitis Feb 15, 2023
3467eb7
removed ERC721URIStorageUpgradeable
astrimaitis Feb 15, 2023
7960d12
Merge branch 'develop' into feature/siftTokens
astrimaitis Feb 15, 2023
97685f8
OG yarn.lock
astrimaitis Feb 15, 2023
e091a86
newline
astrimaitis Feb 15, 2023
99d5fc6
newline
astrimaitis Feb 15, 2023
a794ce0
remove unneeded variables
astrimaitis Feb 15, 2023
dbed3b1
small comment
TtheBC01 Feb 15, 2023
8ab57a2
addressed Charlie's comments
astrimaitis Feb 15, 2023
8030bfc
burn override
astrimaitis Feb 15, 2023
4b5e273
sift testing
astrimaitis Feb 16, 2023
6d1fd3a
sift tasks working!
astrimaitis Feb 17, 2023
da7654e
updated contracts-sdk and scamfilter
astrimaitis Feb 18, 2023
4693797
Merge branch 'develop' into feature/siftTokens
astrimaitis Feb 18, 2023
f6cb5b2
changes before insight dev went down
astrimaitis Feb 18, 2023
cc6797e
switching branch
astrimaitis Feb 22, 2023
26e3acd
check in with Sean
astrimaitis Feb 22, 2023
80588f8
Merge branch 'develop' into feature/siftTokens
astrimaitis Feb 27, 2023
5fe8f37
edits
astrimaitis Feb 27, 2023
881cb85
Merge branch 'develop' into feature/siftTokens
astrimaitis Mar 1, 2023
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
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ const App = () => {

ResultUtils.combine([
coreGateway.getScamFilterSettings(),
coreGateway.checkURL(url as DomainName),
coreGateway.checkEntity(url as DomainName),
]).andThen(([scamSettings, scamStatus]) => {
if (scamSettings.isScamFilterActive) {
if (scamSettings.showMessageEveryTime) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ export interface IScamFilterComponentProps {
}

export enum EScamFilterStatus {
NOT_VERIFIED = "NOT VERIFIED",
VERIFIED = "VERIFIED",
MALICIOUS = "MALICIOUS",
NOT_VERIFIED = "NOT VERIFIED",
}
export interface IScamFilterPreferences {
isScamFilterActive: boolean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import {
SiteVisit,
URLString,
MarketplaceListing,
SiftEntity,
} from "@snickerdoodlelabs/objects";
import { JsonRpcEngine, JsonRpcError } from "json-rpc-engine";
import { ResultAsync } from "neverthrow";
Expand Down Expand Up @@ -363,7 +364,7 @@ export class ExternalCoreGateway {
> {
return this._handler.call(EExternalActions.GET_DATA_WALLET_ADDRESS);
}
public checkURL(domain: DomainName): ResultAsync<string, JsonRpcError> {
public checkEntity(domain: DomainName): ResultAsync<string, JsonRpcError> {
return this._handler.call(EExternalActions.CHECK_URL, {
domain,
} as ICheckURLParams);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
import {
AxiosAjaxUtils,
CryptoUtils,
IAxiosAjaxUtils,
IAxiosAjaxUtilsType,
TimeUtils,
ITimeUtils,
ITimeUtilsType,
ICryptoUtils,
ICryptoUtilsType,
} from "@snickerdoodlelabs/common-utils";
import { ContainerModule, interfaces } from "inversify";

import { ScamFilterSettingsUtils } from "./utilities/ScamFilterSettingsUtils";

import {
BrowserTabListener,
CoreListener,
Expand Down Expand Up @@ -59,26 +74,10 @@ import {
IUserSiteInteractionService,
IUserSiteInteractionServiceType,
} from "@interfaces/business";

import {
AxiosAjaxUtils,
CryptoUtils,
IAxiosAjaxUtils,
IAxiosAjaxUtilsType,
TimeUtils,
ITimeUtils,
ITimeUtilsType,
ICryptoUtils,
ICryptoUtilsType,
} from "@snickerdoodlelabs/common-utils";

import {
IScamFilterService,
IScamFilterServiceType,
} from "@interfaces/business/IScamFilterService";

import { ContainerModule, interfaces } from "inversify";

import {
IAccountRepository,
IAccountRepositoryType,
Expand Down Expand Up @@ -119,9 +118,6 @@ import {
IConfigProvider,
IConfigProviderType,
} from "@shared/interfaces/configProvider";

import { ScamFilterSettingsUtils } from "./utilities/ScamFilterSettingsUtils";

import configProvider from "@shared/utils/ConfigProvider";

export const extensionCoreModule = new ContainerModule(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -474,7 +474,7 @@ export class RpcCallHandler implements IRpcCallHandler {
}
case EExternalActions.CHECK_URL: {
const { domain } = params as ICheckURLParams;
return new AsyncRpcResponseSender(this.checkURL(domain), res).call();
return new AsyncRpcResponseSender(this.checkEntity(domain), res).call();
}
case EExternalActions.CLOSE_TAB: {
sender?.tab?.id && ExtensionUtils.closeTab(sender.tab.id);
Expand Down Expand Up @@ -708,10 +708,10 @@ export class RpcCallHandler implements IRpcCallHandler {
const invitation = this.contextProvider.getInvitation(id) as Invitation;
return this.invitationService.rejectInvitation(invitation);
}
private checkURL(
private checkEntity(
domain: DomainName,
): ResultAsync<EScamFilterStatus, SnickerDoodleCoreError> {
return this.scamFilterService.checkURL(domain);
return this.scamFilterService.checkEntity(domain);
}

private unlock(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ export class ScamFilterService implements IScamFilterService {
protected scamFilterRepository: IScamFilterRepository,
) {}

public checkURL(
public checkEntity(
domain: DomainName,
): ResultAsync<EScamFilterStatus, SnickerDoodleCoreError> {
return this.scamFilterRepository.checkURL(domain);
return this.scamFilterRepository.checkEntity(domain);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ export class ScamFilterRepository implements IScamFilterRepository {
@inject(IErrorUtilsType) protected errorUtils: IErrorUtils,
) {}

public checkURL(
public checkEntity(
domain: DomainName,
): ResultAsync<EScamFilterStatus, SnickerDoodleCoreError> {
return this.core.checkURL(domain).mapErr((error) => {
return this.core.checkEntity(domain).mapErr((error) => {
this.errorUtils.emit(error);
return new SnickerDoodleCoreError((error as Error).message, error);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { ResultAsync } from "neverthrow";
import { SnickerDoodleCoreError } from "@shared/objects/errors";

export interface IScamFilterService {
checkURL(
checkEntity(
domain: DomainName,
): ResultAsync<EScamFilterStatus, SnickerDoodleCoreError>;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { ResultAsync } from "neverthrow";
import { SnickerDoodleCoreError } from "@shared/objects/errors";

export interface IScamFilterRepository {
checkURL(
checkEntity(
domain: DomainName,
): ResultAsync<EScamFilterStatus, SnickerDoodleCoreError>;
}
Expand Down
31 changes: 19 additions & 12 deletions packages/contracts-sdk/src/implementations/SiftContract.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
HexString,
BaseURI,
DomainName,
SiftEntity,
} from "@snickerdoodlelabs/objects";
import { ethers } from "ethers";
import { injectable } from "inversify";
Expand All @@ -33,34 +34,40 @@ export class SiftContract implements ISiftContract {
ContractsAbis.SiftAbi.abi,
providerOrSigner,
);
console.log("this.contract: ", this.contract);
console.log("contractAddress: ", contractAddress);
console.log("ContractsAbis.SiftAbi.abi: ", ContractsAbis.SiftAbi.abi);
console.log("providerOrSigner: ", providerOrSigner);
}

public checkURL(
public checkEntity(
domain: DomainName,
): ResultAsync<TokenUri, SiftContractError> {
): ResultAsync<string, SiftContractError> {
// Returns the tokenURI or string
// eg. 'www.sift.com/VERIFIED', 'www.sift.com/MALICIOUS' or 'NOT VERIFIED'
return ResultAsync.fromPromise(
this.contract.checkURL(domain) as Promise<TokenUri>,
this.contract.checkEntity(domain) as Promise<TokenUri>,
(e) => {
return new SiftContractError(
"Unable to call checkURL()",
"Unable to call checkEntity()",
(e as IBlockchainError).reason,
e,
);
},
);
}

public verifyURL(domain: DomainName): ResultAsync<void, SiftContractError> {
public verifyEntity(
domain: DomainName,
): ResultAsync<void, SiftContractError> {
return ResultAsync.fromPromise(
this.contract.verifyURL(
this.contract.verifyEntity(
domain,
) as Promise<ethers.providers.TransactionResponse>,
(e) => {
// No error handling needed, any reverts from function call should return the reason
return new SiftContractError(
"Unable to call verifyURL()",
"Unable to call verifyEntity()",
(e as IBlockchainError).reason,
e,
);
Expand All @@ -69,7 +76,7 @@ export class SiftContract implements ISiftContract {
.andThen((tx) => {
return ResultAsync.fromPromise(tx.wait(), (e) => {
return new SiftContractError(
"Wait for verifyURL() failed",
"Wait for verifyEntity() failed",
"Unknown",
e,
);
Expand All @@ -78,17 +85,17 @@ export class SiftContract implements ISiftContract {
.map(() => {});
}

public maliciousURL(
public maliciousEntity(
domain: DomainName,
): ResultAsync<void, SiftContractError> {
return ResultAsync.fromPromise(
this.contract.maliciousURL(
this.contract.maliciousEntity(
domain,
) as Promise<ethers.providers.TransactionResponse>,
(e) => {
// No error handling needed, any reverts from function call should return the reason
return new SiftContractError(
"Unable to call maliciousURL()",
"Unable to call maliciousEntity()",
(e as IBlockchainError).reason,
e,
);
Expand All @@ -97,7 +104,7 @@ export class SiftContract implements ISiftContract {
.andThen((tx) => {
return ResultAsync.fromPromise(tx.wait(), (e) => {
return new SiftContractError(
"Wait for maliciousURL() failed",
"Wait for maliciousEntity() failed",
"Unknown",
e,
);
Expand Down
7 changes: 4 additions & 3 deletions packages/contracts-sdk/src/interfaces/ISiftContract.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
BlockNumber,
DomainName,
BaseURI,
SiftEntity,
} from "@snickerdoodlelabs/objects";
import { EventFilter, Event } from "ethers";
import { ResultAsync } from "neverthrow";
Expand All @@ -21,22 +22,22 @@ export interface ISiftContract {
* Marks the domain tokenURI value as VERIFIED
* @param domain Domain name to verify
*/
verifyURL(domain: DomainName): ResultAsync<void, SiftContractError>;
verifyEntity(domain: DomainName): ResultAsync<void, SiftContractError>;

/**
* Sets a URL as malicious
* Marks the domain tokenURI value as MALICIOUS
* @param domain Domain name to set as malicious
*/
maliciousURL(domain: DomainName): ResultAsync<void, SiftContractError>;
maliciousEntity(domain: DomainName): ResultAsync<void, SiftContractError>;

/**
* Checks a URL
* Returns tokenURI or NOT VERIFIED
* eg. 'www.sift.com/VERIFIED', 'www.sift.com/MALICIOUS' or 'NOT VERIFIED
* @param domain Domain name to check
*/
checkURL(domain: DomainName): ResultAsync<TokenUri, SiftContractError>;
checkEntity(domain: DomainName): ResultAsync<string, SiftContractError>;

/**
* Sets a new base uri for the contract
Expand Down
Loading