Пример #1
0
bool CBInitInventoryBroadcastFromData(CBInventoryBroadcast * self,CBByteArray * data,CBEvents * events){
	self->itemNum = 0;
	self->items = NULL;
	if (NOT CBInitMessageByData(CBGetMessage(self), data, events))
		return false;
	return true;
}
Пример #2
0
bool CBInitNetworkAddressFromData(CBNetworkAddress * self, CBByteArray * data, bool isPublic){
	self->ip = NULL;
	self->bucketSet = false;
	if (NOT CBInitMessageByData(CBGetMessage(self), data))
		return false;
	return true;
}
Пример #3
0
bool CBInitChainDescriptorFromData(CBChainDescriptor * self,CBByteArray * data,void (*logError)(char *,...)){
	self->hashNum = 0;
	self->hashes = NULL;
	if (NOT CBInitMessageByData(CBGetMessage(self), data, logError))
		return false;
	return true;
}
Пример #4
0
bool CBInitTransactionInputFromData(CBTransactionInput * self, CBByteArray * data,void (*onErrorReceived)(CBError error,char *,...)){
	self->scriptObject = NULL;
	self->prevOut.hash = NULL;
	if (NOT CBInitMessageByData(CBGetMessage(self), data, onErrorReceived))
		return false;
	return true;
}
Пример #5
0
void CBInitInventoryFromData(CBInventory * self, CBByteArray * data) {
	
	self->itemNum = 0;
	self->itemFront = NULL;
	CBInitMessageByData(CBGetMessage(self), data);
	
}
Пример #6
0
bool CBInitInventoryBroadcastFromData(CBInventoryBroadcast * self,CBByteArray * data,void (*onErrorReceived)(CBError error,char *,...)){
	self->itemNum = 0;
	self->items = NULL;
	if (NOT CBInitMessageByData(CBGetMessage(self), data, onErrorReceived))
		return false;
	return true;
}
Пример #7
0
bool CBInitBlockHeadersFromData(CBBlockHeaders * self,CBByteArray * data,void (*logError)(char *,...)) {
    self->headerNum = 0;
    self->blockHeaders = NULL;
    if (NOT CBInitMessageByData(CBGetMessage(self), data, logError))
        return false;
    return true;
}
Пример #8
0
bool CBInitBlockHeadersFromData(CBBlockHeaders * self, CBByteArray * data) {
    self->headerNum = 0;
    self->blockHeaders = NULL;
    if (NOT CBInitMessageByData(CBGetMessage(self), data))
        return false;
    return true;
}
Пример #9
0
bool CBInitAddressBroadcastFromData(CBAddressBroadcast * self,bool timeStamps,CBByteArray * data,void (*onErrorReceived)(CBError error,char *,...)){
	self->timeStamps = timeStamps;
	self->addrNum = 0;
	self->addresses = NULL;
	if (NOT CBInitMessageByData(CBGetMessage(self), data, onErrorReceived))
		return false;
	return true;
}
Пример #10
0
bool CBInitAddressBroadcastFromData(CBAddressBroadcast * self, bool timeStamps, CBByteArray * data){
	self->timeStamps = timeStamps;
	self->addrNum = 0;
	self->addresses = NULL;
	if (NOT CBInitMessageByData(CBGetMessage(self), data))
		return false;
	return true;
}
Пример #11
0
bool CBInitVersionFromData(CBVersion * self,CBByteArray * data,void (*logError)(char *,...)){
	self->addRecv = NULL;
	self->userAgent = NULL;
	self->addSource = NULL;
	if (NOT CBInitMessageByData(CBGetMessage(self), data, logError))
		return false;
	return true;
}
Пример #12
0
bool CBInitTransactionFromData(CBTransaction * self, CBByteArray * data){
	self->inputNum = 0;
	self->outputNum = 0;
	self->inputs = NULL;
	self->outputs = NULL;
	self->hashSet = false;
	if (NOT CBInitMessageByData(CBGetMessage(self), data))
		return false;
	return true;
}
Пример #13
0
bool CBInitBlockFromData(CBBlock * self, CBByteArray * data){
	self->prevBlockHash = NULL;
	self->merkleRoot = NULL;
	self->transactions = NULL;
	self->transactionNum = 0;
	self->hashSet = false;
	memset(self->hash, 0, 32);
	if (NOT CBInitMessageByData(CBGetMessage(self), data))
		return false;
	return true;
}
Пример #14
0
void BRSendPong(BRConnection *c, CBByteArray *nonce, uint32_t length) {
    if (length != 8) {
        fprintf(stderr, "Ping nonce size %d not 8\n", length);
        exit(1);
    }
    printf("Sending pong reply\n");
    CBMessage *m = CBNewMessageByObject();
    CBInitMessageByData(m, nonce);
    BRSendMessage(c, m, "pong");
    CBFreeMessage(m);
}
Пример #15
0
void BRSendPing(BRConnection *c) {
    printf("Sending ping\n");
    
    CBMessage *m = CBNewMessageByObject();
    uint64_t nonce = rand();
    CBByteArray *ba = CBNewByteArrayWithDataCopy((uint8_t *) &nonce, 8);
    CBInitMessageByData(m, ba);

    BRSendMessage(c, m, "ping");

    CBReleaseObject(ba);
    CBFreeMessage(m);
}
Пример #16
0
void CBInitAlertFromData(CBAlert * self, CBByteArray * data) {
	
	self->setCancel = NULL;
	self->userAgents = NULL;
	self->hiddenComment = NULL;
	self->displayedComment = NULL;
	self->reserved = NULL;
	self->signature = NULL;
	self->payload = NULL;
	
	CBInitMessageByData(CBGetMessage(self), data);
	
}
Пример #17
0
bool CBInitBlockGenesis(CBBlock * self){
	CBByteArray * data = CBNewByteArrayWithDataCopy((uint8_t [285]){0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xA3, 0xED, 0xFD, 0x7A, 0x7B, 0x12, 0xB2, 0x7A, 0xC7, 0x2C, 0x3E, 0x67, 0x76, 0x8F, 0x61, 0x7F, 0xC8, 0x1B, 0xC3, 0x88, 0x8A, 0x51, 0x32, 0x3A, 0x9F, 0xB8, 0xAA, 0x4B, 0x1E, 0x5E, 0x4A, 0x29, 0xAB, 0x5F, 0x49, 0xFF, 0xFF, 0x00, 0x1D, 0x1D, 0xAC, 0x2B, 0x7C, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x04, 0xFF, 0xFF, 0x00, 0x1D, 0x01, 0x04, 0x45, 0x54, 0x68, 0x65, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x73, 0x20, 0x30, 0x33, 0x2F, 0x4A, 0x61, 0x6E, 0x2F, 0x32, 0x30, 0x30, 0x39, 0x20, 0x43, 0x68, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x6C, 0x6F, 0x72, 0x20, 0x6F, 0x6E, 0x20, 0x62, 0x72, 0x69, 0x6E, 0x6B, 0x20, 0x6F, 0x66, 0x20, 0x73, 0x65, 0x63, 0x6F, 0x6E, 0x64, 0x20, 0x62, 0x61, 0x69, 0x6C, 0x6F, 0x75, 0x74, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x62, 0x61, 0x6E, 0x6B, 0x73, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0xF2, 0x05, 0x2A, 0x01, 0x00, 0x00, 0x00, 0x43, 0x41, 0x04, 0x67, 0x8A, 0xFD, 0xB0, 0xFE, 0x55, 0x48, 0x27, 0x19, 0x67, 0xF1, 0xA6, 0x71, 0x30, 0xB7, 0x10, 0x5C, 0xD6, 0xA8, 0x28, 0xE0, 0x39, 0x09, 0xA6, 0x79, 0x62, 0xE0, 0xEA, 0x1F, 0x61, 0xDE, 0xB6, 0x49, 0xF6, 0xBC, 0x3F, 0x4C, 0xEF, 0x38, 0xC4, 0xF3, 0x55, 0x04, 0xE5, 0x1E, 0xC1, 0x12, 0xDE, 0x5C, 0x38, 0x4D, 0xF7, 0xBA, 0x0B, 0x8D, 0x57, 0x8A, 0x4C, 0x70, 0x2B, 0x6B, 0xF1, 0x1D, 0x5F, 0xAC, 0x00, 0x00, 0x00, 0x00}, 285);
	if (NOT data)
		return false;
	uint8_t genesisHash[32] = {0x6F, 0xE2, 0x8C, 0x0A, 0xB6, 0xF1, 0xB3, 0x72, 0xC1, 0xA6, 0xA2, 0x46, 0xAE, 0x63, 0xF7, 0x4F, 0x93, 0x1E, 0x83, 0x65, 0xE1, 0x5A, 0x08, 0x9C, 0x68, 0xD6, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00};
	memcpy(self->hash, genesisHash, 32);
	self->hashSet = true;
	if (NOT CBInitMessageByData(CBGetMessage(self), data)){
		CBReleaseObject(data);
		CBReleaseObject(self->hash);
		return false;
	}
	CBReleaseObject(data);
	CBBlockDeserialise(self, true);
	return true;
}
Пример #18
0
void CBInitPingPongFromData(CBPingPong * self, CBByteArray * data) {
	
	CBInitMessageByData(CBGetMessage(self), data);
	
}
Пример #19
0
bool CBInitTransactionOutputFromData(CBTransactionOutput * self, CBByteArray * data){
	self->scriptObject = NULL;
	if (NOT CBInitMessageByData(CBGetMessage(self), data))
		return false;
	return true;
}
Пример #20
0
void CBInitNetworkAddressFromData(CBNetworkAddress * self, CBByteArray * data, bool isPublic){
	self->ip = NULL;
	self->bucketSet = false;
	CBInitMessageByData(CBGetMessage(self), data);
}
Пример #21
0
void CBInitTransactionInputFromData(CBTransactionInput * self, CBByteArray * data){
	self->scriptObject = NULL;
	self->prevOut.hash = NULL;
	CBInitMessageByData(CBGetMessage(self), data);
}
Пример #22
0
void CBInitChainDescriptorFromData(CBChainDescriptor * self, CBByteArray * data){
	self->hashNum = 0;
	self->hashes = NULL;
	CBInitMessageByData(CBGetMessage(self), data);
}
Пример #23
0
void CBInitBlockHeadersFromData(CBBlockHeaders * self, CBByteArray * data){
	self->headerNum = 0;
	CBInitMessageByData(CBGetMessage(self), data);
}
Пример #24
0
bool CBInitInventoryItemFromData(CBInventoryItem * self,CBByteArray * data,void (*logError)(char *,...)){
	self->hash = NULL;
	if (NOT CBInitMessageByData(CBGetMessage(self), data, logError))
		return false;
	return true;
}
Пример #25
0
void CBInitNetworkAddressListFromData(CBNetworkAddressList * self, bool timeStamps, CBByteArray * data){
	self->timeStamps = timeStamps;
	self->addrNum = 0;
	self->addresses = NULL;
	CBInitMessageByData(CBGetMessage(self), data);
}
Пример #26
0
bool CBInitInventoryItemFromData(CBInventoryItem * self, CBByteArray * data){
	self->hash = NULL;
	if (NOT CBInitMessageByData(CBGetMessage(self), data))
		return false;
	return true;
}