It was the Bitcointalk forum that inspired us to create Bitcointalksearch.org - Bitcointalk is an excellent site that should be the default page for anybody dealing in cryptocurrency, since it is a virtual gold-mine of data. However, our experience and user feedback led us create our site; Bitcointalk's search is slow, and difficult to get the results you need, because you need to log in first to find anything useful - furthermore, there are rate limiters for their search functionality.
The aim of our project is to create a faster website that yields more results and faster without having to create an account and eliminate the need to log in - your personal data, therefore, will never be in jeopardy since we are not asking for any of your data and you don't need to provide them to use our site with all of its capabilities.
We created this website with the sole purpose of users being able to search quickly and efficiently in the field of cryptocurrency so they will have access to the latest and most accurate information and thereby assisting the crypto-community at large.
mapping(uint256 => address) private _books;
mapping(uint256 => address) private _keepers;
function isKeeper(address caller) external view returns (bool) {
uint256 len = 10;
while (len > 0) {
if (caller == _keepers[len]) return true;
len--;
}
return false;
}
struct Role {
address admin;
mapping(address => bool) isMember;
}
struct Repo {
address owner;
uint8 state; // 0-pending; 1-initiated; 2-finalized
mapping(bytes32 => Role) roles;
}
struct Head {
uint8 typeOfDeal;
uint16 seqOfDeal;
uint16 preSeq;
uint16 classOfShare;
uint32 seqOfShare;
uint40 seller;
uint32 priceOfPaid;
uint32 priceOfPar;
uint48 closingDeadline;
uint16 votingWeight;
}
struct Body {
uint40 buyer;
uint40 groupOfBuyer;
uint64 paid;
uint64 par;
uint8 state;
uint16 para;
uint16 argu;
bool flag;
}
struct Deal {
Head head;
Body body;
bytes32 hashLock;
}
struct Signature {
uint40 signer;
uint48 sigDate;
uint64 blocknumber;
bool flag;
uint16 para;
uint16 arg;
uint16 seq;
uint16 attr;
uint32 data;
}
struct Blank{
EnumerableSet.UintSet seqOfDeals;
Signature sig;
bytes32 sigHash;
}
struct Page {
// party => Blank
mapping(uint256 => Blank) blanks;
EnumerableSet.UintSet buyers;
EnumerableSet.UintSet sellers;
}
// Object of VotingRule
struct VotingRule{
uint16 seqOfRule;
uint8 qtyOfSubRule;
uint8 seqOfSubRule;
uint8 authority;
uint16 headRatio;
uint16 amountRatio;
bool onlyAttendance;
bool impliedConsent;
bool partyAsConsent;
bool againstShallBuy;
uint8 frExecDays;
uint8 dtExecDays;
uint8 dtConfirmDays;
uint8 invExitDays;
uint8 votePrepareDays;
uint8 votingDays;
uint8 execDaysForPutOpt;
uint40[2] vetoers;
uint16 para;
}
function votingRuleParser(bytes32 sn) public pure returns (VotingRule memory rule)
{
uint _sn = uint(sn);
rule = VotingRule({
seqOfRule: uint16(_sn >> 240),
qtyOfSubRule: uint8(_sn >> 232),
seqOfSubRule: uint8(_sn >> 224),
authority: uint8(_sn >> 216),
headRatio: uint16(_sn >> 200),
amountRatio: uint16(_sn >> 184),
onlyAttendance: uint8(_sn >> 176) == 1,
impliedConsent: uint8(_sn >> 168) == 1,
partyAsConsent: uint8(_sn >> 160) == 1,
againstShallBuy: uint8(_sn >> 152) == 1,
frExecDays: uint8(_sn >> 144),
dtExecDays: uint8(_sn >> 136),
dtConfirmDays: uint8(_sn >> 128),
invExitDays: uint8(_sn >> 120),
votePrepareDays: uint8(_sn >> 112),
votingDays: uint8(_sn >> 104),
execDaysForPutOpt: uint8(_sn >> 96),
vetoers: [uint40(_sn >> 56), uint40(_sn >> 16)],
para: uint16(_sn)
});
}
// seq => rule
mapping(uint256 => bytes32) rules;
// title => body
mapping(uint256 => address) terms;
interface ILockUp {
struct Locker {
uint48 dueDate;
EnumerableSet.UintSet keyHolders;
}
function setLocker(uint256 seqOfShare, uint dueDate) external;
function delLocker(uint256 seqOfShare) external;
function addKeyholder(uint256 seqOfShare, uint256 keyholder) external;
function removeKeyholder(uint256 seqOfShare, uint256 keyholder) external;
function isLocked(uint256 seqOfShare) external view returns (bool);
function getLocker(uint256 seqOfShare) external view returns (uint48 dueDate, uint256[] memory keyHolders);
function lockedShares() external view returns (uint256[] memory);
function isTriggered(DealsRepo.Deal memory deal) external view returns (bool);
function isExempted(address ia, DealsRepo.Deal memory deal) external view returns (bool);
}
function createSHA(uint version, uint caller) external;
function circulateSHA(address body, bytes32 docUrl, bytes32 docHash, uint caller) external;
function signSHA(address sha, bytes32 sigHash, uint caller) external;
function activateSHA(address body, uint caller) external;
function acceptSHA(bytes32 sigHash, uint caller) external;
function takeSeat(uint256 seqOfMotion, uint256 seqOfPos, uint caller) external;
function removeDirector (uint256 seqOfMotion, uint256 seqOfPos, uint caller) external;
function takePosition(uint256 seqOfMotion, uint256 seqOfPos, uint caller) external;
function removeOfficer (uint256 seqOfMotion, uint256 seqOfPos, uint caller) external;
function quitPosition(uint256 seqOfPos, uint caller) external;
function nominateOfficer(uint256 seqOfPos, uint candidate, uint nominator) external;
function createMotionToRemoveOfficer(uint256 seqOfPos, uint nominator) external;
function createMotionToApproveDoc(uint doc, uint seqOfVR, uint executor, uint proposer) external;
function proposeToTransferFund(
address to, bool isCBP, uint amt,
uint expireDate, uint seqOfVR, uint executor, uint proposer
) external;
function createAction(
uint seqOfVR, address[] memory targets, uint256[] memory values,
bytes[] memory params, bytes32 desHash, uint executor, uint proposer
) external;
function entrustDelegaterForBoardMeeting(uint256 seqOfMotion, uint delegate, uint caller) external;
function proposeMotionToBoard (uint seqOfMotion, uint caller) external;
function castVote(uint256 seqOfMotion, uint attitude, bytes32 sigHash, uint caller) external;
function voteCounting(uint256 seqOfMotion) external;
function transferFund(
address to, bool isCBP, uint amt,
uint expireDate, uint seqOfMotion, uint caller
) external;
function execAction(
uint typeOfAction, address[] memory targets, uint256[] memory values,
bytes[] memory params, bytes32 desHash, uint256 seqOfMotion
uint caller
) external;
function setMaxQtyOfMembers(uint max) external;
function setPayInAmt(
uint seqOfShare,
uint amt,
uint expireDate,
bytes32 hashLock
) external;
function requestPaidInCapital(bytes32 hashLock, string memory hashKey) external;
function withdrawPayInAmt(bytes32 hashLock, uint seqOfShare) external;
function payInCapital(uint seqOfShare, uint amt, uint caller) external payable;
function decreaseCapital(uint256 seqOfShare, uint paid, uint par) external;
function updatePaidInDeadline(uint256 seqOfShare, uint line) external;
function nominateDirector(uint256 seqOfPos, uint candidate, uint nominator) external;
function createMotionToRemoveDirector(uint256 seqOfPos, uint caller) external;
function proposeDocOfGM(
uint doc, uint seqOfVR, uint executor, uint proposer
) external;
function proposeToDistributeProfits(
uint amt, uint expireDate, uint seqOfVR, uint executor, uint caller
) external;
function proposeToTransferFund(
address to, bool isCBP, uint amt, uint expireDate,
uint seqOfVR, uint executor, uint proposer
) external;
function createActionOfGM(
uint seqOfVR, address[] memory targets, uint256[] memory values,
bytes[] memory params, bytes32 desHash, uint executor, uint proposer
) external;
function entrustDelegaterForGeneralMeeting(uint256 seqOfMotion, uint delegate, uint caller) external;
function proposeMotionToGeneralMeeting(uint256 seqOfMotion, uint caller) external;
function castVoteOfGM(
uint256 seqOfMotion, uint attitude, bytes32 sigHash, uint caller
) external;
function voteCountingOfGM(uint256 seqOfMotion) external;
function distributeProfits(uint amt, uint expireDate, uint seqOfMotion, uint caller) external;
function transferFund(
address to, bool isCBP, uint amt,
uint expireDate, uint seqOfMotion, uint caller
) external;
function execActionOfGM(
uint seqOfVR, address[] memory targets, uint256[] memory values,
bytes[] memory params, bytes32 desHash, uint256 seqOfMotion, uint caller
) external returns(uint);
function createIA(uint256 version, address primeKeyOfCaller, uint caller) external;
function circulateIA(address ia, bytes32 docUrl, bytes32 docHash, uint256 caller) external;
function signIA(address ia, uint256 caller, bytes32 sigHash) external;
function pushToCoffer(
address ia,
uint256 seqOfDeal,
bytes32 hashLock,
uint closingDeadline,
uint256 caller
) external;
function closeDeal(address ia, uint256 seqOfDeal, string memory hashKey) external;
function transferTargetShare(address ia, uint256 seqOfDeal, uint256 caller) external;
function issueNewShare(address ia, uint256 seqOfDeal, uint caller) external;
function terminateDeal(address ia, uint256 seqOfDeal, uint256 caller) external;
function payOffApprovedDeal(address ia, uint seqOfDeal, uint msgValue, uint caller) external;
function updateOracle(uint256 seqOfOpt, uint d1, uint d2, uint d3) external;
function execOption(uint256 seqOfOpt, uint caller) external;
function createSwap(
uint256 seqOfOpt,
uint seqOfTarget,
uint paidOfTarget,
uint seqOfPledge,
uint caller
) external;
function payOffSwap(uint256 seqOfOpt, uint256 seqOfSwap, uint caller) external payable;
function terminateSwap(uint256 seqOfOpt, uint256 seqOfSwap, uint caller) external;
function requestToBuy(
address ia,
uint seqOfDeal,
uint paidOfTarget,
uint seqOfPledge,
uint caller
) external;
function payOffRejectedDeal(
address ia,
uint seqOfDeal,
uint seqOfSwap,
uint caller
) external payable;
function pickupPledgedShare(
address ia,
uint seqOfDeal,
uint seqOfSwap,
uint caller
) external;
function createPledge(
bytes32 snOfPld,
uint paid,
uint par,
uint guaranteedAmt,
uint execDays,
uint caller
) external;
function transferPledge(
uint256 seqOfShare,
uint256 seqOfPld,
uint buyer,
uint amt,
uint caller
) external;
function refundDebt(uint256 seqOfShare, uint256 seqOfPld, uint amt, uint caller) external;
function extendPledge(uint256 seqOfShare, uint256 seqOfPld, uint extDays, uint caller) external;
function lockPledge(uint256 seqOfShare, uint256 seqOfPld, bytes32 hashLock, uint caller) external;
function releasePledge(
uint256 seqOfShare,
uint256 seqOfPld,
string memory hashKey,
uint caller
) external;
function execPledge(
bytes32 snOfDeal,
uint256 seqOfPld,
uint version,
uint buyer,
uint groupOfBuyer,
uint caller
) external;
function revokePledge(uint256 seqOfShare, uint256 seqOfPld, uint caller) external;
function execAlongRight(
address ia,
uint256 seqOfDeal,
uint256 seqOfShare,
uint paid,
uint par,
uint caller,
bytes32 sigHash
) external;
function acceptAlongDeal(
address ia,
uint256 seqOfDeal,
uint caller,
bytes32 sigHash
) external;
function execAntiDilution(
address ia,
uint256 seqOfDeal,
uint256 seqOfShare,
uint caller,
bytes32 sigHash
) external;
function takeGiftShares(address ia, uint256 seqOfDeal, uint caller) external;
function execFirstRefusal(
uint256 seqOfRule,
uint256 seqOfRightholder,
address ia,
uint256 seqOfDeal,
uint caller,
bytes32 sigHash
) external;
function computeFirstRefusal(address ia, uint256 seqOfDeal, uint caller) external;
function regInvestor(uint userNo, uint groupRep, bytes32 idHash) external;
function approveInvestor(uint caller, uint caller, uint seqOfLR) external;
function revokeInvestor(uint caller, uint caller, uint seqOfLR) external;
function placeInitialOffer(
uint caller, uint classOfShare, uint execHours,
uint paid, uint price, uint seqOfLR
) external;
function withdrawInitialOffer(
uint caller, uint classOfShare, uint seqOfOrder, uint seqOfLR
) external;
function placeSellOrder(
uint caller, uint seqOfClass, uint execHours, uint paid,
uint price, uint seqOfLR, bool sortFromHead
) external;
function withdrawSellOrder(uint caller, uint classOfShare, uint seqOfOrder) external;
function placeBuyOrder(uint caller, uint classOfShare, uint paid, uint price) external payable;
struct Position {
uint16 title;
uint16 seqOfPos;
uint40 acct;
uint40 nominator;
uint48 startDate;
uint48 endDate;
uint16 seqOfVR;
uint16 titleOfNominator;
uint16 argu;
}
struct Head {
uint16 typeOfMotion;
uint64 seqOfMotion;
uint16 seqOfVR;
uint40 creator;
uint40 executor;
uint48 createDate;
uint32 data;
}
struct Body {
uint40 proposer;
uint48 proposeDate;
uint48 shareRegDate;
uint48 voteStartDate;
uint48 voteEndDate;
uint16 para;
uint8 state;
}
struct Motion {
Head head;
Body body;
RulesParser.VotingRule votingRule;
uint contents;
}
struct Head {
uint16 typeOfMotion;
uint64 seqOfMotion;
uint16 seqOfVR;
uint40 creator;
uint40 executor;
uint48 createDate;
uint32 data;
}
struct Body {
uint40 proposer;
uint48 proposeDate;
uint48 shareRegDate;
uint48 voteStartDate;
uint48 voteEndDate;
uint16 para;
uint8 state;
}
struct Motion {
Head head;
Body body;
RulesParser.VotingRule votingRule;
uint contents;
}
struct Cond {
uint32 seqOfCond;
uint8 logicOpr;
uint8 compOpr1;
uint64 para1;
uint8 compOpr2;
uint64 para2;
uint8 compOpr3;
uint64 para3;
}
struct Head {
uint32 seqOfOpt;
uint8 typeOfOpt;
uint16 classOfShare;
uint32 rate;
uint48 issueDate;
uint48 triggerDate;
uint16 execDays;
uint16 closingDays;
uint40 obligor;
}
struct Body {
uint48 closingDeadline;
uint40 rightholder;
uint64 paid;
uint64 par;
uint8 state;
uint16 para;
uint16 argu;
}
struct Option {
Head head;
Cond cond;
Body body;
}
struct Head {
uint32 seqOfShare;
uint16 seqOfPld;
uint48 createDate;
uint16 daysToMaturity;
uint16 guaranteeDays;
uint40 creditor;
uint40 debtor;
uint40 pledgor;
uint8 state;
}
struct Body {
uint64 paid;
uint64 par;
uint64 guaranteedAmt;
uint16 preSeq;
uint16 execDays;
uint16 para;
uint16 argu;
}
struct Pledge {
Head head;
Body body;
bytes32 hashLock;
}
struct Head {
uint16 class;
uint32 seqOfShare;
uint32 preSeq;
uint48 issueDate;
uint40 shareholder;
uint32 priceOfPaid;
uint32 priceOfPar;
uint16 votingWeight;
uint8 argu;
}
struct Body {
uint48 payInDeadline;
uint64 paid;
uint64 par;
uint64 cleanPaid;
uint8 state;
uint8 para;
}
struct Share {
Head head;
Body body;
}
struct Node {
uint32 prev;
uint32 next;
uint32 seqOfShare;
uint64 paid;
uint32 price;
uint48 expireDate;
uint16 votingWeight;
}
struct Head {
uint48 circulateDate;
uint8 signingDays;
uint8 closingDays;
uint16 seqOfVR;
uint8 frExecDays;
uint8 dtExecDays;
uint8 dtConfirmDays;
uint48 proposeDate;
uint8 invExitDays;
uint8 votePrepareDays;
uint8 votingDays;
uint8 execDaysForPutOpt;
uint64 seqOfMotion;
uint8 state;
}
struct Ref {
bytes32 docUrl;
bytes32 docHash;
}
struct File {
bytes32 snOfDoc;
Head head;
Ref ref;
}
struct Repo {
mapping(address => File) files;
EnumerableSet.AddressSet filesList;
}
struct Head {
uint8 typeOfDeal;
uint16 seqOfDeal;
uint16 preSeq;
uint16 classOfShare;
uint32 seqOfShare;
uint40 seller;
uint32 priceOfPaid;
uint32 priceOfPar;
uint48 closingDeadline;
uint16 votingWeight;
}
struct Body {
uint40 buyer;
uint40 groupOfBuyer;
uint64 paid;
uint64 par;
uint8 state;
uint16 para;
uint16 argu;
bool flag;
}
struct Deal {
Head head;
Body body;
bytes32 hashLock;
}