Address
extends Post_Type
in package
Address class
Represents a blockchain address. An address contains at least a string, and possibly a second string. It is also associated with a currency.
Create a new deposit address for current user
Here we assign a hardcoded string. Normally we'd be getting this string from a wallet adapter.
$bitcoin = \DSWallets\get_first_currency_by_symbol( 'BTC' );
if ( $bitcoin ) {
$my_address = new Address;
$my_address->type = 'deposit';
$my_address->currency = $bitcoin;
$my_address->user = new \WP_User( get_current_user_id() );
$my_address->address = '1ADDRESSSTRINGFOOBAR';
$my_address->label = 'This is my foobar deposit address';
try {
$my_address->save();
} catch ( \Exception $e ) {
error_log( 'Could not save address due to: ' . $e->getMessage() );
}
if ( $my_address->post_id ) {
error_log( "Address was saved with post_id: $my_address->post_id" );
}
}
Iterate over all addresses for a user, in this case the current user:
$user_id = get_current_user_id();
$addresses = DSWallets\get_all_addresses_for_user_id( $user_id );
foreach ( $addresses as $address ) {
error_log( $address );
// do stuff with each address here
}
Create a new deposit address, or retrieve the existing address from the DB, if the address string already exists. We then proceed to set a label to that address.
$my_address = new Address;
$my_address->type = 'deposit';
$my_address->user = new \WP_User( get_current_user_id() );
$my_address->address = '1ADDRESSSTRINGFOOBAR';
$address_that_definitely_exists = \DSWallets\get_or_make_address( $my_address );
$address_that_definitely_exists->label = 'This is my foo bar deposit address';
try {
$address_that_definitely_exists->save();
} catch ( \Exception $e ) {
error_log( 'Could not save new address label due to: ' . $e->getMessage() );
}
Tags
Table of Contents
- $object_cache : mixed
- $post_id : int
- The id of the post that this object represents.
- $address : string|null
- Base address string. Excludes any extra optional field.
- $currency : Currency|null
- Currency associated with this address.
- $extra : string|null
- Extra optional field (payment_id, memo, etc).
- $label : string|null
- Optional label.
- $tags : array<string|int, ?string>
- Array of tags.
- $type : string
- Address type.
- $user : WP_User|null
- User.
- __get() : mixed
- Allows getting one of this object's fields.
- __set() : mixed
- Sets a field of this Address object.
- __toString() : string
- To String.
- delete() : mixed
- Trashes this object in the DB.
- from_values() : Address
- Factory to construct an address in one go from database values.
- load() : Address
- Load an Address from its custom post entry.
- load_many() : array<string|int, Address>
- Retrieve many addresses by their post_ids.
- save() : void
- Saves this object to the DB.
- render_bool_field() : mixed
- render_boolean_field() : mixed
- render_number_field() : mixed
- render_secret_field() : mixed
- render_select_field() : mixed
- render_string_field() : mixed
- render_strings_field() : mixed
Properties
$object_cache
protected
static mixed
$object_cache
= []
$post_id
The id of the post that this object represents.
protected
int
$post_id
$address
Base address string. Excludes any extra optional field.
private
string|null
$address
$currency
Currency associated with this address.
private
Currency|null
$currency
Also points to the wallet.
$extra
Extra optional field (payment_id, memo, etc).
private
string|null
$extra
$label
Optional label.
private
string|null
$label
A user text associated with this address. This is only for display to the user. Free text string, stored on the post_title column in the DB.
$tags
Array of tags.
private
array<string|int, ?string>
$tags
= null
Tags correspond to term slugs in the wallets_address_tags taxonomy.
$type
Address type.
private
string
$type
Can be deposit
or withdrawal
.
$user
User.
private
WP_User|null
$user
Deposits to the address count towards this user's balance.
Methods
__get()
Allows getting one of this object's fields.
public
__get(string $name) : mixed
Parameters
- $name : string
-
Can be:
post_id
,address
,extra
,type
,currency
,user
,label
.
Tags
Return values
mixed —__set()
Sets a field of this Address object.
public
__set(string $name, mixed $value) : mixed
Parameters
- $name : string
-
Can be:
post_id
,address
,extra
,type
,currency
,user
,label
. - $value : mixed
-
The value to set to the field.
Tags
Return values
mixed —__toString()
To String.
public
__toString() : string
Tags
Return values
string —delete()
Trashes this object in the DB.
public
delete([mixed $force = false ]) : mixed
Parameters
- $force : mixed = false
Tags
Return values
mixed —from_values()
Factory to construct an address in one go from database values.
public
static from_values(int $post_id, string $post_title, array<string|int, mixed> $postmeta, array<string|int, string> $tags) : Address
Parameters
- $post_id : int
-
The ID of the post in the database
- $post_title : string
-
The post's title to be used as address label
- $postmeta : array<string|int, mixed>
-
Key-value pairs
- $tags : array<string|int, string>
-
The slugs of the terms on taxonomy wallets_address_tags
Return values
Address —The constructed instance of the address object
load()
Load an Address from its custom post entry.
public
static load(int $post_id) : Address
Parameters
- $post_id : int
-
The post_id for the object to load.
Tags
Return values
Address —load_many()
Retrieve many addresses by their post_ids.
public
static load_many(array<string|int, int> $post_ids[, string|null $unused = null ]) : array<string|int, Address>
Any post_ids not found are skipped silently.
Parameters
- $post_ids : array<string|int, int>
-
The post IDs
- $unused : string|null = null
-
Do not use. Ignored.
Tags
Return values
array<string|int, Address> —The addresses
save()
Saves this object to the DB.
public
save() : void
If the object already had a post_id, then the post is updated. Else, a new custom post is created and the new post_id is assigned to the object.
Return values
void —render_bool_field()
protected
static render_bool_field(mixed $schema, mixed $value) : mixed
Parameters
- $schema : mixed
- $value : mixed
Return values
mixed —render_boolean_field()
protected
static render_boolean_field(mixed $schema, mixed $value) : mixed
Parameters
- $schema : mixed
- $value : mixed
Return values
mixed —render_number_field()
protected
static render_number_field(mixed $schema, mixed $value) : mixed
Parameters
- $schema : mixed
- $value : mixed
Return values
mixed —render_secret_field()
protected
static render_secret_field(mixed $schema, mixed $value) : mixed
Parameters
- $schema : mixed
- $value : mixed
Return values
mixed —render_select_field()
protected
static render_select_field(mixed $schema, mixed $value) : mixed
Parameters
- $schema : mixed
- $value : mixed
Return values
mixed —render_string_field()
protected
static render_string_field(mixed $schema, mixed $value) : mixed
Parameters
- $schema : mixed
- $value : mixed
Return values
mixed —render_strings_field()
protected
static render_strings_field(mixed $schema, mixed $value) : mixed
Parameters
- $schema : mixed
- $value : mixed