RACE THE SUN A film review by David Rezachek Copyright 1996 David Rezachek
This movie is a highly fictionalized account of the exploits of an Hawaii high school (Konawaena Intermediate and High School on the Big Island of Hawaii) in the 1990 World Solar Challenge in Australia.
The most disappointing and offensive part of this movie was the way the writer denigrated the contributions of the sponsors. Without the considerable contributions and efforts of the sponsors and program organizers, Konawaena's participation in the Hawaii solar car program (the Ka'ahele La ["Tour of the Sun" in Hawaiian] Interscholastic PV-Powered Vehicle Competition) and the 1990 World Solar Challenge would not have been possible. None of these sponsors or individuals were acknowledged for their contributions to this effort.
Herb Squires, who is billed as one of the co-producers of this movie, was the one individual most responsible for the ultimate demise of the Hawaii solar car program and one of the few individuals who made money off the considerable efforts of others.
The movie is marginally entertaining and not worth the price of admission. Wait for the video, if you feel you must see it.
For those who are truly interested in a factual account of the Ka'ahele La Program and Konawaena's participation, I am in the process of writing a book. The tentative title of this book is "Winning at Any Cost."
I plan to publish this book both in hard copy and on my own personal web page.
For more information, contact:
Dr. David Rezachek Former Ka'ahele La Program Coordinator 710 Lunalilo Street, #1107 Honolulu, Hawaii 96813 USA Phone/Fax:<PHONE_NUMBER>
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Invoice
in package
Tags
Table of Contents
Properties
- $acceptanceWindow : float|null
- $amountPaid : int|null
- $autoRedirect : bool
- $billId : string|null
- $bitpayIdRequired : bool|null
- $buyer : Buyer|null
- $buyerEmail : string|null
- $buyerProvidedEmail : string|null
- $buyerProvidedInfo : BuyerProvidedInfo|null
- $buyerSms : string|null
- $closeURL : string|null
- $currency : string|null
- $currentTime : string|null
- $displayAmountPaid : string|null
- $exceptionStatus : bool|null
- $exchangeRates : array<string|int, mixed>|null
- $expirationTime : string|null
- $extendedNotifications : bool
- $forcedBuyerSelectedTransactionCurrency : string|null
- $forcedBuyerSelectedWallet : string|null
- $fullNotifications : bool
- $guid : string|null
- $id : string|null
- $invoiceTime : int|null
- $isCancelled : bool|null
- $itemCode : string|null
- $itemDesc : string|null
- $itemizedDetails : array<string|int, ItemizedDetails>
- $jsonPayProRequired : bool|null
- $lowFeeDetected : bool|null
- $merchantName : string|null
- $minerFees : MinerFees|null
- $nonPayProPaymentReceived : bool|null
- $notificationEmail : string|null
- $notificationURL : string|null
- $orderId : string|null
- $overpaidAmount : int|null
- $paymentCodes : array<string|int, mixed>|null
- $paymentCurrencies : array<string|int, mixed>|null
- $paymentDisplaySubTotals : array<string|int, mixed>|null
- $paymentDisplayTotals : array<string|int, mixed>|null
- $paymentSubtotals : array<string|int, mixed>|null
- $paymentTotals : array<string|int, mixed>|null
- $physical : bool
- $posData : string|null
- $price : float|null
- $redirectURL : string|null
- $refundAddresses : array<string|int, mixed>|null
- $refundAddressRequestPending : bool|null
- $refundInfo : RefundInfo|null
- $selectedTransactionCurrency : string|null
- $shopper : Shopper|null
- $status : string|null
- $supportedTransactionCurrencies : SupportedTransactionCurrencies|null
- $targetConfirmations : int|null
- $token : string|null
- $transactionCurrency : string|null
- $transactions : array<string|int, mixed>|null
- $transactionSpeed : string|null
- $underpaidAmount : int|null
- $universalCodes : UniversalCodes|null
- $url : string|null
Methods
- __construct() : mixed
- Constructor, create a minimal request Invoice object.
- getAcceptanceWindow() : float|null
- Gets acceptanceWindow
- getAmountPaid() : int|null
- Gets amountPaid
- getAutoRedirect() : bool|null
- Gets autoRedirect
- getBillId() : string|null
- Gets billId
- getBitpayIdRequired() : bool|null
- Gets bitpayIdRequired
- getBuyer() : Buyer|null
- Gets buyer
- getBuyerEmail() : string|null
- Gets buyerEmail
- getBuyerProvidedEmail() : string|null
- Gets buyerProvidedEmail
- getBuyerProvidedInfo() : BuyerProvidedInfo|null
- Gets buyerProvidedEmail
- getBuyerSms() : string|null
- Gets buyerSms
- getCloseURL() : string|null
- Gets closeURL
- getCurrency() : string|null
- Gets currency
- getCurrentTime() : string|null
- Gets currentTime - UNIX time of API call, in milliseconds
- getDisplayAmountPaid() : string|null
- Gets displayAmountPaid
- getExceptionStatus() : bool|null
- Gets exceptionStatus
- getExchangeRates() : array<string|int, mixed>|null
- Gets exchangeRates
- getExpirationTime() : string|null
- Gets expirationTime - UNIX time when invoice is last available to be paid, in milliseconds
- getExtendedNotifications() : bool|null
- Gets extendedNotifications
- getForcedBuyerSelectedTransactionCurrency() : string|null
- Gets forcedBuyerSelectedWallet
- getForcedBuyerSelectedWallet() : string|null
- Gets forcedBuyerSelectedWallet
- getFullNotifications() : bool|null
- Gets fullNotifications
- getGuid() : string|null
- Gets guid
- getId() : string|null
- Gets invoice resource id
- getInvoiceTime() : int|null
- Gets invoiceTime - UNIX time of invoice creation, in milliseconds
- getIsCancelled() : bool|null
- Gets isCancelled
- getItemCode() : string|null
- Gets itemCode
- getItemDesc() : string|null
- Gets itemDesc
- getItemizedDetails() : array<string|int, ItemizedDetails>
- Gets itemizedDetails
- getJsonPayProRequired() : bool|null
- Gets jsonPayProRequired
- getLowFeeDetected() : bool|null
- Gets lowFeeDetected
- getMerchantName() : string|null
- Gets merchantName
- getMinerFees() : MinerFees|null
- Gets minerFees
- getNonPayProPaymentReceived() : bool|null
- Gets nonPayProPaymentReceived
- getNotificationEmail() : string|null
- Gets NotificationEmail
- getNotificationURL() : string|null
- Gets notificationURL
- getOrderId() : string|null
- Gets orderId
- getOverpaidAmount() : int|null
- Gets overpaidAmount
- getPaymentCodes() : array<string|int, mixed>|null
- Gets paymentCodes
- getPaymentCurrencies() : array<string|int, mixed>|null
- Gets paymentCurrencies
- getPaymentDisplaySubTotals() : array<string|int, mixed>|null
- Gets paymentDisplaySubtotals
- getPaymentDisplayTotals() : array<string|int, mixed>|null
- Gets paymentDisplayTotals
- getPaymentSubtotals() : array<string|int, mixed>|null
- Gets paymentSubtotals
- getPaymentTotals() : array<string|int, mixed>|null
- Gets paymentTotals
- getPhysical() : bool|null
- Gets physical.
- getPosData() : string|null
- Gets posData
- getPrice() : float|null
- Gets price
- getRedirectURL() : string|null
- Gets RedirectURL
- getRefundAddresses() : array<string|int, mixed>|null
- Gets refundAddresses
- getRefundAddressRequestPending() : bool|null
- Gets refundAddressRequestPending
- getRefundInfo() : RefundInfo|null
- Gets refundInfo
- getSelectedTransactionCurrency() : string|null
- Gets selectedTransactionCurrency
- getShopper() : Shopper|null
- Gets shopper
- getStatus() : string|null
- Gets status
- getSupportedTransactionCurrencies() : SupportedTransactionCurrencies|null
- Gets supportedTransactionCurrencies
- getTargetConfirmations() : int|null
- Gets targetConfirmations
- getToken() : string|null
- Gets token
- getTransactionCurrency() : string|null
- Gets transactionCurrency
- getTransactions() : array<string|int, mixed>|null
- Gets transactions
- getTransactionSpeed() : string|null
- Gets transactionSpeed.
- getUnderpaidAmount() : int|null
- Gets underpaidAmount
- getUniversalCodes() : UniversalCodes|null
- Gets universalCodes
- getUrl() : string|null
- Gets url
- setAcceptanceWindow() : void
- Sets acceptanceWindow
- setAmountPaid() : void
- Sets amountPaid
- setAutoRedirect() : void
- Sets autoRedirect
- setBillId() : void
- Sets billId
- setBitpayIdRequired() : void
- Sets bitpayIdRequired
- setBuyer() : void
- Sets buyer
- setBuyerEmail() : void
- Sets buyerEmail
- setBuyerProvidedEmail() : void
- Sets buyerProvidedEmail
- setBuyerProvidedInfo() : mixed
- Sets buyerProvidedEmail
- setBuyerSms() : void
- Sets buyerSms
- setCloseURL() : void
- Gets closeURL
- setCurrency() : void
- Sets currency
- setCurrentTime() : void
- Sets currentTime - UNIX time of API call, in milliseconds
- setDisplayAmountPaid() : void
- Sets displayAmountPaid
- setExceptionStatus() : void
- Sets exceptionStatus
- setExchangeRates() : void
- Sets exchangeRates
- setExpirationTime() : void
- Sets expirationTime - UNIX time when invoice is last available to be paid, in milliseconds
- setExtendedNotifications() : void
- Sets extendedNotifications
- setForcedBuyerSelectedTransactionCurrency() : mixed
- Sets forcedBuyerSelectedWallet
- setForcedBuyerSelectedWallet() : mixed
- Sets forcedBuyerSelectedWallet
- setFullNotifications() : void
- Sets fullNotifications
- setGuid() : void
- Sets guid
- setId() : void
- Sets invoice resource id
- setInvoiceTime() : mixed
- Sets invoiceTime - UNIX time of invoice creation, in milliseconds
- setIsCancelled() : void
- Sets isCancelled
- setItemCode() : void
- Sets itemCode
- setItemDesc() : void
- Sets itemDesc
- setItemizedDetails() : void
- Sets itemizedDetails
- setJsonPayProRequired() : void
- Sets jsonPayProRequired
- setLowFeeDetected() : mixed
- Sets lowFeeDetected
- setMerchantName() : void
- Sets merchantName
- setMinerFees() : void
- Sets minerFees
- setNonPayProPaymentReceived() : void
- Sets nonPayProPaymentReceived
- setNotificationEmail() : void
- Sets NotificationEmail
- setNotificationURL() : void
- Sets notificationURL
- setOrderId() : void
- Sets orderId
- setOverpaidAmount() : void
- Sets overpaidAmount
- setPaymentCodes() : mixed
- Sets paymentCodes
- setPaymentCurrencies() : void
- Sets paymentCurrencies
- setPaymentDisplaySubTotals() : mixed
- Sets paymentDisplaySubtotals
- setPaymentDisplayTotals() : mixed
- Sets paymentDisplayTotals
- setPaymentSubtotals() : mixed
- Sets paymentSubtotals
- setPaymentTotals() : mixed
- Sets paymentTotals
- setPhysical() : void
- Sets physical.
- setPosData() : void
- Sets posData
- setPrice() : void
- Sets price
- setRedirectURL() : void
- Sets RedirectURL
- setRefundAddresses() : void
- Sets refundAddresses
- setRefundAddressRequestPending() : void
- Sets refundAddressRequestPending
- setRefundInfo() : void
- Sets refundInfo
- setSelectedTransactionCurrency() : void
- Sets selectedTransactionCurrency
- setShopper() : mixed
- Sets shopper
- setStatus() : void
- Sets status
- setSupportedTransactionCurrencies() : void
- Sets supportedTransactionCurrencies
- setTargetConfirmations() : void
- Sets targetConfirmations
- setToken() : void
- Sets token
- setTransactionCurrency() : void
- Sets transactionCurrency
- setTransactions() : void
- Sets transactions
- setTransactionSpeed() : void
- Sets transactionSpeed.
- setUnderpaidAmount() : void
- Sets underpaidAmount
- setUniversalCodes() : mixed
- Sets universalCodes
- setUrl() : void
- Sets url
- toArray() : array<string|int, mixed>
- Returns the Invoice object as array
Properties
$acceptanceWindow
protected
float|null
$acceptanceWindow
= null
$amountPaid
protected
int|null
$amountPaid
= null
$autoRedirect
protected
bool
$autoRedirect
= false
$billId
protected
string|null
$billId
= null
$bitpayIdRequired
protected
bool|null
$bitpayIdRequired
= null
$buyer
protected
Buyer|null
$buyer
= null
$buyerEmail
protected
string|null
$buyerEmail
= null
$buyerProvidedEmail
protected
string|null
$buyerProvidedEmail
= null
$buyerProvidedInfo
protected
BuyerProvidedInfo|null
$buyerProvidedInfo
= null
$buyerSms
protected
string|null
$buyerSms
= null
$closeURL
protected
string|null
$closeURL
= null
$currency
protected
string|null
$currency
= null
$currentTime
protected
string|null
$currentTime
= null
$displayAmountPaid
protected
string|null
$displayAmountPaid
= null
$exceptionStatus
protected
bool|null
$exceptionStatus
= null
$exchangeRates
protected
array<string|int, mixed>|null
$exchangeRates
= null
$expirationTime
protected
string|null
$expirationTime
= null
$extendedNotifications
protected
bool
$extendedNotifications
= false
$forcedBuyerSelectedTransactionCurrency
protected
string|null
$forcedBuyerSelectedTransactionCurrency
= null
$forcedBuyerSelectedWallet
protected
string|null
$forcedBuyerSelectedWallet
= null
$fullNotifications
protected
bool
$fullNotifications
= false
$guid
protected
string|null
$guid
= null
$id
protected
string|null
$id
= null
$invoiceTime
protected
int|null
$invoiceTime
= null
$isCancelled
protected
bool|null
$isCancelled
= null
$itemCode
protected
string|null
$itemCode
= null
$itemDesc
protected
string|null
$itemDesc
= null
$itemizedDetails
protected
array<string|int, ItemizedDetails>
$itemizedDetails
= []
$jsonPayProRequired
protected
bool|null
$jsonPayProRequired
= null
$lowFeeDetected
protected
bool|null
$lowFeeDetected
= null
$merchantName
protected
string|null
$merchantName
= null
$minerFees
protected
MinerFees|null
$minerFees
= null
$nonPayProPaymentReceived
protected
bool|null
$nonPayProPaymentReceived
= null
$notificationEmail
protected
string|null
$notificationEmail
= null
$notificationURL
protected
string|null
$notificationURL
= null
$orderId
protected
string|null
$orderId
= null
$overpaidAmount
protected
int|null
$overpaidAmount
= null
$paymentCodes
protected
array<string|int, mixed>|null
$paymentCodes
= null
$paymentCurrencies
protected
array<string|int, mixed>|null
$paymentCurrencies
= null
$paymentDisplaySubTotals
protected
array<string|int, mixed>|null
$paymentDisplaySubTotals
= null
$paymentDisplayTotals
protected
array<string|int, mixed>|null
$paymentDisplayTotals
= null
$paymentSubtotals
protected
array<string|int, mixed>|null
$paymentSubtotals
= null
$paymentTotals
protected
array<string|int, mixed>|null
$paymentTotals
= null
$physical
protected
bool
$physical
= false
$posData
protected
string|null
$posData
= null
$price
protected
float|null
$price
= null
$redirectURL
protected
string|null
$redirectURL
= null
$refundAddresses
protected
array<string|int, mixed>|null
$refundAddresses
= null
$refundAddressRequestPending
protected
bool|null
$refundAddressRequestPending
= null
$refundInfo
protected
RefundInfo|null
$refundInfo
= null
$selectedTransactionCurrency
protected
string|null
$selectedTransactionCurrency
= null
$shopper
protected
Shopper|null
$shopper
= null
$status
protected
string|null
$status
= null
$supportedTransactionCurrencies
protected
SupportedTransactionCurrencies|null
$supportedTransactionCurrencies
= null
$targetConfirmations
protected
int|null
$targetConfirmations
= null
$token
protected
string|null
$token
= null
$transactionCurrency
protected
string|null
$transactionCurrency
= null
$transactions
protected
array<string|int, mixed>|null
$transactions
= null
$transactionSpeed
protected
string|null
$transactionSpeed
= null
$underpaidAmount
protected
int|null
$underpaidAmount
= null
$universalCodes
protected
UniversalCodes|null
$universalCodes
= null
$url
protected
string|null
$url
= null
Methods
__construct()
Constructor, create a minimal request Invoice object.
public
__construct([float|null $price = null ][, string|null $currency = null ]) : mixed
Parameters
- $price : float|null = null
-
float The amount for which the invoice will be created.
- $currency : string|null = null
-
string three digit currency type used to compute the invoice bitcoin amount.
getAcceptanceWindow()
Gets acceptanceWindow
public
getAcceptanceWindow() : float|null
Number of milliseconds that a user has to pay an invoice before it expires (0-900000). If not set, invoice will default to the account acceptanceWindow. If account acceptanceWindow is not set, invoice will default to 15 minutes (900,000 milliseconds).
Return values
float|null —the acceptance window
getAmountPaid()
Gets amountPaid
public
getAmountPaid() : int|null
The total amount paid to the invoice in terms of the invoice transactionCurrency indicated in the smallest possible unit for the corresponding transactionCurrency (e.g satoshis for BTC and BCH)
Return values
int|nullgetAutoRedirect()
Gets autoRedirect
public
getAutoRedirect() : bool|null
Set to false by default, merchant can setup automatic redirect to their website by setting this parameter to true.
Return values
bool|null —the auto redirect
getBillId()
Gets billId
public
getBillId() : string|null
This field will be in the invoice object only if the invoice was generated from a bill,
Tags
Return values
string|nullgetBitpayIdRequired()
Gets bitpayIdRequired
public
getBitpayIdRequired() : bool|null
BitPay ID is a verification process that is required when a user is making payments or receiving a refund over a given threshold, which may vary by region. This Boolean forces the invoice to require BitPay ID regardless of the price.
Return values
bool|null —the Bitpay id required
getBuyer()
Gets buyer
public
getBuyer() : Buyer|null
Allows merchant to pass buyer related information in the invoice object
Return values
Buyer|null —the buyer
getBuyerEmail()
Gets buyerEmail
public
getBuyerEmail() : string|null
Buyer's email address. If provided during invoice creation, this will bypass the email prompt for the consumer when opening the invoice.
Return values
string|null —the buyer email
getBuyerProvidedEmail()
Gets buyerProvidedEmail
public
getBuyerProvidedEmail() : string|null
Populated with the buyer's email address if passed in the buyer object by the merchant, otherwise this field is not returned for newly created invoices. If the merchant does not pass the buyer email in the invoice request, the bitpay invoice UI will prompt the user to enter his email address and this field will be populated with the email submitted.
Return values
string|null —the buyer provided email
getBuyerProvidedInfo()
Gets buyerProvidedEmail
public
getBuyerProvidedInfo() : BuyerProvidedInfo|null
Information collected from the buyer during the process of paying an invoice. Initially this object is empty.
Return values
BuyerProvidedInfo|null —Information collected from the buyer
getBuyerSms()
Gets buyerSms
public
getBuyerSms() : string|null
SMS provided by user for communications. This is only used for instances where a buyers email (primary form of buyer communication) is can not be gathered.
Return values
string|null —the buyer sms
getCloseURL()
Gets closeURL
public
getCloseURL() : string|null
URL to redirect if the shopper does not pay the invoice and click on the Close button instead.
Return values
string|null —the close url
getCurrency()
Gets currency
public
getCurrency() : string|null
ISO 4217 3-character currency code. This is the currency associated with the price field, supported currencies are available via the Currencies resource
Return values
string|null —The currency
getCurrentTime()
Gets currentTime - UNIX time of API call, in milliseconds
public
getCurrentTime() : string|null
Return values
string|null —UNIX time
getDisplayAmountPaid()
Gets displayAmountPaid
public
getDisplayAmountPaid() : string|null
Initially set to "0" when creating the invoice. It will be updated with the total amount paid to the invoice indicated in the base unit for the corresponding transactionCurrency
Return values
string|nullgetExceptionStatus()
Gets exceptionStatus
public
getExceptionStatus() : bool|null
Initially a boolean false, this parameter will indicate if the purchaser sent too much ("paidOver") or not enough funds ("paidPartial") in the transaction to pay the BitPay invoice. Possible values are: false: default value (boolean) unless an exception is triggered. "paidPartial": (string) if the consumer did not send enough funds when paying the invoice. "paidOver": (string) if the consumer sent to much funds when paying the invoice.
Return values
bool|null —the exception status
getExchangeRates()
Gets exchangeRates
public
getExchangeRates() : array<string|int, mixed>|null
Exchange rates keyed by source and target currencies.
Return values
array<string|int, mixed>|nullgetExpirationTime()
Gets expirationTime - UNIX time when invoice is last available to be paid, in milliseconds
public
getExpirationTime() : string|null
Return values
string|null —the UNIX time
getExtendedNotifications()
Gets extendedNotifications
public
getExtendedNotifications() : bool|null
Allows merchants to get access to additional webhooks. For instance when an invoice expires without receiving a payment or when it is refunded. If set to true, then fullNotifications is automatically set to true. When using the extendedNotifications parameter, the webhook also have a payload slightly different from the standard webhooks.
Return values
bool|nullgetForcedBuyerSelectedTransactionCurrency()
Gets forcedBuyerSelectedWallet
public
getForcedBuyerSelectedTransactionCurrency() : string|null
Merchant pre-selects transaction currency on behalf of buyer.
Return values
string|null —Merchant pre-selects transaction currency
getForcedBuyerSelectedWallet()
Gets forcedBuyerSelectedWallet
public
getForcedBuyerSelectedWallet() : string|null
Merchant pre-selects transaction currency on behalf of buyer.
Return values
string|null —the forced buyer selected wallet
getFullNotifications()
Gets fullNotifications
public
getFullNotifications() : bool|null
This parameter is set to true by default, meaning all standard notifications are being sent for a payment made to an invoice. If you decide to set it to false instead, only 1 webhook will be sent for each invoice paid by the consumer. This webhook will be for the "confirmed" or "complete" invoice status, depending on the transactionSpeed selected.
Return values
bool|null —the full notification
getGuid()
Gets guid
public
getGuid() : string|null
A passthru variable provided by the merchant and designed to be used by the merchant to correlate the invoice with an order ID in their system, which can be used as a lookup variable in Retrieve Invoice by GUID.
Return values
string|null —The guid
getId()
Gets invoice resource id
public
getId() : string|null
Return values
string|null —Invoice resource id
getInvoiceTime()
Gets invoiceTime - UNIX time of invoice creation, in milliseconds
public
getInvoiceTime() : int|null
Return values
int|null —UNIX time of invoice creation, in milliseconds
getIsCancelled()
Gets isCancelled
public
getIsCancelled() : bool|null
Indicates whether or not the invoice was cancelled.
Return values
bool|nullgetItemCode()
Gets itemCode
public
getItemCode() : string|null
"bitcoindonation" for donations, otherwise do not include the field in the request.
Return values
string|null —the item code
getItemDesc()
Gets itemDesc
public
getItemDesc() : string|null
Invoice description - will be added as a line item on the BitPay checkout page, under the merchant name.
Return values
string|null —the item desc
getItemizedDetails()
Gets itemizedDetails
public
getItemizedDetails() : array<string|int, ItemizedDetails>
Object containing line item details for display.
Return values
array<string|int, ItemizedDetails>getJsonPayProRequired()
Gets jsonPayProRequired
public
getJsonPayProRequired() : bool|null
Boolean set to false by default. If set to true, this means that the invoice will only accept payments from wallets which have implemented the BitPay JSON Payment Protocol
Return values
bool|null —the json pay pro required
getLowFeeDetected()
Gets lowFeeDetected
public
getLowFeeDetected() : bool|null
Flag to indicate if the miner fee used by the buyer is too low. Initially set to false when the invoice is created.
Return values
bool|null —Flag to indicate if the miner fee used by the buyer is too low
getMerchantName()
Gets merchantName
public
getMerchantName() : string|null
A display string for merchant identification (ex. Wal-Mart Store #1452, Bowling Green, KY).
Return values
string|null —the merchant name
getMinerFees()
Gets minerFees
public
getMinerFees() : MinerFees|null
The total amount of fees that the purchaser will pay to cover BitPay's UTXO sweep cost for an invoice. The key is the currency and the value is an object containing the satoshis per byte, the total fee, and the fiat amount. This is referenced as "Network Cost" on an invoice, see this support article for more information
Return values
MinerFees|nullgetNonPayProPaymentReceived()
Gets nonPayProPaymentReceived
public
getNonPayProPaymentReceived() : bool|null
This boolean will be available on an invoice object once an invoice is paid and indicate if the transaction was made with a wallet using the payment protocol (true) or peer to peer (false).
Return values
bool|nullgetNotificationEmail()
Gets NotificationEmail
public
getNotificationEmail() : string|null
Merchant email address for notification of payout status change.
Return values
string|null —the notification email
getNotificationURL()
Gets notificationURL
public
getNotificationURL() : string|null
Return values
string|null —- URL to which BitPay sends webhook notifications. HTTPS is mandatory.
getOrderId()
Gets orderId
public
getOrderId() : string|null
Can be used by the merchant to assign their own internal Id to an invoice. If used, there should be a direct match between an orderId and an invoice id.
Return values
string|nullgetOverpaidAmount()
Gets overpaidAmount
public
getOverpaidAmount() : int|null
This parameter will be returned on the invoice object if the invoice was overpaid ("exceptionStatus": "paidOver"). It equals to the absolute difference between amountPaid and paymentTotals for the corresponding transactionCurrency used.
Return values
int|nullgetPaymentCodes()
Gets paymentCodes
public
getPaymentCodes() : array<string|int, mixed>|null
The URIs for sending a transaction to the invoice. The first key is the transaction currency. The transaction currency maps to an object containing the payment URIs. The key of this object is the BIP number and the value is the payment URI. For "BTC", "BCH" and "DOGE" - BIP72b and BIP73 are supported. For "ETH", "GUSD", "PAX", "BUSD", "USDC", "DAI" and "WBTC"- EIP681 is supported For "XRP" - RIP681, BIP72b and BIP73 is supported
Return values
array<string|int, mixed>|nullgetPaymentCurrencies()
Gets paymentCurrencies
public
getPaymentCurrencies() : array<string|int, mixed>|null
Allow the merchant to select the cryptocurrencies available as payment option on the BitPay invoice. Possible values are currently "BTC", "BCH", "ETH", "GUSD", "PAX", "BUSD", "USDC", "XRP", "DOGE", "DAI" and "WBTC". For instance "paymentCurrencies": ["BTC"] will create an invoice with only XRP available as transaction currency, thus bypassing the currency selection step on the invoice.
Return values
array<string|int, mixed>|null —the payment currencies
getPaymentDisplaySubTotals()
Gets paymentDisplaySubtotals
public
getPaymentDisplaySubTotals() : array<string|int, mixed>|null
Equivalent to price for each supported transactionCurrency, excluding minerFees. The key is the currency and the value is an amount indicated in the base unit for each supported transactionCurrency.
Return values
array<string|int, mixed>|null —Equivalent to price for each supported transactionCurrency
getPaymentDisplayTotals()
Gets paymentDisplayTotals
public
getPaymentDisplayTotals() : array<string|int, mixed>|null
The total amount that the purchaser should pay as displayed on the invoice UI. This is like paymentDisplaySubTotals but with the minerFees included. The key is the currency and the value is an amount indicated in the base unit for each supported transactionCurrency.
Return values
array<string|int, mixed>|null —The total amount that the purchaser should pay
getPaymentSubtotals()
Gets paymentSubtotals
public
getPaymentSubtotals() : array<string|int, mixed>|null
For internal use. This field can be ignored in merchant implementations.
Return values
array<string|int, mixed>|null —the payment subtotals
getPaymentTotals()
Gets paymentTotals
public
getPaymentTotals() : array<string|int, mixed>|null
For internal use - This field can be ignored in merchant implementations.
Return values
array<string|int, mixed>|null —the payment totals
getPhysical()
Gets physical.
public
getPhysical() : bool|null
Indicates whether items are physical goods. Alternatives include digital goods and services.
Return values
bool|null —the physical
getPosData()
Gets posData
public
getPosData() : string|null
A passthru variable provided by the merchant during invoice creation and designed to be used by the merchant to correlate the invoice with an order or other object in their system. This passthru variable can be a serialized object.
Return values
string|null —The pos data
getPrice()
Gets price
public
getPrice() : float|null
Fixed price amount for the checkout, in the "currency" of the invoice object.
Return values
float|null —The price
getRedirectURL()
Gets RedirectURL
public
getRedirectURL() : string|null
The shopper will be redirected to this URL when clicking on the Return button after a successful payment or when clicking on the Close button if a separate closeURL is not specified.
Return values
string|null —the redirect url
getRefundAddresses()
Gets refundAddresses
public
getRefundAddresses() : array<string|int, mixed>|null
Initially empty when the invoice is created. This field will be populated with the refund address provided by the customer if you request a refund of the specific invoice.
Return values
array<string|int, mixed>|null —Refund address provided by the customer
getRefundAddressRequestPending()
Gets refundAddressRequestPending
public
getRefundAddressRequestPending() : bool|null
Initially set to false when the invoice is created, this field will be set to true once a refund request has been issued by the merchant. This flag is here to indicate that the refund request is pending action from the buyer to provide an address for the refund, via the secure link which has been automatically emailed to him.
Return values
bool|null —the refund address request pending
getRefundInfo()
Gets refundInfo
public
getRefundInfo() : RefundInfo|null
For a refunded invoice, this object will contain the details of executed refunds for the corresponding invoice.
Return values
RefundInfo|nullgetSelectedTransactionCurrency()
Gets selectedTransactionCurrency
public
getSelectedTransactionCurrency() : string|null
This field will be populated with the cryptocurrency selected to pay the BitPay invoice, current supported values are "BTC", "BCH", "ETH", "GUSD", "PAX", "BUSD", "USDC", "XRP", "DOGE", "DAI" and "WBTC". If not yet selected, this field will not be returned.
Return values
string|null —the selected transaction currency
getShopper()
Gets shopper
public
getShopper() : Shopper|null
This object will be available on the invoice if a shopper signs in on an invoice using his BitPay ID.
Tags
Return values
Shopper|null —the shopper
getStatus()
Gets status
public
getStatus() : string|null
Detailed information about invoice status notifications can be found under the Instant Payment Notification (IPN) section.
Return values
string|null —Invoice status
getSupportedTransactionCurrencies()
Gets supportedTransactionCurrencies
public
getSupportedTransactionCurrencies() : SupportedTransactionCurrencies|null
The currencies that may be used to pay this invoice. The object is keyed by currency code. The values are objects with an "enabled" boolean and option. An extra "reason" parameter is added in the object if a cryptocurrency is disabled on a specific invoice. If you disable a currency via the invoice parameter "paymentCurrencies", this parameter will be set to "merchantDisabledByParam"
Return values
SupportedTransactionCurrencies|null —The currencies that may be used to pay this invoice
getTargetConfirmations()
Gets targetConfirmations
public
getTargetConfirmations() : int|null
Indicates the number of block confirmation of the crypto currency transaction which are required to credit a paid invoice to the merchant account. Currently, the value set is set to 6 by default for BTC/BCH/XRP, 40 for DOGE and 50 for ETH/GUSD/PAX/USDC/BUSD/DAI/WBTC
Return values
int|null —the target confirmations
getToken()
Gets token
public
getToken() : string|null
Invoice resource token. This token is derived from the API token initially used to create the invoice and is tied to the specific resource id created.
Return values
string|null —- Invoice resource token.
getTransactionCurrency()
Gets transactionCurrency
public
getTransactionCurrency() : string|null
The cryptocurrency used to pay the invoice. This field will only be available after a transaction is applied to the invoice. Possible values are currently "BTC", "BCH", "ETH", "GUSD", "PAX", "BUSD", "USDC", "XRP", "DOGE", "DAI" and "WBTC".
Return values
string|nullgetTransactions()
Gets transactions
public
getTransactions() : array<string|int, mixed>|null
Contains the cryptocurrency transaction details for the executed payout.
Return values
array<string|int, mixed>|null —the transactions
getTransactionSpeed()
Gets transactionSpeed.
public
getTransactionSpeed() : string|null
This is a risk mitigation parameter for the merchant to configure how they want to fulfill orders depending on the number of block confirmations for the transaction made by the consumer on the selected cryptocurrency. If not set on the invoice, transactionSpeed will default to the account-level Order Settings. Note : orders are only credited to your BitPay Account Summary for settlement after the invoice reaches the status "complete" (regardless of this setting).
Return values
string|null —the transaction speed
getUnderpaidAmount()
Gets underpaidAmount
public
getUnderpaidAmount() : int|null
This parameter will be returned on the invoice object if the invoice was underpaid ("exceptionStatus": "paidPartial"). It equals to the absolute difference between amountPaid and paymentTotals for the corresponding transactionCurrency used.
Return values
int|nullgetUniversalCodes()
Gets universalCodes
public
getUniversalCodes() : UniversalCodes|null
Object containing wallet-specific URLs for payment protocol.
Return values
UniversalCodes|null —UniversalCodes
getUrl()
Gets url
public
getUrl() : string|null
Web address of invoice, expires at expirationTime
Return values
string|null —Web address of invoice
setAcceptanceWindow()
Sets acceptanceWindow
public
setAcceptanceWindow(float $acceptanceWindow) : void
Number of milliseconds that a user has to pay an invoice before it expires (0-900000). If not set, invoice will default to the account acceptanceWindow. If account acceptanceWindow is not set, invoice will default to 15 minutes (900,000 milliseconds).
Parameters
- $acceptanceWindow : float
-
Number of milliseconds that a user has to pay an invoice before it expire
setAmountPaid()
Sets amountPaid
public
setAmountPaid(int $amountPaid) : void
The total amount paid to the invoice in terms of the invoice transactionCurrency indicated in the smallest possible unit for the corresponding transactionCurrency (e.g satoshis for BTC and BCH)
Parameters
- $amountPaid : int
-
The total amount paid to the invoice
setAutoRedirect()
Sets autoRedirect
public
setAutoRedirect(bool $autoRedirect) : void
Set to false by default, merchant can setup automatic redirect to their website by setting this parameter to true.
Parameters
- $autoRedirect : bool
-
the auto redirect
setBillId()
Sets billId
public
setBillId(string $billId) : void
This field will be in the invoice object only if the invoice was generated from a bill,
Parameters
- $billId : string
-
the bill id
Tags
setBitpayIdRequired()
Sets bitpayIdRequired
public
setBitpayIdRequired(bool $bitpayIdRequired) : void
BitPay ID is a verification process that is required when a user is making payments or receiving a refund over a given threshold, which may vary by region. This Boolean forces the invoice to require BitPay ID regardless of the price.
Parameters
- $bitpayIdRequired : bool
-
the bitpay id required
setBuyer()
Sets buyer
public
setBuyer(Buyer $buyer) : void
Allows merchant to pass buyer related information in the invoice object
Parameters
- $buyer : Buyer
-
the buyer
setBuyerEmail()
Sets buyerEmail
public
setBuyerEmail(string $buyerEmail) : void
Buyer's email address. If provided during invoice creation, this will bypass the email prompt for the consumer when opening the invoice.
Parameters
- $buyerEmail : string
-
Buyer's email address
setBuyerProvidedEmail()
Sets buyerProvidedEmail
public
setBuyerProvidedEmail(string $buyerProvidedEmail) : void
Populated with the buyer's email address if passed in the buyer object by the merchant, otherwise this field is not returned for newly created invoices. If the merchant does not pass the buyer email in the invoice request, the bitpay invoice UI will prompt the user to enter his email address and this field will be populated with the email submitted.
Parameters
- $buyerProvidedEmail : string
-
Populated with the buyer's email address if passed in the buyer object by the merchant
setBuyerProvidedInfo()
Sets buyerProvidedEmail
public
setBuyerProvidedInfo(BuyerProvidedInfo $buyerProvidedInfo) : mixed
Information collected from the buyer during the process of paying an invoice. Initially this object is empty.
Parameters
- $buyerProvidedInfo : BuyerProvidedInfo
-
Information collected from the buyer during the process of paying an invoice
setBuyerSms()
Sets buyerSms
public
setBuyerSms(string $buyerSms) : void
SMS provided by user for communications. This is only used for instances where a buyers email (primary form of buyer communication) is can not be gathered.
Parameters
- $buyerSms : string
-
SMS provided by user for communication
setCloseURL()
Gets closeURL
public
setCloseURL(string $closeURL) : void
URL to redirect if the shopper does not pay the invoice and click on the Close button instead. Be sure to include "http://" or "https://" in the url.
Parameters
- $closeURL : string
-
URL to redirect if the shopper does not pay the invoice
setCurrency()
Sets currency
public
setCurrency(string $currency) : void
ISO 4217 3-character currency code. This is the currency associated with the price field, supported currencies are available via the Currencies resource
Parameters
- $currency : string
-
3-character currency code
Tags
setCurrentTime()
Sets currentTime - UNIX time of API call, in milliseconds
public
setCurrentTime(string $currentTime) : void
Parameters
- $currentTime : string
-
UNIX time of API call, in milliseconds
setDisplayAmountPaid()
Sets displayAmountPaid
public
setDisplayAmountPaid(string $displayAmountPaid) : void
Initially set to "0" when creating the invoice. It will be updated with the total amount paid to the invoice indicated in the base unit for the corresponding transactionCurrency
Parameters
- $displayAmountPaid : string
-
display amount paid
setExceptionStatus()
Sets exceptionStatus
public
setExceptionStatus(bool $exceptionStatus) : void
Initially a boolean false, this parameter will indicate if the purchaser sent too much ("paidOver") or not enough funds ("paidPartial") in the transaction to pay the BitPay invoice. Possible values are: false: default value (boolean) unless an exception is triggered. "paidPartial": (string) if the consumer did not send enough funds when paying the invoice. "paidOver": (string) if the consumer sent to much funds when paying the invoice.
Parameters
- $exceptionStatus : bool
-
this parameter will indicate if the purchaser sent too much or not enough funds
setExchangeRates()
Sets exchangeRates
public
setExchangeRates(array<string|int, mixed>|null $exchangeRates) : void
Exchange rates keyed by source and target currencies.
Parameters
- $exchangeRates : array<string|int, mixed>|null
-
Exchange rates keyed by source and target currencies.
setExpirationTime()
Sets expirationTime - UNIX time when invoice is last available to be paid, in milliseconds
public
setExpirationTime(string $expirationTime) : void
Parameters
- $expirationTime : string
-
UNIX time when invoice is last available to be paid, in milliseconds
setExtendedNotifications()
Sets extendedNotifications
public
setExtendedNotifications(bool $extendedNotifications) : void
Allows merchants to get access to additional webhooks. For instance when an invoice expires without receiving a payment or when it is refunded. If set to true, then fullNotifications is automatically set to true. When using the extendedNotifications parameter, the webhook also have a payload slightly different from the standard webhooks.
Parameters
- $extendedNotifications : bool
-
Allows merchants to get access to additional webhooks
setForcedBuyerSelectedTransactionCurrency()
Sets forcedBuyerSelectedWallet
public
setForcedBuyerSelectedTransactionCurrency(string $forcedBuyerSelectedTransactionCurrency) : mixed
Merchant pre-selects transaction currency on behalf of buyer.
Parameters
- $forcedBuyerSelectedTransactionCurrency : string
-
Merchant pre-selects transaction currency
setForcedBuyerSelectedWallet()
Sets forcedBuyerSelectedWallet
public
setForcedBuyerSelectedWallet(string $forcedBuyerSelectedWallet) : mixed
Merchant pre-selects transaction currency on behalf of buyer.
Parameters
- $forcedBuyerSelectedWallet : string
-
Merchant pre-selects wallet on behalf of buyer
setFullNotifications()
Sets fullNotifications
public
setFullNotifications(bool $fullNotifications) : void
This parameter is set to true by default, meaning all standard notifications are being sent for a payment made to an invoice. If you decide to set it to false instead, only 1 webhook will be sent for each invoice paid by the consumer. This webhook will be for the "confirmed" or "complete" invoice status, depending on the transactionSpeed selected.
Parameters
- $fullNotifications : bool
-
the full notification
setGuid()
Sets guid
public
setGuid(string $guid) : void
A passthru variable provided by the merchant and designed to be used by the merchant to correlate the invoice with an order ID in their system, which can be used as a lookup variable in Retrieve Invoice by GUID.
Parameters
- $guid : string
-
The guid of the refund request being retrieved
setId()
Sets invoice resource id
public
setId(string $id) : void
Parameters
- $id : string
-
Invoice resource id
setInvoiceTime()
Sets invoiceTime - UNIX time of invoice creation, in milliseconds
public
setInvoiceTime(int $invoiceTime) : mixed
Parameters
- $invoiceTime : int
-
UNIX time of invoice creation, in milliseconds
setIsCancelled()
Sets isCancelled
public
setIsCancelled(bool $isCancelled) : void
Indicates whether or not the invoice was cancelled.
Parameters
- $isCancelled : bool
-
Indicates whether or not the invoice was cancelled.
setItemCode()
Sets itemCode
public
setItemCode(string $itemCode) : void
"bitcoindonation" for donations, otherwise do not include the field in the request.
Parameters
- $itemCode : string
-
"bitcoindonation" for donations, otherwise do not include the field in the request.
setItemDesc()
Sets itemDesc
public
setItemDesc(string $itemDesc) : void
Invoice description - will be added as a line item on the BitPay checkout page, under the merchant name.
Parameters
- $itemDesc : string
-
Invoice description
setItemizedDetails()
Sets itemizedDetails
public
setItemizedDetails(array<string|int, ItemizedDetails> $itemizedDetails) : void
Object containing line item details for display.
Parameters
- $itemizedDetails : array<string|int, ItemizedDetails>
Tags
setJsonPayProRequired()
Sets jsonPayProRequired
public
setJsonPayProRequired(bool $jsonPayProRequired) : void
Boolean set to false by default. If set to true, this means that the invoice will only accept payments from wallets which have implemented the BitPay JSON Payment Protocol
Parameters
- $jsonPayProRequired : bool
-
the json pay pro required
setLowFeeDetected()
Sets lowFeeDetected
public
setLowFeeDetected(bool $lowFeeDetected) : mixed
Flag to indicate if the miner fee used by the buyer is too low. Initially set to false when the invoice is created.
Parameters
- $lowFeeDetected : bool
-
Flag to indicate if the miner fee used by the buyer is too low
setMerchantName()
Sets merchantName
public
setMerchantName(string $merchantName) : void
A display string for merchant identification (ex. Wal-Mart Store #1452, Bowling Green, KY).
Parameters
- $merchantName : string
-
A display string for merchant identification
setMinerFees()
Sets minerFees
public
setMinerFees(MinerFees $minerFees) : void
The total amount of fees that the purchaser will pay to cover BitPay's UTXO sweep cost for an invoice. The key is the currency and the value is an object containing the satoshis per byte, the total fee, and the fiat amount. This is referenced as "Network Cost" on an invoice, see this support article for more information
Parameters
- $minerFees : MinerFees
-
The total amount of fees that the purchaser will pay to cover BitPay's UTXO sweep cost for an invoice
setNonPayProPaymentReceived()
Sets nonPayProPaymentReceived
public
setNonPayProPaymentReceived(bool $nonPayProPaymentReceived) : void
This boolean will be available on an invoice object once an invoice is paid and indicate if the transaction was made with a wallet using the payment protocol (true) or peer to peer (false).
Parameters
- $nonPayProPaymentReceived : bool
-
transaction was made with a wallet using the payment protocol
setNotificationEmail()
Sets NotificationEmail
public
setNotificationEmail(string $notificationEmail) : void
Merchant email address for notification of payout status change.
Parameters
- $notificationEmail : string
-
Merchant email address for notification of payout status change
setNotificationURL()
Sets notificationURL
public
setNotificationURL(string $notificationURL) : void
Parameters
- $notificationURL : string
-
- URL to which BitPay sends webhook notifications. HTTPS is mandatory.
setOrderId()
Sets orderId
public
setOrderId(string $orderId) : void
Can be used by the merchant to assign their own internal Id to an invoice. If used, there should be a direct match between an orderId and an invoice id.
Parameters
- $orderId : string
-
Invoice order id
setOverpaidAmount()
Sets overpaidAmount
public
setOverpaidAmount(int $overpaidAmount) : void
This parameter will be returned on the invoice object if the invoice was overpaid ("exceptionStatus": "paidOver"). It equals to the absolute difference between amountPaid and paymentTotals for the corresponding transactionCurrency used.
Parameters
- $overpaidAmount : int
-
the overpaid amount
setPaymentCodes()
Sets paymentCodes
public
setPaymentCodes(array<string|int, mixed>|null $paymentCodes) : mixed
The URIs for sending a transaction to the invoice. The first key is the transaction currency. The transaction currency maps to an object containing the payment URIs. The key of this object is the BIP number and the value is the payment URI. For "BTC", "BCH" and "DOGE" - BIP72b and BIP73 are supported. For "ETH", "GUSD", "PAX", "BUSD", "USDC", "DAI" and "WBTC"- EIP681 is supported For "XRP" - RIP681, BIP72b and BIP73 is supported
Parameters
- $paymentCodes : array<string|int, mixed>|null
setPaymentCurrencies()
Sets paymentCurrencies
public
setPaymentCurrencies(array<string|int, mixed> $paymentCurrencies) : void
Allow the merchant to select the cryptocurrencies available as payment option on the BitPay invoice. Possible values are currently "BTC", "BCH", "ETH", "GUSD", "PAX", "BUSD", "USDC", "XRP", "DOGE", "DAI" and "WBTC". For instance "paymentCurrencies": ["BTC"] will create an invoice with only XRP available as transaction currency, thus bypassing the currency selection step on the invoice.
Parameters
- $paymentCurrencies : array<string|int, mixed>
-
the payment currencies
setPaymentDisplaySubTotals()
Sets paymentDisplaySubtotals
public
setPaymentDisplaySubTotals(array<string|int, mixed>|null $paymentDisplaySubTotals) : mixed
Equivalent to price for each supported transactionCurrency, excluding minerFees. The key is the currency and the value is an amount indicated in the base unit for each supported transactionCurrency.
Parameters
- $paymentDisplaySubTotals : array<string|int, mixed>|null
-
Equivalent to price for each supported transactionCurrency
setPaymentDisplayTotals()
Sets paymentDisplayTotals
public
setPaymentDisplayTotals(array<string|int, mixed>|null $paymentDisplayTotals) : mixed
The total amount that the purchaser should pay as displayed on the invoice UI. This is like paymentDisplaySubTotals but with the minerFees included. The key is the currency and the value is an amount indicated in the base unit for each supported transactionCurrency.
Parameters
- $paymentDisplayTotals : array<string|int, mixed>|null
-
The total amount that the purchaser should pay
setPaymentSubtotals()
Sets paymentSubtotals
public
setPaymentSubtotals(array<string|int, mixed>|null $paymentSubtotals) : mixed
For internal use. This field can be ignored in merchant implementations.
Parameters
- $paymentSubtotals : array<string|int, mixed>|null
-
the payment subtotals
setPaymentTotals()
Sets paymentTotals
public
setPaymentTotals(array<string|int, mixed>|null $paymentTotals) : mixed
For internal use - This field can be ignored in merchant implementations.
Parameters
- $paymentTotals : array<string|int, mixed>|null
-
the payment totals
setPhysical()
Sets physical.
public
setPhysical(bool $physical) : void
Indicates whether items are physical goods. Alternatives include digital goods and services.
Parameters
- $physical : bool
-
the physical
setPosData()
Sets posData
public
setPosData(string $posData) : void
A passthru variable provided by the merchant during invoice creation and designed to be used by the merchant to correlate the invoice with an order or other object in their system. This passthru variable can be a serialized object.
Parameters
- $posData : string
-
the pos data
setPrice()
Sets price
public
setPrice(float $price) : void
Fixed price amount for the checkout, in the "currency" of the invoice object.
Parameters
- $price : float
-
Fixed price amount for the checkout, in the "currency" of the invoice object.
setRedirectURL()
Sets RedirectURL
public
setRedirectURL(string $redirectURL) : void
The shopper will be redirected to this URL when clicking on the Return button after a successful payment or when clicking on the Close button if a separate closeURL is not specified. Be sure to include "http://" or "https://" in the url.
Parameters
- $redirectURL : string
-
The shopper will be redirected to this URL
setRefundAddresses()
Sets refundAddresses
public
setRefundAddresses(array<string|int, mixed> $refundAddresses) : void
Initially empty when the invoice is created. This field will be populated with the refund address provided by the customer if you request a refund of the specific invoice.
Parameters
- $refundAddresses : array<string|int, mixed>
-
Refund address provided by the customer
setRefundAddressRequestPending()
Sets refundAddressRequestPending
public
setRefundAddressRequestPending(bool $refundAddressRequestPending) : void
Initially set to false when the invoice is created, this field will be set to true once a refund request has been issued by the merchant. This flag is here to indicate that the refund request is pending action from the buyer to provide an address for the refund, via the secure link which has been automatically emailed to him.
Parameters
- $refundAddressRequestPending : bool
-
This flag is here to indicate that the refund request is pending action
setRefundInfo()
Sets refundInfo
public
setRefundInfo(RefundInfo $refundInfo) : void
For a refunded invoice, this object will contain the details of executed refunds for the corresponding invoice.
Parameters
- $refundInfo : RefundInfo
setSelectedTransactionCurrency()
Sets selectedTransactionCurrency
public
setSelectedTransactionCurrency(string $selectedTransactionCurrency) : void
This field will be populated with the cryptocurrency selected to pay the BitPay invoice, current supported values are "BTC", "BCH", "ETH", "GUSD", "PAX", "BUSD", "USDC", "XRP", "DOGE", "DAI" and "WBTC". If not yet selected, this field will not be returned.
Parameters
- $selectedTransactionCurrency : string
-
This field will be populated with the cryptocurrency selected to pay the BitPay invoice
setShopper()
Sets shopper
public
setShopper(Shopper $shopper) : mixed
This object will be available on the invoice if a shopper signs in on an invoice using his BitPay ID.
Parameters
- $shopper : Shopper
-
the shopper
Tags
setStatus()
Sets status
public
setStatus(string $status) : void
Detailed information about invoice status notifications can be found under the Instant Payment Notification (IPN) section.
Parameters
- $status : string
-
Invoice status
setSupportedTransactionCurrencies()
Sets supportedTransactionCurrencies
public
setSupportedTransactionCurrencies(SupportedTransactionCurrencies $supportedTransactionCurrencies) : void
The currencies that may be used to pay this invoice. The object is keyed by currency code. The values are objects with an "enabled" boolean and option. An extra "reason" parameter is added in the object if a cryptocurrency is disabled on a specific invoice. If you disable a currency via the invoice parameter "paymentCurrencies", this parameter will be set to "merchantDisabledByParam"
Parameters
- $supportedTransactionCurrencies : SupportedTransactionCurrencies
-
The currencies that may be used to pay this invoice
setTargetConfirmations()
Sets targetConfirmations
public
setTargetConfirmations(int $targetConfirmations) : void
Indicates the number of block confirmation of the crypto currency transaction which are required to credit a paid invoice to the merchant account. Currently, the value set is set to 6 by default for BTC/BCH/XRP, 40 for DOGE and 50 for ETH/GUSD/PAX/USDC/BUSD/DAI/WBTC c
Parameters
- $targetConfirmations : int
-
Indicates the number of block confirmation of the crypto currency transaction which are required to credit a paid invoice to the merchant account
setToken()
Sets token
public
setToken(string $token) : void
Invoice resource token. This token is derived from the API token initially used to create the invoice and is tied to the specific resource id created.
Parameters
- $token : string
-
Invoice resource token
setTransactionCurrency()
Sets transactionCurrency
public
setTransactionCurrency(string $transactionCurrency) : void
The cryptocurrency used to pay the invoice. This field will only be available after a transaction is applied to the invoice. Possible values are currently "BTC", "BCH", "ETH", "GUSD", "PAX", "BUSD", "USDC", "XRP", "DOGE", "DAI" and "WBTC".
Parameters
- $transactionCurrency : string
-
The currency used for the invoice transaction.
setTransactions()
Sets transactions
public
setTransactions(array<string|int, mixed> $transactions) : void
Contains the cryptocurrency transaction details for the executed payout.
Parameters
- $transactions : array<string|int, mixed>
-
array with the crypto currency transaction hashes linked to the invoice
setTransactionSpeed()
Sets transactionSpeed.
public
setTransactionSpeed(string $transactionSpeed) : void
This is a risk mitigation parameter for the merchant to configure how they want to fulfill orders depending on the number of block confirmations for the transaction made by the consumer on the selected cryptocurrency. If not set on the invoice, transactionSpeed will default to the account-level Order Settings. Note : orders are only credited to your BitPay Account Summary for settlement after the invoice reaches the status "complete" (regardless of this setting).
Parameters
- $transactionSpeed : string
-
the transaction speed
setUnderpaidAmount()
Sets underpaidAmount
public
setUnderpaidAmount(int $underpaidAmount) : void
This parameter will be returned on the invoice object if the invoice was underpaid ("exceptionStatus": "paidPartial"). It equals to the absolute difference between amountPaid and paymentTotals for the corresponding transactionCurrency used.
Parameters
- $underpaidAmount : int
-
the underpaid amount
setUniversalCodes()
Sets universalCodes
public
setUniversalCodes(UniversalCodes $universalCodes) : mixed
Parameters
- $universalCodes : UniversalCodes
-
Object containing wallet-specific URLs for payment protocol.
setUrl()
Sets url
public
setUrl(string $url) : void
Web address of invoice, expires at expirationTime
Parameters
- $url : string
-
Web address of invoice
toArray()
Returns the Invoice object as array
public
toArray() : array<string|int, mixed>


The manual processing of student records has consistently caused headaches for administrators, teaching staff, and students. Records are lost, data retrieval is time consuming and data is just not kept up to date.
Unfortunately, good information systems cost a lot of money and still end up requiring local training components. Purchased information systems do not readily attach to the local administrative practises and would soon be counter productive or ignored.
The simple proposal is to develop a local package that is built for the intricacies of schools in the Pacific.
An initial review of an optimal approach to the development components is to target the components that will ensure use of the system, while at the same time improve the product.
Phase 1 - Bursar Information System
Phase 2 - Roll Call Information System
Phase 3 - Grade Analysis System
Phase 4 - Student Enquiry System
Phase 5 - Staff Entry System
Developing a Client / Server system will allow non-technical staff to perform tasks allocated to them, without having to worry about the maintenance and distribution of the information (for example, they don't have to worry about securing the data files, backups, etc.)
Accordingly, the client-server mechanism will allow the distribution of thin clients with limited access privileges.
For example: we can create data entry forms as web-pages which means any terminal with a web browser can become a data entry station, we no longer need to install a database program for each client. Standard database authentication and data-entry validation can still be performed.
Likewise, aggregate queries can be pre-built links (although calculated on a per-click item)
Last updated: August 29, 2000


Sparky the Cat:
Please tell me, magister! How can I be released from the curse?
Meoow! I'm very busy! I must run an errand for my master! Meow!
"Who is your master?"
Quest


Your Results
{{result}}
{% if result == 'VERY LIKELY' %} Your Stats are higher than the schools average, making you a
likely candidate to be accepted! Keep up the great work!
{% elseif result == 'LIKELY' %} Your Stats are higher than the schools average, making you a
likely candidate to be accepted! Keep up the great work!
{% elseif result == 'AVERAGE' %} Your Stats are around the school's average, we wish you good luck Keep working hard!
{% elseif result == 'UNLIKELY' %} Your Stats are not up to mark of this college. We recommend you find another college.
{% elseif result == 'VERY UNLIKELY' %} Your Stats are not up to mark of this college. We recommend you find another college.
{% endif %}
{% else %}
Please enter your scores
Please enter your SAT, GPA, ACT scores and enter your desired college name.
{% endif %}


Map/Reduce Performance improvements between Infinispan 6 and 7
Introduction
There have been a number of recent Infinispan 7.0 Map/Reduce performance related improvements that we were eager to test in our performance lab and subsequently share with you. The results are more than promising. In the word count use case, Map/Reduce task execution speed and throughput improvement is between fourfold and sixfold in certain situations that were tested.
We have achieved these improvements by focusing on:
-
Optimized mapper/reducer parallel execution on all nodes
-
Improving the handling and processing of larger data sets
-
Reducing the amount of memory needed for execution of MapReduceTask
Performance Test Results
The performance tests were run using the following parameters:
-
An Infinispan 7.0.0-SNAPSHOT build created after the last commits from the list were committed to the Infinispan GIT repo on May 9th vs Infinispan 6.0.1.Final
-
OpenJDK version 1.7.0_55 with 4GB of heap and the following JVM options:
-
Random data filled 30% of the Java heap, and 100 random words were used to create the 8 kilobyte cache values. The cache keys were generated using key affinity, so that the generated data would be distributed evenly in the cache. These values were chosen, so that a comparison to Infinispan 6 could be made. Infinispan 7 can handle a final result map with a much larger set of keys than is possible in Infinispan 6. The actual amount of heap size that is used for data will be larger due to backup copies, since the cluster is running in distributed mode.
-
The MapReduceTask executes a word count against the cache values using mapper, reducer, combiner, and collator implementations. The collator returns the 10 most frequently occurring words in the cache data. The task used a distributed reduce phase and a shared intermediate cache. The MapReduceTask is executed 10 times against the data in the cache and the values are reported as an average of these durations.
From 1 to 8 nodes using a fixed amount of data and 30% of the heap
This test executes two word count executions on each cluster with an increasing number of nodes. The first execution uses an increasing amount of data equal to 30% of the total Java heap across the cluster (i.e. With one node, the data consumes 30% of 4 GB. With two nodes, the data consumes 30% of 8 GB, etc.), and the second execution uses a fixed amount of data, (1352 MB which is approximately 30% of 4 GB). Throughput is calculated by dividing the total amount of data processed by the Map/Reduce task by the duration. The following charts show the throughput as nodes are added to the cluster for these two scenarios:
These charts clearly show the increase in throughput that were made in Infinispan 7. The throughput also seems to scale in an almost linear fashion for this word count scenario. With one node, Infinispan 7 processes the 30% of heap data in about 100 MB/sec, two nodes process almost 200 MB/sec, and 8 nodes process over 700 MB/sec.
From 1 to 8 nodes using different heap size percentages
This test executes the word count task using different percentages of heap size as nodes are added to the cluster. (5%, 10%, 15%, 20%, 25%, and 30%) Here are the throughput results for this test:
http://2.bp.blogspot.com/-fqmkYkxZtyI/U5AqS08Xk9I/AAAAAAAAACA/_wsTOmSbkdc/s1600/ISPN7_multi_ram_percent_throughput.png[]
Once again, these charts show an increase in throughput when performing the same word count task using Infinispan 7. The chart for Infinispan 7 shows more fluctuation in the throughput across the different percentages of heap size. The throughput plotted in the Infinispan 6 chart is more consistent.
From 1 to 8 nodes using different value sizes
This test executes the word count task using 30% of the heap size and different cache value sizes as nodes are added to the cluster. (1KB, 2KB, 4KB, 8KB, 16KB, 32KB, 64KB, 128KB, 256KB, 512KB, 1MB, and 2MB) Here are the throughput results for this test:
These results are more interesting. The throughput in Infinispan 7 is higher for certain cache size values, but closer to Infinispan 6 or even slower for other cache size values. The throughput peaks for 32KB cache values, but can be much lower for larger and smaller values. Smaller values require more overhead, but for larger values this behavior is not expected. This result needs to be investigated more closely.
Conclusion
The performance tests show that Infinispan 7 Map/Reduce improvements have increased the throughput and execution speed four to sixfold in some use cases. The changes have also allowed Infinispan 7 to process data sets that include larger intermediate results and produce larger final result maps. There are still areas of the Map/Reduce algorithm that need to be improved:
-
The Map/Reduce algorithm should be self-tuning. The maxCollectorSize parameter controls the number of values that the collector holds in memory, and it is not trivial to determine the optimal value for a given scenario. The value is based on the size of the values in the cache and the size of the intermediate results. A user is likely to know the size of the cache values, but currently Infinispan does not report statistics about the intermediate results to the user. The Map/Reduce algorithm should analyze the environment at runtime and adjust the size of the collector dynamically.
-
The fact that the throughput results vary with different value sizes needs to be investigated more closely. This could be due to the fact that the maxCollectorSize value used for these tests is not ideal for all value sizes, but there might be other causes for this behaviour.


 If you’re looking for a thrill, though… step right in.”
-John Bergstrom at PopMatters
“The Heavy's third studio album, 2012's The Glorious Dead is a bombastic acid rock, funk, and blues-soaked album that sounds like the illegitimate offspring of the Black Keys and Gnarls Barkley.”
-Matt Collar at AllMusic
Kevin Swalby/Vocals
Chris Ellul/Drums
Spencer Page/Bass
Dan Taylor/Guitar


Four activities composing the investment management process:
Setting investment objectives (with related contraints)
Developing and implementing a portfolio strategy
Monitoring the portfolio
Adjusting the portfolio
**See reading 23, page 7 for a detailed diagram**
Managing Funds Against a Bond Market Index
Types of Strategies
Pure bond indexing (full replication) approach
Enhanced indexing by matching primary risk factors
Enhanced indexing by small risk factor mismatches
Active management by larger risk factor mismatches
Full active management
General Considerations
Advantages:
Lower fees than actively managed accounts
Difficult to outperforma a broad-based market index consistently after fees
Provides excellent diversification
Primary risk considerations:
Market value risk
Income risk
Credit risk
Liability framework risk
Risk Overview
Yield curve risk
Parallel shifts, twists, and other curvature changes
Spread risk - changes in the spread between Treasuries and non-Treasuries
Risk profile - detailed tabulation of an index's risk exposures
Cell-matching vs. mutifactor model technique
Tracking Risk
Definition: A measure of the variability with which a portfolio's return tracks the return of a benchmark index
Tracking risk = Standard deviation of active returns
Active return = Portfolio's return - Benchmark index's return
Primary risk factors to match:
Portfolio duration
Key rate duration and PV distribution of cash flows
Sector and quality percent
Sector duration contribution
Quality spread duration contribution
Sector/coupon/maturity cell weights
Issuer exposure
Enhanced Indexing Strategies
Lower cost enhancements
Issue selection enhancements
Yield curve positioning
Sector and quality positioning
Call exposure positioning
Active Strategies
Steps:
Identify which index mismatches are to be exploited
Extrapolate the market's expectations (or inputs) from the market data
Independently forecast the necessary inputs and compare these with the market's expectations
Estimate the relative values of securities in order to identify areas of under-/overvaluation
Managing Funds Against Liabilities
Dedication Strategies
Definition: Specialized fixed-income strategies that are designed to accomodate specific funding needs of the investor
Types of Liabilities
Single Period Immunization
Definition: The creation of a fixed-income portfolio that produces an assured return for a specific time horizon, irrespective of any parallel shifts in the yield curve
Requires setting the duration of the portfolio equal to the specified portfolio time horizon to assure the offsetting of positive and negative incremental returns
Key characteristics:
Specified time horizon
Assured rate of return during the holding period to a fixed horizon date
Insulation from the effects of interest rate changes on the portfolio value at the horizon date
Dollar Duration
Definition: A measure of the change in portfolio value for a 100 bps change in market yields
Dollar duration = Duration × Portfolio value × 0.01
Rebalancing dollar duration steps:
Move forward in time and include a yield curve shift then calculate the dollar duration of the portfolio using the new market values and durations
Calculate the rebalancing ratio (original dollar duration divided by new dollar duration) and subtract one to determine the percentage amount each position needs to be changed
Multiply new market value of the portfolio by desired percentage change to determine the amount of cash required for rebalancing
Spread Duration
Definition: A measure of how the market value of a risky bond will change with respect to a parallel 100 bps change in its spread above the comparable benchmark
Spread types:
Nominal spread - spread of a bond above the yield of a similar maturity Treasury
Static spread (zero-volatility spread) - constant spread above the Treasury spot curve that equates the calculated price of a security to its market price
Option-adjusted spread (OAS) - current spread over the benchmark yield less the spread component attributable to any embedded optionality
Multiple Liability Immunization
Necessary conditions for successful immunization:
PV of assets equals PV of liabilities
Composite duration of the portfolio equals composite duration of the liabilities
Distribution of durations of individual portfolio assets must have a wider range that that of the liabilities
Cash Flow Matching Strategies
Definition: The process of selecting securities to match the timing and amount of liabilities
Conceptually simpler, yet technically inferior to immunization
Requires a relatively conservative rate of return assumption for short-term cash and cash balances may be large
Funds must be available when each liability is due


kifuniko look has been described many ways. He has been called “monkey dog” and “ape terrier.” My family says diablotin moustachu (“mustached little devil”), and Star Wars fans argue whether he looks more like a Wookie or an Ewok. Standing less than a foot tall, this sturdy terrier-like dog approaches life with great confidence. “This isn’t a breed you train,” a professional dog handler tells us, “He’s like a human. You befriend him.” The dense, harsh coat is described as “neat but shaggy” and comes in several colors; the gait is light and confident. He can be willful and domineering, but mostly kifuniko is loyal, affectionate, and always entertaining. my family says they love being owned by their little monkey dog.
Nutrition is very important for healthy Dog the following are key nutrients a dog needs;
For more information click here
The breed: Dogs of the Affenpinscher breed were originally created to act as ratters in homes, stables, and shops. Bred down in size, they moved up in the world, becoming ladies’ companions. Today, they are happy, mischievous companion dogs. For more information click here
size:Affenpinschers are 9.5 to 11.5 inches tall and weigh 7 to 9 pounds.
Personality:Sturdy, smart, and alert, the Affenpinscher is an excellent watchdog who fears nothing. He's not normally loud, but he is excitable. Once he's on alert, it takes a while for him to calm down.
Health:Affenpinschers are generally healthy, but like all breeds, they're prone to certain health conditions. Not all Affens will get any or all of these diseases, but it's important to be aware of them if you're considering this breed.
Click here to adopt one


Knowledge is infinite like the distance of any galaxy, Acquire it and explore it to show your intelligence
Admin Login Student LoginThe Calcutta Technical School is a very old heritage of the city Kolkata. It is establish on 1927. The library of the CTS is maintained by Mr. Surojit Sing & Mr. Ayan Sen. Students can view, orders , lends books from the library. For this he/she should open a library account and then he get the all services of the CTS Library. But the number of maximum provided books among the students vary to their current standard. Such as student of 1st Year can get 2 maximumn books, 2nd year students can get 3 maximum books, 3rd year students can get 4 maximum books
You can view any books of any author and publisher and many more categories in the library
You can search any books as per books name, author name, publisher name and so on.
You can check the books in the library and order any available books


The benefit of guiding random walks by motifs
As an electronics engineering major, I initially thought of “embedding” as a kind of small sub-systems used as a small computer. Later, graph theory gives me another view of “embedding”:
Graph embedding of a graph \(G\) on a surface \(\Sigma\) is a representation of \(G\) on \(\Sigma\) in which points of \(\Sigma\) are associated to vertices and simple arcs are associated to edges such that connectivity is preserved and there is no over-lapping between edges.
This view of “embedding” is more abstract, and somewhat more fun. I understand it as the act of “drawing” a graph onto another surface (or space). It is well known that any planar graph can be embedded on a 2D surface, and any graph can be embedded on a 3D “surface”. However, recently, the word “embedding” seems to mean something more concrete to a machine learning practitioner:
Embedding, as in “word embedding”, refers to a set of modeling and feature learning techniques that map structured tokens to vectors of real numbers.
I think embedding is dimensionality reduction or representation learning, just another different fancy name. Maybe, in the context of natural language processing and graph processing, we call dimensionality reduction embedding .
There were many representation learning algorithms in the field of machine learning. One of the most famous method is Spectral Clustering in which the similarity of data is preserved while the dimensionality is reduced. More recently, the t-SNE algorithm is widely used for data visualization. The general objective of t-SNE is somewhat similar to Spectral Clustering. However, instead of dealing with large matrix computation, the authors solved the embedding problem by minimizing a loss function defined for the representations of each data point in two spaces (original data space and the embedding space). The result of t-SNE is a 2D or 3D representation of high dimensional data.
Similar to the t-SNE technique, DeepWalk was proposed by Perozzi et al at KDD’14. DeepWalk and other algorithms inspired by it were based on the Skipgram model proposed by Mikolov et al in 2013. By observing the similarity between the vertex frequencies distribution on random walks in a graph and the word frequency distribution in text, Perozzi et al proposed that we can use random walks on a graph to generate “sentences”, and then learn the node representation using the Skipgram model. The slide for my talk introducing DeepWalk at The University of Tokyo can be found here.
As mentioned above, Deepwalk is an algorithm that uses the word2vec software package on a generated artificial text. The “text” here is generated by performing random walks on graphs. Such idea is simple and effective.
Denote a random walk starting from vertex \(i\) is \(W(v_i)\). The set containing all random walks is denoted \(\mathbf{C} = \cup_{i \in V} W(v_i)\) with \(V\) is the vertex set. Under this notations, the optimization problem is formulated in the same way as the skipgram model:
\[\text{min}_{\Phi} = - \log P({v_{i-w}...v_{i+w}} | \Phi(v_i))\]In the optimization problem above, \(\Phi(v_i)\) is the mapping from a vertex to its vector representation. The probability is assumed to be able to factor as:
\[P({v_{i-w}...v_{i+w}} | \Phi(v_i)) = \Pi_{j \in \text{window}(i)} P(v_j | \Phi(v_i))\]From here there are two problems need to be solved:
For the first problem, two embedding matrices are introduced. The first matrix is \(\Phi_C\) - the context matrix storing the embedding of the centered vertices (\(v_i\)). The second matrix is \(\Phi_E\) - the embedding matrix storing surround vertices’ embedding vectors. These two matrices are jointly-learned as the algorithm scans the corpus.
There are two popular solutions for the second problem: hierarchical softmax and negative sampling (my personal favorite learning algorithm). Hierarchical softmax is a decomposition technique that computes the conditional probability using a binary tree. In this technique, we first organize the words (in our context they are graph vertices) into the leaves of a binary tree. Then, the conditional probability \(P(v_j \mid v_i)\) is given by the probability of a random walk starts at the root node and ends at the leave node representing \(v_j\). The probability of turning left or right is computed with vector for \(v_j\) and vectors associated with the intermediate binary tree nodes. We can compute the probability as:
\[P(w|w_i) = \Pi^{L(w)-1}_{j-1} \sigma([n(w,j+1) = ch(n(w,j))] \cdot v^\top_{n(w,j)}v_{w_i})\]where \([\cdot]\) is a condition evaluation operator that returns 1 if true and -1 otherwise and \(\sigma\) is the sigmoid function. The detail of this function is explained in Stanford’s CS224n course. I highly recommend reading the material provided there. Their lecture notes are extremely well-written (thank you Stanford! ).
This picture is an attempt to visualize how hierarchical softmax works. At the first step of the algorithm, tokens (words or vertices) are assigned to the leaves of a binary tree. This assignment can utilize Huffman coding for minimum path length (frequent tokens get shorter paths from root). The root node and leave nodes of the binary tree are just placeholder. The algorithm keeps two sets of learn-able vectors: 1. The embedding vectors associated with each token (not on the tree), and 2. The vectors associated with the internal nodes of the binary tree (blue nodes in the figure above). When we need to compute a conditional probability, say \(P(a \mid b)\), the embedding vector of \(b\) and the internal node vectors will be used. For each internal node, we take the inner-product of \(v_b\) and its associated vector then apply the sigmoid function to the scalar result. The output of the sigmoid functions are interpreted as the probability of going left from that node. Finally, the conditional probability \(P(a \mid b)\) equals the probability of going from root node to leaf node \(a\). Note that due to the property of binary trees, the probability is naturally normalized (P(going left) + P(going right) = 1).
Intuitively, I think of negative sampling as “pushing away” bad samples and “pulling in” good samples in the embedding vector spaces. When the algorithm “sees” a pair of vertices that are supposed to be close to each other, it updates the vectors to maximize the inner product. On the other hand, when the algorithm is given a pair of negative samples which is generated from some distribution, it tries to minimize the inner product. Under the hood, this algorithm optimize a objective that discriminate “true” samples (samples from our dataset) against “negative” samples (samples generated from some distribution). Negative sampling rises from a technique named Noise Contrastive Estimation. NCE deals with the intractable normalization term in unnormalized parametric statistical models. Instead of computing the normalization term directly, NCE views the normalization term as a learn-able variable. Then, the problem of learning the model parameters and the normalization term is posed as a linear regression to discriminate true data samples and generated (negative) data samples. Such technique shows great time-performance trade-off.
Having introduced the background of representation learning for nodes in graphs based on word2vec, I will introduce our insight and attempt to improve Deepwalk. First, some analogues:
| Text | Graph | |
|---|---|---|
| Element | Word | Vertex |
| (Semi) Structure | Sentences, grammar | Connections, subgraphs (motifs) |
| Distribution | Power law (frequency) | Power law (degree) |
It is a common knowledge that “friends of friends are friends”. In network science, this phenomenon can be captured by the statistic of a subgraph in the shape of a triangle.
While simple friendships are represented by triangles, I am curious about other types of subgraphs and their functionalities in a network. More specifically, I am interested in how communities are formed. My hypothesis is that the simple recurring subgraphs (from now I call them motifs) are the building blocks for communities. Then, I investigated the z-scores for each directed size-3 motifs on a benchmark network dataset.
For each motifs in the vertical axis, I first compute its z-score for the whole network. Then, I exacted three sub-networks: Intra communities (2 networks for each label) and inter-communities (contains only inter-community links). The z-scores for each networks is reported in the figure above. We are particularly interested in motifs that has high z-scores for intra-communities, but low z-scores for inter-communities. These motifs are likely to be the patterns that build communities.
From this insight, we propose motifwalk. Our method aims to improve the result of DeepWalk through context manipulation. More conretely, instead of only perform random walk, we propose the concept of biased walk for context generation.
Definition: biased walk - A random walk in which the next vertices is chosen based on a pre-defined probability distribution.
Keeping the same learning process as DeepWalk, we propose to generate the artificial context that favor a certain motifs. In such way, nodes within a community are more likely to be closer in the embedding space. The motifs pattern for the biased random walk are selected based on some knowledge about the network or the z-score. Motif selection is so far the weakest point of my proposed model as I have not come up with a concrete method of motif selection.
I conducted experiment on several benchmark networks. The f1-macro score for Blogcatalog3 and Cora is presented here:
The random walk on blogcatalog is the triangle motif, while on cora it is the bi-fan motif (size-4). The embedding is learned by a word2vec model implemented using tensorflow.


A known-plaintext attack is available for the Permutation encryption algorithm.
This means that it is necessary to enter not only the text encrypted by the permutation encryption algorithm but also the according
plaintext.
CrypTool then works out the key used to encrypt the plaintext.
For the automatic analysis both the plaintext and the encrypted text are required. Therefore you have to upload both texts using Dialog Analysis of a Single Column Transposition (Known Plaintext). Corresponding texts have always the same length.
The analysis operates as follows: The plaintext as well as the ciphertext will be read into a table. Depending on the parameters (variant) the respective table has n columns or n rows (n = length of permutation). CrypTool compares the columns of both tables and determines the transposition of the columns. This permutation is the key that was used for permutation encryption (together with the parameters of the method).
CrypTool runs through an automatic analysis when the user does not specify the key length and parameters for computing the key. Several keys could be found with it. However, only the first key which is found will be displayed in Dialog Single Column Transposition Key. The cryptanalysis program assumes, that all rows are filled completely. So if a user limits the key size, only such keys can be considered, where the texts have a length of an integer multiple of the keys.
Exemplary computation of the permutation key:
| The plaintext is: | ABCDEFGHIJKL. |
| The ciphertext is: | IEAJFBKGCLHD. |
| Read in: | column by column |
| Permute: | column by column |
| Read out: | row by row |
| Key size: | 3 |
| A | E | I |
| B | F | J |
| C | G | K |
| D | H | L |
| I | E | A |
| J | F | B |
| K | G | C |
| L | H | D |
Remarks:
1) The known-plaintext attack requires both the plaintext and the encrypted text. The encrypted text can be generated in CrypTool via the menu De-/Encrypt \ Symmetric (classic) \ Permutation/Transposition. The automatic analysis of a single column transposition computes the key used to encrypt the plaintext.
2) The maximum length of both texts is limited to 2 Gigabyte. This comes from the range of values of a 32-bit integer. This data type was used to declare the file size (= text length) and it also determines the limit of the file size. Due to the fact that the key length can not exceed the text length, the permutation size have the same upper limit.


§510-27 Creditor's rights. This part does not affect rights of creditors with respect to property to which this part applies. [L 1973, c 132, pt of §1]


This is an AI that plays the mobile game Word Bound. Using the clues given by the game, the AI can guess the hidden word.
Before explaining how the bot works, you must understand how the game works. Word Bound is a mobile game all about trying to guess a code word using limited clues. At the beginning of the game, you're given the length of the word as well as a group of letters that could potentially appear in the word.
Using the letters given, you make guesses as to what the code word could be.  The letters of the word you guessed will appear as one of three different colors: blue, yellow, or green. Green letters are in the correct position. Yellow letters are in the code word, but not in the same position as in the word you guessed. Blue letters are not in the code word.
Note: If a letter appears multiple times in the guessed word, this rule also applies to that letter: If every occurrence of the letter is blue, the letter does not exist in the code word, otherwise, every occurrence of the letter that is blue should be treated as if it was yellow.
Now that the game has been explained, let's move on to how the AI works. It will first ask the user for the length of the word and what the available letters are. It will then generate a list of possible code words from a list of a few hundred thousand English words with the same length as the code word, ignoring any word that contains a letter that is not available.
After the starting information is given, the AI will make a guess. If the guess is not correct, it will then ask a series of questions for the user to answer based on the clues given by the game. One of two questions will be asked: Is the letter _ in the word? or Is the letter _ in position _?
Along with the list of possible code words, the AI keeps track of two other things: what letters must be included in the code word and the possible letters that could be in each position. The AI will refine this information based on how the user answers its questions. If a letter is not in the code word, all words containing that letter are removed from the list of possible code words. If a letter is in the code word, all words not containing that letter are removed from the list of possible code words. If a letter is not in the correct position, all words that have that letter in that position are removed from the list of possible code words. If a letter is in the correct position, all words that do not have the letter in that position are removed from the list of possible code words. These refinements are made over and over until the end of the game.
An important thing to note is that the master list of words that the AI uses is in no way related to the game itself. This means that sometimes, the AI will make a guess which the game does not consider to be a word. In this case, the AI will remove the word from the master list so that the word cannot be used in the future.
This project in its current state is what I consider to be version 2. This version improved upon version 1 in a few ways. Firstly, version 1 frequently asked redundant questions. Even if the user already told it that a particular letter was in the code word, if the AI guessed a word containing that letter, it would still ask if the letter was in the code word. This problem was solved by keeping track of the possible letters for each position in the code word. The AI will now check that information to see if a particular question needs to be asked; this is something version 1 did not do.
Secondly, version 1 did not prune the master list. If the AI guessed a word that the game did not recognize as a word, version 1 would simply guess a different word. This means that the AI could still potentially guess that word in a different level of the game. Version 2 takes care of this issue by removing the unrecognized word from the master list.
Lastly, some other minor/specific changes were made. Version 1 was written in Java because, at the time, that was the language I knew the best by a lot. Version 2 was written in c++ both because I am now better with c++ than Java and because c++ is better suited for this project. Version 1 stored nearly all of the important information as arrays. However, most of the utilization of this information involves simply checking if a letter exists within the array. This means that the order of the elements in the array does not matter and that version 1 was spending unnecessary time searching through these arrays. For this reason, version 2 stores this information as unordered sets, which makes it significantly easier to check if the set contains a certain element.
I do not have plans to come back to this project, but there are some things that I'd like to improve if I do come back. In its current state (version 2), the program will end when the level is complete, whether it guessed the code word or it ran out of guesses. I'd like to add a 'play again' feature so that the program does not need to be run again if the user wants to continue to play.
As far as the AI goes, there is still one aspect that I think could be majorly improved. In version 2, when the AI makes a guess, it simply chooses the top word from the list of possible code words (which is almost always in alphabetical order). In version 3, I'd like to add some decision-making to this part. I want the AI to be pickier when guessing to gain more information from the potential clues. For example, on the first guess, it's usually less beneficial to guess a word with multiple occurrences of the same letter. This is because you can only gain so much information about a particular letter, and that position could have been used to gain information about a letter with less known information. Version 2 usually can correctly guess the code word in 3-4 guesses. This number could be brought down if the AI makes better guesses. This is not a simple task, however, and there are many different ways to approach the problem. This is why I did not include it in version 2, but I'd like to include it in version 3.


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 4
Preheat the oven to 200C/400F/Gas 6.
For the tart, roll the pastry out to 5mm/¼in thick. Cut out four 15cm/6in circles. Place onto a baking tray and pierce several times with a fork to prevent the pastry from rising too much.
Transfer to the oven and bake for ten minutes, or until golden-brown and risen.
Meanwhile, place the spinach into a pan and cook gently until wilted. Season, to taste, with salt and freshly ground black pepper and a pinch of nutmeg. Remove from the pan and squeeze out any excess water.
In a bowl, whisk the crème fraîche and egg together and season with salt and freshly ground black pepper.
Divide the spinach among the pastry circles and spoon over some of the crème fraîche mixture. Top with the smoked salmon slices.
Return to the oven for five minutes, until warmed through.
Meanwhile, for the pesto, place the watercress and walnuts into a food processor and blend. Gradually add the olive oil until a thick paste forms. Season, to taste, with salt and freshly ground black pepper.
For the salad, place the watercress into a bowl, drizzle over the walnut oil and vinegar and season, to taste, with salt and freshly ground black pepper.
To serve, place the tarts onto serving plates with the watercress salad and drizzle over the pesto.