🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@lacrypta/bar-gateway

Package Overview
Dependencies
Maintainers
2
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lacrypta/bar-gateway - npm Package Compare versions

Comparing version
0.9.4
to
0.9.5
+1
-1
artifacts/contracts/BarGateway.sol/BarGateway.dbg.json
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/e192a323be964b5e56acc13435664af8.json"
"buildInfo": "../../build-info/0538dc6da53f3f0782290f48ef13c75e.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/e192a323be964b5e56acc13435664af8.json"
"buildInfo": "../../build-info/0538dc6da53f3f0782290f48ef13c75e.json"
}

@@ -7,2 +7,34 @@ {

{
"inputs": [],
"name": "AlreadyServed",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
}
],
"name": "Expired",
"type": "error"
},
{
"inputs": [],
"name": "InvalidSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "validSince",
"type": "uint256"
}
],
"name": "NotYetActive",
"type": "error"
},
{
"anonymous": false,

@@ -47,2 +79,7 @@ "inputs": [

{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "address",

@@ -58,2 +95,17 @@ "name": "from",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "string",

@@ -64,3 +116,3 @@ "name": "message",

],
"name": "buildPurchaseVoucher",
"name": "buildPermitAndPurchaseVoucher",
"outputs": [

@@ -81,6 +133,11 @@ {

"internalType": "uint256",
"name": "deadline",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",

@@ -112,7 +169,93 @@ "name": "payload",

{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "string",
"name": "message",
"type": "string"
}
],
"name": "buildPermitAndPurchaseVoucher",
"outputs": [
{
"components": [
{
"internalType": "uint32",
"name": "tag",
"type": "uint32"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "payload",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "metadata",
"type": "bytes"
}
],
"internalType": "struct IGateway.Voucher",
"name": "voucher",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "address",

@@ -128,2 +271,17 @@ "name": "from",

{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "string",

@@ -134,3 +292,3 @@ "name": "message",

],
"name": "buildPurchaseVoucher",
"name": "buildPermitAndPurchaseVoucher",
"outputs": [

@@ -151,6 +309,11 @@ {

"internalType": "uint256",
"name": "deadline",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",

@@ -175,11 +338,135 @@ "name": "payload",

{
"inputs": [],
"name": "destination",
"inputs": [
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "string",
"name": "message",
"type": "string"
}
],
"name": "buildPurchaseVoucher",
"outputs": [
{
"components": [
{
"internalType": "uint32",
"name": "tag",
"type": "uint32"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "payload",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "metadata",
"type": "bytes"
}
],
"internalType": "struct IGateway.Voucher",
"name": "voucher",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "address",
"name": "theDestination",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "string",
"name": "message",
"type": "string"
}
],
"name": "buildPurchaseVoucher",
"outputs": [
{
"components": [
{
"internalType": "uint32",
"name": "tag",
"type": "uint32"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "payload",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "metadata",
"type": "bytes"
}
],
"internalType": "struct IGateway.Voucher",
"name": "voucher",
"type": "tuple"
}
],
"stateMutability": "view",

@@ -191,2 +478,35 @@ "type": "function"

{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "string",
"name": "message",
"type": "string"
}
],
"name": "buildPurchaseVoucher",
"outputs": [
{
"components": [

@@ -205,6 +525,11 @@ {

"internalType": "uint256",
"name": "deadline",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",

@@ -225,8 +550,13 @@ "name": "payload",

],
"name": "hashVoucher",
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "destination",
"outputs": [
{
"internalType": "bytes32",
"name": "voucherHash",
"type": "bytes32"
"internalType": "address",
"name": "theDestination",
"type": "address"
}

@@ -253,6 +583,11 @@ ],

"internalType": "uint256",
"name": "deadline",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",

@@ -271,12 +606,13 @@ "name": "payload",

"type": "tuple"
},
}
],
"name": "hashVoucher",
"outputs": [
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
"internalType": "bytes32",
"name": "voucherHash",
"type": "bytes32"
}
],
"name": "serveVoucher",
"outputs": [],
"stateMutability": "nonpayable",
"stateMutability": "view",
"type": "function"

@@ -300,6 +636,11 @@ },

"internalType": "uint256",
"name": "deadline",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",

@@ -356,6 +697,11 @@ "name": "payload",

"internalType": "uint256",
"name": "deadline",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",

@@ -374,4 +720,54 @@ "name": "payload",

"type": "tuple"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"name": "serveVoucher",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint32",
"name": "tag",
"type": "uint32"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "payload",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "metadata",
"type": "bytes"
}
],
"internalType": "struct IGateway.Voucher",
"name": "voucher",
"type": "tuple"
}
],
"name": "stringifyVoucher",

@@ -417,6 +813,11 @@ "outputs": [

"internalType": "uint256",
"name": "deadline",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",

@@ -437,5 +838,15 @@ "name": "payload",

{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
}

@@ -464,6 +875,11 @@ ],

"internalType": "uint256",
"name": "deadline",
"name": "validSince",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
},
{
"internalType": "bytes",

@@ -484,15 +900,5 @@ "name": "payload",

{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}

@@ -499,0 +905,0 @@ ],

{
"name": "@lacrypta/bar-gateway",
"version": "0.9.4",
"version": "0.9.5",
"license": "AGPL-3.0-or-later",

@@ -49,2 +49,3 @@ "repository": {

"lodash": "^4.17.21",
"npm": "^8.19.2",
"prettier": "^2.7.1",

@@ -51,0 +52,0 @@ "prettier-plugin-solidity": "^1.0.0-beta.24",

@@ -24,13 +24,15 @@ /* Autogenerated file. Do not edit manually. */

functions: {
"PERMIT_AND_PURCHASE_VOUCHER_TAG()": FunctionFragment;
"PURCHASE_VOUCHER_TAG()": FunctionFragment;
"VOUCHER_TYPEHASH()": FunctionFragment;
"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)": FunctionFragment;
"buildPurchaseVoucher(uint256,address,uint256,string)": FunctionFragment;
"destination()": FunctionFragment;
"hashVoucher((uint32,uint256,uint256,bytes,bytes))": FunctionFragment;
"hashVoucher((uint32,uint256,uint256,uint256,bytes,bytes))": FunctionFragment;
"multicall(bytes[])": FunctionFragment;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)": FunctionFragment;
"stringifyVoucher((uint32,uint256,uint256,bytes,bytes))": FunctionFragment;
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)": FunctionFragment;
"stringifyVoucher((uint32,uint256,uint256,uint256,bytes,bytes))": FunctionFragment;
"supportsInterface(bytes4)": FunctionFragment;
"token()": FunctionFragment;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)": FunctionFragment;
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)": FunctionFragment;
"voucherServed(bytes32)": FunctionFragment;

@@ -40,2 +42,6 @@ };

encodeFunctionData(
functionFragment: "PERMIT_AND_PURCHASE_VOUCHER_TAG",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "PURCHASE_VOUCHER_TAG",

@@ -49,2 +55,15 @@ values?: undefined

encodeFunctionData(
functionFragment: "buildPermitAndPurchaseVoucher",
values: [
BigNumberish,
BigNumberish,
string,
BigNumberish,
BigNumberish,
BytesLike,
BytesLike,
string
]
): string;
encodeFunctionData(
functionFragment: "buildPurchaseVoucher",

@@ -63,3 +82,4 @@ values: [BigNumberish, string, BigNumberish, string]

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -80,7 +100,10 @@ metadata: BytesLike;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
BytesLike
BytesLike,
BytesLike,
BigNumberish
]

@@ -94,3 +117,4 @@ ): string;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -112,7 +136,10 @@ metadata: BytesLike;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
BytesLike
BytesLike,
BytesLike,
BigNumberish
]

@@ -126,2 +153,6 @@ ): string;

decodeFunctionResult(
functionFragment: "PERMIT_AND_PURCHASE_VOUCHER_TAG",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "PURCHASE_VOUCHER_TAG",

@@ -135,2 +166,6 @@ data: BytesLike

decodeFunctionResult(
functionFragment: "buildPermitAndPurchaseVoucher",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "buildPurchaseVoucher",

@@ -225,2 +260,6 @@ data: BytesLike

functions: {
PERMIT_AND_PURCHASE_VOUCHER_TAG(
overrides?: CallOverrides
): Promise<[number]>;
PURCHASE_VOUCHER_TAG(overrides?: CallOverrides): Promise<[number]>;

@@ -234,2 +273,131 @@

/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
* @param validUntil Voucher validUntil to use
*/
"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
};
}
>;
/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
*/
"buildPermitAndPurchaseVoucher(uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
};
}
>;
/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
* @param validSince Voucher validSince to use
* @param validUntil Voucher validUntil to use
*/
"buildPermitAndPurchaseVoucher(uint256,uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
};
}
>;
/**
* Build a PurchaseVoucher from the given parameters

@@ -249,6 +417,7 @@ * @param amount Amount to use

[
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -258,6 +427,7 @@ metadata: string;

] & {
voucher: [number, BigNumber, BigNumber, string, string] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -272,10 +442,10 @@ metadata: string;

* @param amount Amount to use
* @param deadline Voucher deadline to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param validUntil Voucher validUntil to use
*/
"buildPurchaseVoucher(uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
deadline: BigNumberish,
validUntil: BigNumberish,
from: string,

@@ -287,6 +457,7 @@ amount: BigNumberish,

[
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -296,6 +467,7 @@ metadata: string;

] & {
voucher: [number, BigNumber, BigNumber, string, string] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -308,2 +480,41 @@ metadata: string;

/**
* Build a PurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param validSince Voucher validSince to use
* @param validUntil Voucher validUntil to use
*/
"buildPurchaseVoucher(uint256,uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
message: string,
overrides?: CallOverrides
): Promise<
[
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
};
}
>;
/**
* Retrieve the address of the configured destination

@@ -319,3 +530,4 @@ */

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -335,25 +547,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -366,3 +580,4 @@ ): Promise<ContractTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -388,25 +603,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<[void]>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -424,2 +641,4 @@ ): Promise<[void]>;

PERMIT_AND_PURCHASE_VOUCHER_TAG(overrides?: CallOverrides): Promise<number>;
PURCHASE_VOUCHER_TAG(overrides?: CallOverrides): Promise<number>;

@@ -433,2 +652,98 @@

/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
* @param validUntil Voucher validUntil to use
*/
"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
*/
"buildPermitAndPurchaseVoucher(uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
* @param validSince Voucher validSince to use
* @param validUntil Voucher validUntil to use
*/
"buildPermitAndPurchaseVoucher(uint256,uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
/**
* Build a PurchaseVoucher from the given parameters

@@ -447,6 +762,7 @@ * @param amount Amount to use

): Promise<
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -460,10 +776,10 @@ metadata: string;

* @param amount Amount to use
* @param deadline Voucher deadline to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param validUntil Voucher validUntil to use
*/
"buildPurchaseVoucher(uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
deadline: BigNumberish,
validUntil: BigNumberish,
from: string,

@@ -474,6 +790,7 @@ amount: BigNumberish,

): Promise<
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -485,2 +802,30 @@ metadata: string;

/**
* Build a PurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param validSince Voucher validSince to use
* @param validUntil Voucher validUntil to use
*/
"buildPurchaseVoucher(uint256,uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
/**
* Retrieve the address of the configured destination

@@ -494,3 +839,4 @@ */

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -510,25 +856,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -541,3 +889,4 @@ ): Promise<ContractTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -563,25 +912,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -596,2 +947,4 @@ ): Promise<void>;

callStatic: {
PERMIT_AND_PURCHASE_VOUCHER_TAG(overrides?: CallOverrides): Promise<number>;
PURCHASE_VOUCHER_TAG(overrides?: CallOverrides): Promise<number>;

@@ -605,2 +958,98 @@

/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
* @param validUntil Voucher validUntil to use
*/
"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
*/
"buildPermitAndPurchaseVoucher(uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
* @param validSince Voucher validSince to use
* @param validUntil Voucher validUntil to use
*/
"buildPermitAndPurchaseVoucher(uint256,uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
/**
* Build a PurchaseVoucher from the given parameters

@@ -619,6 +1068,7 @@ * @param amount Amount to use

): Promise<
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -632,10 +1082,10 @@ metadata: string;

* @param amount Amount to use
* @param deadline Voucher deadline to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param validUntil Voucher validUntil to use
*/
"buildPurchaseVoucher(uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
deadline: BigNumberish,
validUntil: BigNumberish,
from: string,

@@ -646,6 +1096,7 @@ amount: BigNumberish,

): Promise<
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -657,2 +1108,30 @@ metadata: string;

/**
* Build a PurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param validSince Voucher validSince to use
* @param validUntil Voucher validUntil to use
*/
"buildPurchaseVoucher(uint256,uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
/**
* Retrieve the address of the configured destination

@@ -666,3 +1145,4 @@ */

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -679,25 +1159,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -710,3 +1192,4 @@ ): Promise<void>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -732,25 +1215,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -784,2 +1269,6 @@ ): Promise<void>;

estimateGas: {
PERMIT_AND_PURCHASE_VOUCHER_TAG(
overrides?: CallOverrides
): Promise<BigNumber>;
PURCHASE_VOUCHER_TAG(overrides?: CallOverrides): Promise<BigNumber>;

@@ -793,2 +1282,71 @@

/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
* @param validUntil Voucher validUntil to use
*/
"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<BigNumber>;
/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
*/
"buildPermitAndPurchaseVoucher(uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<BigNumber>;
/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
* @param validSince Voucher validSince to use
* @param validUntil Voucher validUntil to use
*/
"buildPermitAndPurchaseVoucher(uint256,uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<BigNumber>;
/**
* Build a PurchaseVoucher from the given parameters

@@ -811,10 +1369,10 @@ * @param amount Amount to use

* @param amount Amount to use
* @param deadline Voucher deadline to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param validUntil Voucher validUntil to use
*/
"buildPurchaseVoucher(uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
deadline: BigNumberish,
validUntil: BigNumberish,
from: string,

@@ -827,2 +1385,21 @@ amount: BigNumberish,

/**
* Build a PurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param validSince Voucher validSince to use
* @param validUntil Voucher validUntil to use
*/
"buildPurchaseVoucher(uint256,uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
message: string,
overrides?: CallOverrides
): Promise<BigNumber>;
/**
* Retrieve the address of the configured destination

@@ -836,3 +1413,4 @@ */

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -852,25 +1430,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -883,3 +1463,4 @@ ): Promise<BigNumber>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -905,25 +1486,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<BigNumber>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -942,2 +1525,6 @@ ): Promise<BigNumber>;

populateTransaction: {
PERMIT_AND_PURCHASE_VOUCHER_TAG(
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
PURCHASE_VOUCHER_TAG(

@@ -953,2 +1540,71 @@ overrides?: CallOverrides

/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
* @param validUntil Voucher validUntil to use
*/
"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
*/
"buildPermitAndPurchaseVoucher(uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
/**
* Build a PermitAndPurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param r The permit's signature "r" value
* @param s The permit's signature "s" value
* @param v The permit's signature "v" value
* @param validSince Voucher validSince to use
* @param validUntil Voucher validUntil to use
*/
"buildPermitAndPurchaseVoucher(uint256,uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
/**
* Build a PurchaseVoucher from the given parameters

@@ -971,10 +1627,10 @@ * @param amount Amount to use

* @param amount Amount to use
* @param deadline Voucher deadline to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param validUntil Voucher validUntil to use
*/
"buildPurchaseVoucher(uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
deadline: BigNumberish,
validUntil: BigNumberish,
from: string,

@@ -987,2 +1643,21 @@ amount: BigNumberish,

/**
* Build a PurchaseVoucher from the given parameters
* @param amount Amount to use
* @param from Transfer origin to use
* @param message Message to use
* @param nonce Nonce to use
* @param validSince Voucher validSince to use
* @param validUntil Voucher validUntil to use
*/
"buildPurchaseVoucher(uint256,uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
message: string,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
/**
* Retrieve the address of the configured destination

@@ -996,3 +1671,4 @@ */

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -1012,25 +1688,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -1043,3 +1721,4 @@ ): Promise<PopulatedTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -1065,25 +1744,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -1090,0 +1771,0 @@ ): Promise<PopulatedTransaction>;

@@ -27,2 +27,34 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "AlreadyServed",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
],
name: "Expired",
type: "error",
},
{
inputs: [],
name: "InvalidSignature",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
],
name: "NotYetActive",
type: "error",
},
{
anonymous: false,

@@ -48,2 +80,15 @@ inputs: [

inputs: [],
name: "PERMIT_AND_PURCHASE_VOUCHER_TAG",
outputs: [
{
internalType: "uint32",
name: "",
type: "uint32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "PURCHASE_VOUCHER_TAG",

@@ -81,2 +126,7 @@ outputs: [

{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "address",

@@ -92,2 +142,17 @@ name: "from",

{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "string",

@@ -98,2 +163,240 @@ name: "message",

],
name: "buildPermitAndPurchaseVoucher",
outputs: [
{
components: [
{
internalType: "uint32",
name: "tag",
type: "uint32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",
name: "payload",
type: "bytes",
},
{
internalType: "bytes",
name: "metadata",
type: "bytes",
},
],
internalType: "struct IGateway.Voucher",
name: "voucher",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "string",
name: "message",
type: "string",
},
],
name: "buildPermitAndPurchaseVoucher",
outputs: [
{
components: [
{
internalType: "uint32",
name: "tag",
type: "uint32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",
name: "payload",
type: "bytes",
},
{
internalType: "bytes",
name: "metadata",
type: "bytes",
},
],
internalType: "struct IGateway.Voucher",
name: "voucher",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "string",
name: "message",
type: "string",
},
],
name: "buildPermitAndPurchaseVoucher",
outputs: [
{
components: [
{
internalType: "uint32",
name: "tag",
type: "uint32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",
name: "payload",
type: "bytes",
},
{
internalType: "bytes",
name: "metadata",
type: "bytes",
},
],
internalType: "struct IGateway.Voucher",
name: "voucher",
type: "tuple",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "string",
name: "message",
type: "string",
},
],
name: "buildPurchaseVoucher",

@@ -115,6 +418,11 @@ outputs: [

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -147,3 +455,3 @@ name: "payload",

internalType: "uint256",
name: "deadline",
name: "validUntil",
type: "uint256",

@@ -183,6 +491,11 @@ },

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -203,2 +516,78 @@ name: "payload",

],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "string",
name: "message",
type: "string",
},
],
name: "buildPurchaseVoucher",
outputs: [
{
components: [
{
internalType: "uint32",
name: "tag",
type: "uint32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",
name: "payload",
type: "bytes",
},
{
internalType: "bytes",
name: "metadata",
type: "bytes",
},
],
internalType: "struct IGateway.Voucher",
name: "voucher",
type: "tuple",
},
],
stateMutability: "pure",

@@ -236,6 +625,11 @@ type: "function",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -302,6 +696,11 @@ name: "payload",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -322,6 +721,16 @@ name: "payload",

{
internalType: "bytes",
name: "signature",
type: "bytes",
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -349,6 +758,11 @@ name: "serveVoucher",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -369,16 +783,6 @@ name: "payload",

{
internalType: "bytes32",
name: "r",
type: "bytes32",
internalType: "bytes",
name: "signature",
type: "bytes",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -406,6 +810,11 @@ name: "serveVoucher",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -485,6 +894,11 @@ name: "payload",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -505,6 +919,16 @@ name: "payload",

{
internalType: "bytes",
name: "signature",
type: "bytes",
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -532,6 +956,11 @@ name: "validateVoucher",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -552,16 +981,6 @@ name: "payload",

{
internalType: "bytes32",
name: "r",
type: "bytes32",
internalType: "bytes",
name: "signature",
type: "bytes",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -595,3 +1014,3 @@ name: "validateVoucher",

const _bytecode =
"0x60c06040523480156200001157600080fd5b5060405162002be438038062002be48339810160408190526200003491620004ca565b600160008181556001600160a01b03848116608052831660a0526040805160608101825262000115602090811b620006ed176001600160401b03908116835262000141821b620007151781168284019081526200016a831b6200073a17821694840194855263c98feddc909552949052517fd1ef63d5f6a1a9cb9a3fd7098b761c9e1ab8c2ebef7f514d200499a4fc057c478054935192518516600160801b02600160801b600160c01b031993861668010000000000000000026001600160801b031990951692909516919091179290921716919091179055505062000756565b60606000620001278383018462000509565b810190620001369190620005cd565b604001519392505050565b60008062000153606084018462000509565b810190620001629190620005cd565b519392505050565b60006200017b606083018362000509565b8101906200018a9190620005cd565b602081015190915015620001cb57620001cb816000015160a05183602001516080516001600160a01b0316620001cf60201b620007c417909392919060201c565b5050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b039081166323b872dd60e01b179091526200022f9186916200023516565b50505050565b600062000291826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200031c60201b6200084c179092919060201c565b805190915015620003175780806020019051810190620002b29190620006b9565b620003175760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b505050565b60606200032d848460008562000337565b90505b9392505050565b6060824710156200039a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016200030e565b6001600160a01b0385163b620003f35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200030e565b600080866001600160a01b0316858760405162000411919062000703565b60006040518083038185875af1925050503d806000811462000450576040519150601f19603f3d011682016040523d82523d6000602084013e62000455565b606091505b5090925090506200046882828662000473565b979650505050505050565b606083156200048457508162000330565b825115620004955782518084602001fd5b8160405162461bcd60e51b81526004016200030e919062000721565b6001600160a01b0381168114620004c757600080fd5b50565b60008060408385031215620004de57600080fd5b8251620004eb81620004b1565b6020840151909250620004fe81620004b1565b809150509250929050565b6000808335601e198436030181126200052157600080fd5b8301803591506001600160401b038211156200053c57600080fd5b6020019150368190038213156200055257600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171562000594576200059462000559565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005c557620005c562000559565b604052919050565b60006020808385031215620005e157600080fd5b82356001600160401b0380821115620005f957600080fd5b90840190606082870312156200060e57600080fd5b620006186200056f565b82356200062581620004b1565b815282840135848201526040830135828111156200064257600080fd5b80840193505086601f8401126200065857600080fd5b8235828111156200066d576200066d62000559565b62000681601f8201601f191686016200059a565b925080835287858286010111156200069857600080fd5b80858501868501376000908301909401939093526040830152509392505050565b600060208284031215620006cc57600080fd5b815180151581146200033057600080fd5b60005b83811015620006fa578181015183820152602001620006e0565b50506000910152565b6000825162000717818460208701620006dd565b9190910192915050565b602081526000825180602084015262000742816040850160208701620006dd565b601f01601f19169190910160400192915050565b60805160a05161245a6200078a6000396000818161024a015261079b0152600081816102aa0152610778015261245a6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639ae3be2911610097578063b269681d11610066578063b269681d14610248578063c616f21d14610282578063d85116bb14610295578063fc0c546a146102a857600080fd5b80639ae3be29146101d55780639c38853e146101f5578063a85aa66414610208578063ac9650d81461022857600080fd5b806379ea45ac116100d357806379ea45ac1461015757806385715b671461017857806389a7f48e1461018b57806394739e87146101ae57600080fd5b806301ffc9a7146100fa5780633203872d14610122578063651c51e114610142575b600080fd5b61010d6101083660046118dc565b6102ce565b60405190151581526020015b60405180910390f35b61012d63c98feddc81565b60405163ffffffff9091168152602001610119565b610155610150366004611978565b61032a565b005b61016a6101653660046119e1565b610370565b604051908152602001610119565b610155610186366004611978565b61037b565b61010d610199366004611a16565b60026020526000908152604090205460ff1681565b61016a7f3c4eccc58df3b1fa05ba717589f6675a1af0cfee2fe59126957513d39f45d1ce81565b6101e86101e3366004611a4b565b610424565b6040516101199190611b03565b610155610203366004611b69565b61047f565b61021b6102163660046119e1565b61053b565b6040516101199190611bd2565b61023b610236366004611be5565b610546565b6040516101199190611c5a565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610119565b6101e8610290366004611cda565b61063b565b6101556102a3366004611b69565b61068c565b7f000000000000000000000000000000000000000000000000000000000000000061026a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f12907043000000000000000000000000000000000000000000000000000000001480610324575061032482610865565b92915050565b61036a8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108fc92505050565b50505050565b600061032482610a42565b6002600054036103d25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260008190555061041a8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a5592505050565b5050600160005550565b61045c6040518060a00160405280600063ffffffff168152602001600081526020016000815260200160608152602001606081525090565b6104758661046c42610e10611d61565b87878787610ae6565b9695505050505050565b6002600054036104d15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103c9565b600260005560408051602081018590528082018490527fff0000000000000000000000000000000000000000000000000000000000000060f884901b166060820152815180820360410181526061909101909152610530908590610a55565b505060016000555050565b606061032482610bfb565b60608167ffffffffffffffff81111561056157610561611d74565b60405190808252806020026020018201604052801561059457816020015b606081526020019060019003908161057f5790505b50905060005b8281101561063457610604308585848181106105b8576105b8611d8a565b90506020028101906105ca9190611da0565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061106792505050565b82828151811061061657610616611d8a565b6020026020010181905250808061062c90611e05565b91505061059a565b5092915050565b6106736040518060a00160405280600063ffffffff168152602001600081526020016000815260200160608152602001606081525090565b610681878787878787610ae6565b979650505050505050565b60408051602081018590528082018490527fff0000000000000000000000000000000000000000000000000000000000000060f884901b1660608201528151808203604101815260619091019091526106e69085906108fc565b5050505050565b606060006106fd83830184611da0565b81019061070a9190611ebf565b604001519392505050565b6000806107256060840184611da0565b8101906107329190611ebf565b519392505050565b60006107496060830183611da0565b8101906107569190611ebf565b6020810151909150156107c057805160208201516107c0916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016917f0000000000000000000000000000000000000000000000000000000000000000906107c4565b5050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261036a90859061108c565b606061085b8484600085611176565b90505b9392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f686010c200000000000000000000000000000000000000000000000000000000148061032457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610324565b600082604001354211156109525760405162461bcd60e51b815260206004820152601960248201527f476174657761793a206578706972656420646561646c696e650000000000000060448201526064016103c9565b61095b83610a42565b60008181526002602052604090205490915060ff16156109bd5760405162461bcd60e51b815260206004820152601f60248201527f476174657761793a20766f756368657220616c7265616479207365727665640060448201526064016103c9565b6109d06109c9846112b3565b82846112f8565b6103245760405162461bcd60e51b815260206004820152602260248201527f476174657761793a20696e76616c696420766f7563686572207369676e61747560448201527f726500000000000000000000000000000000000000000000000000000000000060648201526084016103c9565b6000610324610a5083610bfb565b611480565b6000610a6183836108fc565b600081815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790559050610aa3836114bb565b807fd193a54dd0b0b5884cffc665f0803faa8d7f44280881b0a277878158bebd4c5d336040516001600160a01b03909116815260200160405180910390a2505050565b610b1e6040518060a00160405280600063ffffffff168152602001600081526020016000815260200160608152602001606081525090565b6040518060a001604052807fc98feddce43b62dd2cb83182299f913b1c4651c05d86f7f4f7ae2319eced505b60e01c63ffffffff1681526020018881526020018781526020016040518060600160405280886001600160a01b0316815260200187815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050915250604051610bcc9190602001611f8d565b60408051601f198184030181529181529082528051602081810190925260008152910152979650505050505050565b6060610c068261150a565b604051602001610c169190611fc5565b60408051601f19818403018152919052610c336020840184611fea565b6040517f6900a3ae00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015273D27464A4f21C2c08888A0F37fEF82199BAFabC4890636900a3ae90602401600060405180830381865af4158015610ca2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cca9190810190612010565b604051602001610cda919061207e565b60408051808303601f19018152908290527f6900a3ae000000000000000000000000000000000000000000000000000000008252602085013560048301529073D27464A4f21C2c08888A0F37fEF82199BAFabC4890636900a3ae90602401600060405180830381865af4158015610d55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d7d9190810190612010565b604051602001610d8d91906120ce565b60408051808303601f190181528282527f4b2dd5190000000000000000000000000000000000000000000000000000000083529086013564ffffffffff1660048301529073D27464A4f21C2c08888A0F37fEF82199BAFabC4890634b2dd51990602401600060405180830381865af4158015610e0d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e359190810190612010565b604051602001610e45919061211e565b60408051601f19818403018152919052610e626060870187611da0565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040517f71aad10d00000000000000000000000000000000000000000000000000000000815273D27464A4f21C2c08888A0F37fEF82199BAFabC48936371aad10d9350610ee5925090600401611bd2565b600060405180830381865af4158015610f02573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2a9190810190612010565b604051602001610f3a919061216e565b60408051601f19818403018152919052610f576080880188611da0565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040517f71aad10d00000000000000000000000000000000000000000000000000000000815273D27464A4f21C2c08888A0F37fEF82199BAFabC48936371aad10d9350610fda925090600401611bd2565b600060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261101f9190810190612010565b60405160200161102f91906121be565b60408051601f1981840301815290829052611051969594939291602001612203565b6040516020818303038152906040529050919050565b606061085e83836040518060600160405280602781526020016123fe60279139611544565b60006110e1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661084c9092919063ffffffff16565b80519091501561117157808060200190518101906110ff91906122b5565b6111715760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016103c9565b505050565b6060824710156111ee5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016103c9565b6001600160a01b0385163b6112455760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103c9565b600080866001600160a01b0316858760405161126191906122d7565b60006040518083038185875af1925050503d806000811461129e576040519150601f19603f3d011682016040523d82523d6000602084013e6112a3565b606091505b509150915061068182828661162a565b6000610324826001836112c96020840184611fea565b63ffffffff908116825260208201929092526040016000205468010000000000000000900480156118d2021716565b60008060006113078585611663565b90925090506000816004811115611320576113206122f3565b14801561133e5750856001600160a01b0316826001600160a01b0316145b1561134e5760019250505061085e565b600080876001600160a01b0316631626ba7e60e01b8888604051602401611376929190612309565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516113e191906122d7565b600060405180830381855afa9150503d806000811461141c576040519150601f19603f3d011682016040523d82523d6000602084013e611421565b606091505b5091509150818015611434575080516020145b8015611474575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906114729083016020908101908401612322565b145b98975050505050505050565b600061148c82516116a8565b8260405160200161149e92919061233b565b604051602081830303815290604052805190602001209050919050565b61150781600160006114d06020840184611fea565b63ffffffff9081168252602082019290925260400160002054700100000000000000000000000000000000900480156118d2021716565b50565b606061032482600160006115216020840184611fea565b63ffffffff90811682526020820192909252604001600020546118d28115021716565b60606001600160a01b0384163b6115c35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016103c9565b600080856001600160a01b0316856040516115de91906122d7565b600060405180830381855af49150503d8060008114611619576040519150601f19603f3d011682016040523d82523d6000602084013e61161e565b606091505b50915091506104758282865b6060831561163957508161085e565b8251156116495782518084602001fd5b8160405162461bcd60e51b81526004016103c99190611bd2565b60008082516041036116995760208301516040840151606085015160001a61168d878285856117e5565b945094505050506116a1565b506000905060025b9250929050565b6060816000036116eb57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561171557806116ff81611e05565b915061170e9050600a836123ac565b91506116ef565b60008167ffffffffffffffff81111561173057611730611d74565b6040519080825280601f01601f19166020018201604052801561175a576020820181803683370190505b5090505b84156117dd5761176f6001836123c0565b915061177c600a866123d3565b611787906030611d61565b60f81b81838151811061179c5761179c611d8a565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506117d6600a866123ac565b945061175e565b949350505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561181c57506000905060036118c9565b8460ff16601b1415801561183457508460ff16601c14155b1561184557506000905060046118c9565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611899573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166118c2576000600192509250506118c9565b9150600090505b94509492505050565b6118da6123e7565b565b6000602082840312156118ee57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461085e57600080fd5b600060a0828403121561193057600080fd5b50919050565b60008083601f84011261194857600080fd5b50813567ffffffffffffffff81111561196057600080fd5b6020830191508360208285010111156116a157600080fd5b60008060006040848603121561198d57600080fd5b833567ffffffffffffffff808211156119a557600080fd5b6119b18783880161191e565b945060208601359150808211156119c757600080fd5b506119d486828701611936565b9497909650939450505050565b6000602082840312156119f357600080fd5b813567ffffffffffffffff811115611a0a57600080fd5b6117dd8482850161191e565b600060208284031215611a2857600080fd5b5035919050565b80356001600160a01b0381168114611a4657600080fd5b919050565b600080600080600060808688031215611a6357600080fd5b85359450611a7360208701611a2f565b935060408601359250606086013567ffffffffffffffff811115611a9657600080fd5b611aa288828901611936565b969995985093965092949392505050565b60005b83811015611ace578181015183820152602001611ab6565b50506000910152565b60008151808452611aef816020860160208601611ab3565b601f01601f19169290920160200192915050565b6020815263ffffffff825116602082015260208201516040820152604082015160608201526000606083015160a06080840152611b4360c0840182611ad7565b90506080840151601f198483030160a0850152611b608282611ad7565b95945050505050565b60008060008060808587031215611b7f57600080fd5b843567ffffffffffffffff811115611b9657600080fd5b611ba28782880161191e565b9450506020850135925060408501359150606085013560ff81168114611bc757600080fd5b939692955090935050565b60208152600061085e6020830184611ad7565b60008060208385031215611bf857600080fd5b823567ffffffffffffffff80821115611c1057600080fd5b818501915085601f830112611c2457600080fd5b813581811115611c3357600080fd5b8660208260051b8501011115611c4857600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611ccd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611cbb858351611ad7565b94509285019290850190600101611c81565b5092979650505050505050565b60008060008060008060a08789031215611cf357600080fd5b8635955060208701359450611d0a60408801611a2f565b935060608701359250608087013567ffffffffffffffff811115611d2d57600080fd5b611d3989828a01611936565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032457610324611d4b565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611dd557600080fd5b83018035915067ffffffffffffffff821115611df057600080fd5b6020019150368190038213156116a157600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611e3657611e36611d4b565b5060010190565b6040516060810167ffffffffffffffff81118282101715611e6057611e60611d74565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e8f57611e8f611d74565b604052919050565b600067ffffffffffffffff821115611eb157611eb1611d74565b50601f01601f191660200190565b60006020808385031215611ed257600080fd5b823567ffffffffffffffff80821115611eea57600080fd5b9084019060608287031215611efe57600080fd5b611f06611e3d565b611f0f83611a2f565b81528383013584820152604083013582811115611f2b57600080fd5b80840193505086601f840112611f4057600080fd5b82359150611f55611f5083611e97565b611e66565b8281528785848601011115611f6957600080fd5b82858501868301376000858483010152806040830152508094505050505092915050565b602081526001600160a01b03825116602082015260208201516040820152600060408301516060808401526117dd6080840182611ad7565b60008251611fd7818460208701611ab3565b600560f91b920191825250600101919050565b600060208284031215611ffc57600080fd5b813563ffffffff8116811461085e57600080fd5b60006020828403121561202257600080fd5b815167ffffffffffffffff81111561203957600080fd5b8201601f8101841361204a57600080fd5b8051612058611f5082611e97565b81815285602083850101111561206d57600080fd5b611b60826020830160208601611ab3565b7f7461673a200000000000000000000000000000000000000000000000000000008152600082516120b6816005850160208701611ab3565b600560f91b6005939091019283015250600601919050565b7f6e6f6e63653a2000000000000000000000000000000000000000000000000000815260008251612106816007850160208701611ab3565b600560f91b6007939091019283015250600801919050565b7f646561646c696e653a200000000000000000000000000000000000000000000081526000825161215681600a850160208701611ab3565b600560f91b600a939091019283015250600b01919050565b7f7061796c6f61643a2000000000000000000000000000000000000000000000008152600082516121a6816009850160208701611ab3565b600560f91b6009939091019283015250600a01919050565b7f6d657461646174613a20000000000000000000000000000000000000000000008152600082516121f681600a850160208701611ab3565b91909101600a0192915050565b6000875160206122168285838d01611ab3565b81840191507f2d2d2d0a0000000000000000000000000000000000000000000000000000000082526004895161225181838601858e01611ab3565b895193019261226581838601858d01611ab3565b885193019261227981838601858c01611ab3565b875193019261228d81838601858b01611ab3565b86519301926122a181838601858a01611ab3565b929092019091019998505050505050505050565b6000602082840312156122c757600080fd5b8151801515811461085e57600080fd5b600082516122e9818460208701611ab3565b9190910192915050565b634e487b7160e01b600052602160045260246000fd5b82815260406020820152600061085b6040830184611ad7565b60006020828403121561233457600080fd5b5051919050565b7f19457468657265756d205369676e6564204d6573736167653a0a00000000000081526000835161237381601a850160208801611ab3565b83519083019061238a81601a840160208801611ab3565b01601a01949350505050565b634e487b7160e01b600052601260045260246000fd5b6000826123bb576123bb612396565b500490565b8181038181111561032457610324611d4b565b6000826123e2576123e2612396565b500690565b634e487b7160e01b600052605160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122065d3a3885ce05164c63452b919254acdeb4a3fff88a809eef4a4c33eda3dd54a64736f6c63430008110033";
"0x60c06040523480156200001157600080fd5b5060405162003c6c38038062003c6c83398101604081905262000034916200089e565b600160008181556001600160a01b03848116608052831660a05260408051606081018252620001a0602090811b6200094d176001600160401b039081168352620001cd821b62000976178116828401908152620001f6831b6200099b17821694840194855263a681b763909552949052517fed1379435e089df6cff13d37b3604fa470989a1f29c053538c9eb1ba46387e9a8054935192518516600160801b02600160801b600160c01b031993861668010000000000000000026001600160801b031990951692909516919091179290921716919091179055620001987ff7d719823c8a23d19efc4eacc1963ff9c7d7bcf57ddbb5747243f182c5dc0b4e60e01c60405180606001604052806200031260201b62000a95176001600160401b031681526020016200033f60201b62000abe176001600160401b031681526020016200036060201b62000adb176001600160401b03168152506200029f60201b60201c565b505062000c4e565b60606000620001b36080840184620008dd565b810190620001c2919062000a02565b60a001519392505050565b600080620001df6080840184620008dd565b810190620001ee919062000a02565b519392505050565b6000620002076080830183620008dd565b81019062000216919062000a02565b90506200025d816000015160a051600019808560400151866060015187608001516080516001600160a01b0316620003c160201b62000b611790979695949392919060201c565b6020810151156200029b576200029b816000015160a05183602001516080516001600160a01b0316620005a760201b62000da017909392919060201c565b5050565b63ffffffff909116600090815260016020908152604091829020835181549285015193909401516001600160401b03908116600160801b02600160801b600160c01b031994821668010000000000000000026001600160801b031990941691909516179190911791909116919091179055565b60606000620003256080840184620008dd565b81019062000334919062000ac5565b604001519392505050565b600080620003516080840184620008dd565b810190620001ee919062000ac5565b6000620003716080830183620008dd565b81019062000380919062000ac5565b6020810151909150156200029b576200029b816000015160a05183602001516080516001600160a01b0316620005a760201b62000da017909392919060201c565b604051623f675f60e91b81526001600160a01b038881166004830152600091908a1690637ecebe0090602401602060405180830381865afa1580156200040b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000431919062000b6f565b60405163d505accf60e01b81526001600160a01b038a811660048301528981166024830152604482018990526064820188905260ff8716608483015260a4820186905260c48201859052919250908a169063d505accf9060e401600060405180830381600087803b158015620004a657600080fd5b505af1158015620004bb573d6000803e3d6000fd5b5050604051623f675f60e91b81526001600160a01b038b81166004830152600093508c169150637ecebe0090602401602060405180830381865afa15801562000508573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200052e919062000b6f565b90506200053d82600162000b89565b81146200059b5760405162461bcd60e51b815260206004820152602160248201527f5361666545524332303a207065726d697420646964206e6f74207375636365656044820152601960fa1b60648201526084015b60405180910390fd5b50505050505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b039081166323b872dd60e01b17909152620006079186916200060d16565b50505050565b600062000669826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620006f060201b62000e28179092919060201c565b805190915015620006eb57808060200190518101906200068a919062000bb1565b620006eb5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000592565b505050565b60606200070184846000856200070b565b90505b9392505050565b6060824710156200076e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000592565b6001600160a01b0385163b620007c75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000592565b600080866001600160a01b03168587604051620007e5919062000bfb565b60006040518083038185875af1925050503d806000811462000824576040519150601f19603f3d011682016040523d82523d6000602084013e62000829565b606091505b5090925090506200083c82828662000847565b979650505050505050565b606083156200085857508162000704565b825115620008695782518084602001fd5b8160405162461bcd60e51b815260040162000592919062000c19565b6001600160a01b03811681146200089b57600080fd5b50565b60008060408385031215620008b257600080fd5b8251620008bf8162000885565b6020840151909250620008d28162000885565b809150509250929050565b6000808335601e19843603018112620008f557600080fd5b8301803591506001600160401b038211156200091057600080fd5b6020019150368190038213156200092657600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156200096857620009686200092d565b60405290565b600082601f8301126200098057600080fd5b81356001600160401b03808211156200099d576200099d6200092d565b604051601f8301601f19908116603f01168101908282118183101715620009c857620009c86200092d565b81604052838152866020858801011115620009e257600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121562000a1557600080fd5b81356001600160401b038082111562000a2d57600080fd5b9083019060c0828603121562000a4257600080fd5b62000a4c62000943565b823562000a598162000885565b815260208381013590820152604083013560ff8116811462000a7a57600080fd5b80604083015250606083013560608201526080830135608082015260a08301358281111562000aa857600080fd5b62000ab6878286016200096e565b60a08301525095945050505050565b60006020828403121562000ad857600080fd5b81356001600160401b038082111562000af057600080fd5b908301906060828603121562000b0557600080fd5b60405160608101818110838211171562000b235762000b236200092d565b604052823562000b338162000885565b81526020838101359082015260408301358281111562000b5257600080fd5b62000b60878286016200096e565b60408301525095945050505050565b60006020828403121562000b8257600080fd5b5051919050565b8082018082111562000bab57634e487b7160e01b600052601160045260246000fd5b92915050565b60006020828403121562000bc457600080fd5b815180151581146200070457600080fd5b60005b8381101562000bf257818101518382015260200162000bd8565b50506000910152565b6000825162000c0f81846020870162000bd5565b9190910192915050565b602081526000825180602084015262000c3a81604085016020870162000bd5565b601f01601f19169190910160400192915050565b60805160a051612fce62000c9e600039600081816102f2015281816109fd01528181610a6c0152610b3c015260008181610378015281816109d901528181610a490152610b190152612fce6000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80639ae3be29116100cd578063c616f21d11610081578063ce6b5b0411610066578063ce6b5b0414610350578063e2d8b9c714610363578063fc0c546a1461037657600080fd5b8063c616f21d1461032a578063c83909f61461033d57600080fd5b8063a3099cac116100b2578063a3099cac146102bd578063ac9650d8146102d0578063b269681d146102f057600080fd5b80639ae3be291461028a578063a2576e7e1461029d57600080fd5b80635c42187f1161012457806389a7f48e1161010957806389a7f48e146102355780638bb185441461025857806394739e871461026357600080fd5b80635c42187f1461020d5780635f9b7b471461022257600080fd5b80630f443671116101555780630f443671146101ba5780633203872d146101da578063370ab341146101fa57600080fd5b806301ffc9a7146101715780630aa8610614610199575b600080fd5b61018461017f3660046120a1565b61039c565b60405190151581526020015b60405180910390f35b6101ac6101a73660046120fb565b6103f8565b604051908152602001610190565b6101cd6101c836600461219f565b610403565b6040516101909190612287565b6101e563f7d7198281565b60405163ffffffff9091168152602001610190565b6101cd6102083660046122f7565b610462565b61022061021b366004612382565b6104cb565b005b6101cd6102303660046123e3565b61058c565b610184610243366004612486565b60026020526000908152604090205460ff1681565b6101e563a681b76381565b6101ac7f3c4eccc58df3b1fa05ba717589f6675a1af0cfee2fe59126957513d39f45d1ce81565b6101cd61029836600461249f565b6105ec565b6102b06102ab3660046120fb565b61064f565b6040516101909190612507565b6102206102cb36600461251a565b61065a565b6102e36102de366004612583565b6106fe565b60405161019091906125f8565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610190565b6101cd610338366004612678565b6107f3565b61022061034b366004612382565b61084c565b61022061035e36600461251a565b6108ad565b6101cd6103713660046126e9565b6108f3565b7f0000000000000000000000000000000000000000000000000000000000000000610312565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f979d37f30000000000000000000000000000000000000000000000000000000014806103f257506103f282610e41565b92915050565b60006103f282610ed8565b6104426040518060c00160405280600063ffffffff16815260200160008152602001600081526020016000815260200160608152602001606081525090565b6104548a428b8b8b8b8b8b8b8b610eeb565b9a9950505050505050505050565b6104a16040518060c00160405280600063ffffffff16815260200160008152602001600081526020016000815260200160608152602001606081525090565b6104be89426104b281610e1061277a565b8b8b8b8b8b8b8b610eeb565b9998505050505050505050565b6002600054036105225760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260005560408051602081018590528082018490527fff0000000000000000000000000000000000000000000000000000000000000060f884901b166060820152815180820360410181526061909101909152610581908590611026565b505060016000555050565b6105cb6040518060c00160405280600063ffffffff16815260200160008152602001600081526020016000815260200160608152602001606081525090565b6105dd8b8b8b8b8b8b8b8b8b8b610eeb565b9b9a5050505050505050505050565b61062b6040518060c00160405280600063ffffffff16815260200160008152602001600081526020016000815260200160608152602001606081525090565b610645864261063c81610e1061277a565b888888886110b7565b9695505050505050565b60606103f2826111da565b6002600054036106ac5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610519565b60026000819055506106f48383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061102692505050565b5050600160005550565b60608167ffffffffffffffff8111156107195761071961278d565b60405190808252806020026020018201604052801561074c57816020015b60608152602001906001900390816107375790505b50905060005b828110156107ec576107bc30858584818110610770576107706127a3565b905060200281019061078291906127b9565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061170192505050565b8282815181106107ce576107ce6127a3565b602002602001018190525080806107e49061281e565b915050610752565b5092915050565b6108326040518060c00160405280600063ffffffff16815260200160008152602001600081526020016000815260200160608152602001606081525090565b610841874288888888886110b7565b979650505050505050565b60408051602081018590528082018490527fff0000000000000000000000000000000000000000000000000000000000000060f884901b1660608201528151808203604101815260619091019091526108a6908590611726565b5050505050565b6108ed8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061172692505050565b50505050565b6109326040518060c00160405280600063ffffffff16815260200160008152602001600081526020016000815260200160608152602001606081525090565b610941888888888888886110b7565b98975050505050505050565b6060600061095e60808401846127b9565b81019061096b9190612910565b60a001519392505050565b60008061098660808401846127b9565b8101906109939190612910565b519392505050565b60006109aa60808301836127b9565b8101906109b79190612910565b8051604082015160608301516080840151939450610a2a936001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001693927f0000000000000000000000000000000000000000000000000000000000000000926000199283929190610b61565b602081015115610a915780516020820151610a91916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016917f000000000000000000000000000000000000000000000000000000000000000090610da0565b5050565b60606000610aa660808401846127b9565b810190610ab391906129bd565b604001519392505050565b600080610ace60808401846127b9565b81019061099391906129bd565b6000610aea60808301836127b9565b810190610af791906129bd565b602081015190915015610a915780516020820151610a91916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016917f000000000000000000000000000000000000000000000000000000000000000090610da0565b6040517f7ecebe000000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152600091908a1690637ecebe0090602401602060405180830381865afa158015610bc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be89190612a5b565b6040517fd505accf0000000000000000000000000000000000000000000000000000000081526001600160a01b038a811660048301528981166024830152604482018990526064820188905260ff8716608483015260a4820186905260c48201859052919250908a169063d505accf9060e401600060405180830381600087803b158015610c7557600080fd5b505af1158015610c89573d6000803e3d6000fd5b50506040517f7ecebe000000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152600093508c169150637ecebe0090602401602060405180830381865afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d139190612a5b565b9050610d2082600161277a565b8114610d945760405162461bcd60e51b815260206004820152602160248201527f5361666545524332303a207065726d697420646964206e6f742073756363656560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610519565b50505050505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526108ed90859061184e565b6060610e378484600085611938565b90505b9392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f4c32b3500000000000000000000000000000000000000000000000000000000014806103f257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146103f2565b60006103f2610ee6836111da565b611a75565b610f2a6040518060c00160405280600063ffffffff16815260200160008152602001600081526020016000815260200160608152602001606081525090565b6040518060c001604052807fa681b7637c5ed2feda69f41cc9a534ac17fcd118d80d10db879b348157ebd93460e01c63ffffffff1681526020018c81526020018b81526020018a81526020016040518060c001604052808b6001600160a01b031681526020018a81526020018960ff16815260200188815260200187815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050915250604051610ff39190602001612a74565b60408051601f1981840301815291815290825280516020818101909252600081529101529b9a5050505050505050505050565b60006110328383611726565b600081815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055905061107483611ab0565b807fd193a54dd0b0b5884cffc665f0803faa8d7f44280881b0a277878158bebd4c5d336040516001600160a01b03909116815260200160405180910390a2505050565b6110f66040518060c00160405280600063ffffffff16815260200160008152602001600081526020016000815260200160608152602001606081525090565b6040518060c001604052807ff7d719823c8a23d19efc4eacc1963ff9c7d7bcf57ddbb5747243f182c5dc0b4e60e01c63ffffffff1681526020018981526020018881526020018781526020016040518060600160405280886001600160a01b0316815260200187815260200186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040516111aa9190602001612acd565b60408051601f19818403018152918152908252805160208181019092526000815291015298975050505050505050565b60606111e582611aff565b6040516020016111f59190612b05565b60408051601f198184030181529190526112126020840184612b2a565b6040517f6900a3ae00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015273D27464A4f21C2c08888A0F37fEF82199BAFabC4890636900a3ae90602401600060405180830381865af4158015611281573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112a99190810190612b50565b6040516020016112b99190612bbe565b60408051808303601f19018152908290527f6900a3ae000000000000000000000000000000000000000000000000000000008252602085013560048301529073D27464A4f21C2c08888A0F37fEF82199BAFabC4890636900a3ae90602401600060405180830381865af4158015611334573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261135c9190810190612b50565b60405160200161136c9190612c0e565b60408051808303601f190181528282527f4b2dd5190000000000000000000000000000000000000000000000000000000083529086013564ffffffffff1660048301529073D27464A4f21C2c08888A0F37fEF82199BAFabC4890634b2dd51990602401600060405180830381865af41580156113ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114149190810190612b50565b6040516020016114249190612c5e565b60408051808303601f19018152908290527f4b2dd519000000000000000000000000000000000000000000000000000000008252606087013564ffffffffff1660048301529073D27464A4f21C2c08888A0F37fEF82199BAFabC4890634b2dd51990602401600060405180830381865af41580156114a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114ce9190810190612b50565b6040516020016114de9190612cae565b60408051601f198184030181529190526114fb60808801886127b9565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040517f71aad10d00000000000000000000000000000000000000000000000000000000815273D27464A4f21C2c08888A0F37fEF82199BAFabC48936371aad10d935061157e925090600401612507565b600060405180830381865af415801561159b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115c39190810190612b50565b6040516020016115d39190612ce6565b60408051601f198184030181529190526115f060a08901896127b9565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040517f71aad10d00000000000000000000000000000000000000000000000000000000815273D27464A4f21C2c08888A0F37fEF82199BAFabC48936371aad10d9350611673925090600401612507565b600060405180830381865af4158015611690573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116b89190810190612b50565b6040516020016116c89190612d36565b60408051601f19818403018152908290526116eb97969594939291602001612d7b565b6040516020818303038152906040529050919050565b6060610e3a8383604051806060016040528060278152602001612f7260279139611b39565b6000826040013542101561176c57604080517fb27ee6fc000000000000000000000000000000000000000000000000000000008152908401356004820152602401610519565b42836060013510156117b0576040517ff80dbaea00000000000000000000000000000000000000000000000000000000815260608401356004820152602401610519565b6117b983610ed8565b60008181526002602052604090205490915060ff1615611805576040517f86a77a9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61181861181184611c23565b8284611c68565b6103f2576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006118a3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e289092919063ffffffff16565b80519091501561193357808060200190518101906118c19190612e42565b6119335760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610519565b505050565b6060824710156119b05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610519565b6001600160a01b0385163b611a075760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610519565b600080866001600160a01b03168587604051611a239190612e64565b60006040518083038185875af1925050503d8060008114611a60576040519150601f19603f3d011682016040523d82523d6000602084013e611a65565b606091505b5091509150610841828286611def565b6000611a818251611e28565b82604051602001611a93929190612e80565b604051602081830303815290604052805190602001209050919050565b611afc8160016000611ac56020840184612b2a565b63ffffffff908116825260208201929092526040016000205470010000000000000000000000000000000090048015612097021716565b50565b60606103f28260016000611b166020840184612b2a565b63ffffffff90811682526020820192909252604001600020546120978115021716565b60606001600160a01b0384163b611bb85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610519565b600080856001600160a01b031685604051611bd39190612e64565b600060405180830381855af49150503d8060008114611c0e576040519150601f19603f3d011682016040523d82523d6000602084013e611c13565b606091505b5091509150610645828286611def565b60006103f282600183611c396020840184612b2a565b63ffffffff90811682526020820192909252604001600020546801000000000000000090048015612097021716565b6000806000611c778585611f65565b90925090506000816004811115611c9057611c90612edb565b148015611cae5750856001600160a01b0316826001600160a01b0316145b15611cbe57600192505050610e3a565b600080876001600160a01b0316631626ba7e60e01b8888604051602401611ce6929190612ef1565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051611d519190612e64565b600060405180830381855afa9150503d8060008114611d8c576040519150601f19603f3d011682016040523d82523d6000602084013e611d91565b606091505b5091509150818015611da4575080516020145b8015610941575080517f1626ba7e0000000000000000000000000000000000000000000000000000000090611de29083016020908101908401612a5b565b1498975050505050505050565b60608315611dfe575081610e3a565b825115611e0e5782518084602001fd5b8160405162461bcd60e51b81526004016105199190612507565b606081600003611e6b57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611e955780611e7f8161281e565b9150611e8e9050600a83612f20565b9150611e6f565b60008167ffffffffffffffff811115611eb057611eb061278d565b6040519080825280601f01601f191660200182016040528015611eda576020820181803683370190505b5090505b8415611f5d57611eef600183612f34565b9150611efc600a86612f47565b611f0790603061277a565b60f81b818381518110611f1c57611f1c6127a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611f56600a86612f20565b9450611ede565b949350505050565b6000808251604103611f9b5760208301516040840151606085015160001a611f8f87828585611faa565b94509450505050611fa3565b506000905060025b9250929050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe1575060009050600361208e565b8460ff16601b14158015611ff957508460ff16601c14155b1561200a575060009050600461208e565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561205e573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120875760006001925092505061208e565b9150600090505b94509492505050565b61209f612f5b565b565b6000602082840312156120b357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e3a57600080fd5b600060c082840312156120f557600080fd5b50919050565b60006020828403121561210d57600080fd5b813567ffffffffffffffff81111561212457600080fd5b611f5d848285016120e3565b80356001600160a01b038116811461214757600080fd5b919050565b803560ff8116811461214757600080fd5b60008083601f84011261216f57600080fd5b50813567ffffffffffffffff81111561218757600080fd5b602083019150836020828501011115611fa357600080fd5b60008060008060008060008060006101008a8c0312156121be57600080fd5b8935985060208a013597506121d560408b01612130565b965060608a013595506121ea60808b0161214c565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff81111561221457600080fd5b6122208c828d0161215d565b915080935050809150509295985092959850929598565b60005b8381101561225257818101518382015260200161223a565b50506000910152565b60008151808452612273816020860160208601612237565b601f01601f19169290920160200192915050565b6020815263ffffffff82511660208201526020820151604082015260408201516060820152606082015160808201526000608083015160c060a08401526122d160e084018261225b565b905060a0840151601f198483030160c08501526122ee828261225b565b95945050505050565b60008060008060008060008060e0898b03121561231357600080fd5b8835975061232360208a01612130565b96506040890135955061233860608a0161214c565b94506080890135935060a0890135925060c089013567ffffffffffffffff81111561236257600080fd5b61236e8b828c0161215d565b999c989b5096995094979396929594505050565b6000806000806080858703121561239857600080fd5b843567ffffffffffffffff8111156123af57600080fd5b6123bb878288016120e3565b94505060208501359250604085013591506123d86060860161214c565b905092959194509250565b6000806000806000806000806000806101208b8d03121561240357600080fd5b8a35995060208b0135985060408b0135975061242160608c01612130565b965060808b0135955061243660a08c0161214c565b945060c08b0135935060e08b013592506101008b013567ffffffffffffffff81111561246157600080fd5b61246d8d828e0161215d565b915080935050809150509295989b9194979a5092959850565b60006020828403121561249857600080fd5b5035919050565b6000806000806000608086880312156124b757600080fd5b853594506124c760208701612130565b935060408601359250606086013567ffffffffffffffff8111156124ea57600080fd5b6124f68882890161215d565b969995985093965092949392505050565b602081526000610e3a602083018461225b565b60008060006040848603121561252f57600080fd5b833567ffffffffffffffff8082111561254757600080fd5b612553878388016120e3565b9450602086013591508082111561256957600080fd5b506125768682870161215d565b9497909650939450505050565b6000806020838503121561259657600080fd5b823567ffffffffffffffff808211156125ae57600080fd5b818501915085601f8301126125c257600080fd5b8135818111156125d157600080fd5b8660208260051b85010111156125e657600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561266b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261265985835161225b565b9450928501929085019060010161261f565b5092979650505050505050565b60008060008060008060a0878903121561269157600080fd5b86359550602087013594506126a860408801612130565b935060608701359250608087013567ffffffffffffffff8111156126cb57600080fd5b6126d789828a0161215d565b979a9699509497509295939492505050565b600080600080600080600060c0888a03121561270457600080fd5b87359650602088013595506040880135945061272260608901612130565b93506080880135925060a088013567ffffffffffffffff81111561274557600080fd5b6127518a828b0161215d565b989b979a50959850939692959293505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156103f2576103f2612764565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126127ee57600080fd5b83018035915067ffffffffffffffff82111561280957600080fd5b602001915036819003821315611fa357600080fd5b6000600019820361283157612831612764565b5060010190565b60405160c0810167ffffffffffffffff8111828210171561285b5761285b61278d565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561288a5761288a61278d565b604052919050565b600067ffffffffffffffff8211156128ac576128ac61278d565b50601f01601f191660200190565b600082601f8301126128cb57600080fd5b81356128de6128d982612892565b612861565b8181528460208386010111156128f357600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561292257600080fd5b813567ffffffffffffffff8082111561293a57600080fd5b9083019060c0828603121561294e57600080fd5b612956612838565b61295f83612130565b8152602083013560208201526129776040840161214c565b6040820152606083013560608201526080830135608082015260a0830135828111156129a257600080fd5b6129ae878286016128ba565b60a08301525095945050505050565b6000602082840312156129cf57600080fd5b813567ffffffffffffffff808211156129e757600080fd5b90830190606082860312156129fb57600080fd5b604051606081018181108382111715612a1657612a1661278d565b604052612a2283612130565b815260208301356020820152604083013582811115612a4057600080fd5b612a4c878286016128ba565b60408301525095945050505050565b600060208284031215612a6d57600080fd5b5051919050565b602081526001600160a01b0382511660208201526020820151604082015260ff604083015116606082015260608201516080820152608082015160a0820152600060a083015160c080840152611f5d60e084018261225b565b602081526001600160a01b0382511660208201526020820151604082015260006040830151606080840152611f5d608084018261225b565b60008251612b17818460208701612237565b600560f91b920191825250600101919050565b600060208284031215612b3c57600080fd5b813563ffffffff81168114610e3a57600080fd5b600060208284031215612b6257600080fd5b815167ffffffffffffffff811115612b7957600080fd5b8201601f81018413612b8a57600080fd5b8051612b986128d982612892565b818152856020838501011115612bad57600080fd5b6122ee826020830160208601612237565b7f7461673a20000000000000000000000000000000000000000000000000000000815260008251612bf6816005850160208701612237565b600560f91b6005939091019283015250600601919050565b7f6e6f6e63653a2000000000000000000000000000000000000000000000000000815260008251612c46816007850160208701612237565b600560f91b6007939091019283015250600801919050565b7f76616c69642073696e63653a2000000000000000000000000000000000000000815260008251612c9681600d850160208701612237565b600560f91b600d939091019283015250600e01919050565b7f76616c696420756e74696c3a2000000000000000000000000000000000000000815260008251612c9681600d850160208701612237565b7f7061796c6f61643a200000000000000000000000000000000000000000000000815260008251612d1e816009850160208701612237565b600560f91b6009939091019283015250600a01919050565b7f6d657461646174613a2000000000000000000000000000000000000000000000815260008251612d6e81600a850160208701612237565b91909101600a0192915050565b600088516020612d8e8285838e01612237565b81840191507f2d2d2d0a00000000000000000000000000000000000000000000000000000000825260048a51612dc981838601858f01612237565b8a51930192612ddd81838601858e01612237565b8951930192612df181838601858d01612237565b8851930192612e0581838601858c01612237565b8751930192612e1981838601858b01612237565b8651930192612e2d81838601858a01612237565b929092019091019a9950505050505050505050565b600060208284031215612e5457600080fd5b81518015158114610e3a57600080fd5b60008251612e76818460208701612237565b9190910192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a000000000000815260008351612eb881601a850160208801612237565b835190830190612ecf81601a840160208801612237565b01601a01949350505050565b634e487b7160e01b600052602160045260246000fd5b828152604060208201526000610e37604083018461225b565b634e487b7160e01b600052601260045260246000fd5b600082612f2f57612f2f612f0a565b500490565b818103818111156103f2576103f2612764565b600082612f5657612f56612f0a565b500690565b634e487b7160e01b600052605160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220baef73bfb0744f7baed3bebd7058c3c9f7a66417a3e6a3997c174db206c54a5464736f6c63430008110033";

@@ -598,0 +1017,0 @@ export class BarGateway__factory extends ContractFactory {

@@ -11,2 +11,34 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "AlreadyServed",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
],
name: "Expired",
type: "error",
},
{
inputs: [],
name: "InvalidSignature",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
],
name: "NotYetActive",
type: "error",
},
{
anonymous: false,

@@ -59,6 +91,11 @@ inputs: [

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -125,6 +162,11 @@ name: "payload",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -145,6 +187,16 @@ name: "payload",

{
internalType: "bytes",
name: "signature",
type: "bytes",
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -172,6 +224,11 @@ name: "serveVoucher",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -192,16 +249,6 @@ name: "payload",

{
internalType: "bytes32",
name: "r",
type: "bytes32",
internalType: "bytes",
name: "signature",
type: "bytes",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -229,6 +276,11 @@ name: "serveVoucher",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -295,6 +347,11 @@ name: "payload",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -315,6 +372,16 @@ name: "payload",

{
internalType: "bytes",
name: "signature",
type: "bytes",
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -342,6 +409,11 @@ name: "validateVoucher",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -362,16 +434,6 @@ name: "payload",

{
internalType: "bytes32",
name: "r",
type: "bytes32",
internalType: "bytes",
name: "signature",
type: "bytes",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -378,0 +440,0 @@ name: "validateVoucher",

@@ -11,2 +11,34 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "AlreadyServed",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
],
name: "Expired",
type: "error",
},
{
inputs: [],
name: "InvalidSignature",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
],
name: "NotYetActive",
type: "error",
},
{
anonymous: false,

@@ -51,2 +83,7 @@ inputs: [

{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "address",

@@ -62,2 +99,17 @@ name: "from",

{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "string",

@@ -68,3 +120,3 @@ name: "message",

],
name: "buildPurchaseVoucher",
name: "buildPermitAndPurchaseVoucher",
outputs: [

@@ -85,6 +137,11 @@ {

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -116,7 +173,93 @@ name: "payload",

{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "uint256",
name: "deadline",
name: "amount",
type: "uint256",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "string",
name: "message",
type: "string",
},
],
name: "buildPermitAndPurchaseVoucher",
outputs: [
{
components: [
{
internalType: "uint32",
name: "tag",
type: "uint32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",
name: "payload",
type: "bytes",
},
{
internalType: "bytes",
name: "metadata",
type: "bytes",
},
],
internalType: "struct IGateway.Voucher",
name: "voucher",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "address",

@@ -132,2 +275,17 @@ name: "from",

{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "string",

@@ -138,3 +296,3 @@ name: "message",

],
name: "buildPurchaseVoucher",
name: "buildPermitAndPurchaseVoucher",
outputs: [

@@ -155,6 +313,11 @@ {

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -179,11 +342,135 @@ name: "payload",

{
inputs: [],
name: "destination",
inputs: [
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "string",
name: "message",
type: "string",
},
],
name: "buildPurchaseVoucher",
outputs: [
{
components: [
{
internalType: "uint32",
name: "tag",
type: "uint32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",
name: "payload",
type: "bytes",
},
{
internalType: "bytes",
name: "metadata",
type: "bytes",
},
],
internalType: "struct IGateway.Voucher",
name: "voucher",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "address",
name: "theDestination",
name: "from",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "string",
name: "message",
type: "string",
},
],
name: "buildPurchaseVoucher",
outputs: [
{
components: [
{
internalType: "uint32",
name: "tag",
type: "uint32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",
name: "payload",
type: "bytes",
},
{
internalType: "bytes",
name: "metadata",
type: "bytes",
},
],
internalType: "struct IGateway.Voucher",
name: "voucher",
type: "tuple",
},
],
stateMutability: "view",

@@ -195,2 +482,35 @@ type: "function",

{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "string",
name: "message",
type: "string",
},
],
name: "buildPurchaseVoucher",
outputs: [
{
components: [

@@ -209,6 +529,11 @@ {

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -229,8 +554,13 @@ name: "payload",

],
name: "hashVoucher",
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "destination",
outputs: [
{
internalType: "bytes32",
name: "voucherHash",
type: "bytes32",
internalType: "address",
name: "theDestination",
type: "address",
},

@@ -257,6 +587,11 @@ ],

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -276,11 +611,12 @@ name: "payload",

},
],
name: "hashVoucher",
outputs: [
{
internalType: "bytes",
name: "signature",
type: "bytes",
internalType: "bytes32",
name: "voucherHash",
type: "bytes32",
},
],
name: "serveVoucher",
outputs: [],
stateMutability: "nonpayable",
stateMutability: "view",
type: "function",

@@ -304,6 +640,11 @@ },

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -360,6 +701,11 @@ name: "payload",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -379,3 +725,53 @@ name: "payload",

},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
name: "serveVoucher",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "uint32",
name: "tag",
type: "uint32",
},
{
internalType: "uint256",
name: "nonce",
type: "uint256",
},
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",
name: "payload",
type: "bytes",
},
{
internalType: "bytes",
name: "metadata",
type: "bytes",
},
],
internalType: "struct IGateway.Voucher",
name: "voucher",
type: "tuple",
},
],
name: "stringifyVoucher",

@@ -421,6 +817,11 @@ outputs: [

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -441,6 +842,16 @@ name: "payload",

{
internalType: "bytes",
name: "signature",
type: "bytes",
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -468,6 +879,11 @@ name: "validateVoucher",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -488,16 +904,6 @@ name: "payload",

{
internalType: "bytes32",
name: "r",
type: "bytes32",
internalType: "bytes",
name: "signature",
type: "bytes",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -504,0 +910,0 @@ name: "validateVoucher",

@@ -11,2 +11,34 @@ /* Autogenerated file. Do not edit manually. */

{
inputs: [],
name: "AlreadyServed",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
],
name: "Expired",
type: "error",
},
{
inputs: [],
name: "InvalidSignature",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "validSince",
type: "uint256",
},
],
name: "NotYetActive",
type: "error",
},
{
anonymous: false,

@@ -59,6 +91,11 @@ inputs: [

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -106,6 +143,11 @@ name: "payload",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -126,6 +168,16 @@ name: "payload",

{
internalType: "bytes",
name: "signature",
type: "bytes",
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -153,6 +205,11 @@ name: "serveVoucher",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -173,16 +230,6 @@ name: "payload",

{
internalType: "bytes32",
name: "r",
type: "bytes32",
internalType: "bytes",
name: "signature",
type: "bytes",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -210,6 +257,11 @@ name: "serveVoucher",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -257,6 +309,11 @@ name: "payload",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -277,6 +334,16 @@ name: "payload",

{
internalType: "bytes",
name: "signature",
type: "bytes",
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -304,6 +371,11 @@ name: "validateVoucher",

internalType: "uint256",
name: "deadline",
name: "validSince",
type: "uint256",
},
{
internalType: "uint256",
name: "validUntil",
type: "uint256",
},
{
internalType: "bytes",

@@ -324,16 +396,6 @@ name: "payload",

{
internalType: "bytes32",
name: "r",
type: "bytes32",
internalType: "bytes",
name: "signature",
type: "bytes",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],

@@ -340,0 +402,0 @@ name: "validateVoucher",

@@ -13,2 +13,51 @@ /* Autogenerated file. Do not edit manually. */

{
internalType: "uint256",
name: "epoch",
type: "uint256",
},
],
name: "EpochTimeTooBig",
type: "error",
},
{
inputs: [
{
internalType: "Epoch",
name: "epoch",
type: "uint40",
},
{
internalType: "Quarters",
name: "tzOffset",
type: "int8",
},
],
name: "EpochTimeTooSmallForTimezoneOffset",
type: "error",
},
{
inputs: [
{
internalType: "Quarters",
name: "tzOffset",
type: "int8",
},
],
name: "TimezoneOffsetTooBig",
type: "error",
},
{
inputs: [
{
internalType: "Quarters",
name: "tzOffset",
type: "int8",
},
],
name: "TimezoneOffsetTooSmall",
type: "error",
},
{
inputs: [
{
internalType: "bytes25",

@@ -808,3 +857,3 @@ name: "value",

const _bytecode =
"0x61353661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106102dd5760003560e01c80637dde1e4b11610190578063b11a19e8116100ed578063c5f36d69116100a1578063e0b881ed1161007b578063e0b881ed146105ca578063e2d43d9a146105dd578063e378819b146105f057600080fd5b8063c5f36d6914610591578063da4042ca146105a4578063da65eecd146105b757600080fd5b8063b5745377116100d2578063b574537714610558578063bba526711461056b578063c134f76b1461057e57600080fd5b8063b11a19e814610532578063b332d2d91461054557600080fd5b80639dc8e87c11610144578063a322c40e11610129578063a322c40e146104f9578063ae35901a1461050c578063ae86a9531461051f57600080fd5b80639dc8e87c146104d3578063a1fa2a03146104e657600080fd5b806384b0722c1161017557806384b0722c1461049a578063869e8692146104ad57806399f0e287146104c057600080fd5b80637dde1e4b1461047457806381527d6f1461048757600080fd5b806367acea2b1161023e57806371dce7da116101f25780637500547b116101d75780637500547b1461043b5780637cd0fc941461044e5780637d85fb431461046157600080fd5b806371dce7da146104155780637214675b1461042857600080fd5b80636d4e3940116102235780636d4e3940146103dc5780636e517b3d146103ef57806371aad10d1461040257600080fd5b806367acea2b146103b65780636900a3ae146103c957600080fd5b806335e6a92e116102955780634b2dd5191161027a5780634b2dd5191461037d57806356ca623e146103905780635b1e0ff6146103a357600080fd5b806335e6a92e14610357578063415912811461036a57600080fd5b80632b50f9b1116102c65780632b50f9b11461031e5780633099b01914610331578063338dc7fd1461034457600080fd5b80630cd5903e146102e25780630f9243d61461030b575b600080fd5b6102f56102f0366004612995565b610603565b60405161030291906129fb565b60405180910390f35b6102f5610319366004612a2e565b610695565b6102f561032c366004612a8a565b610716565b6102f561033f366004612ac7565b610f13565b6102f5610352366004612b1a565b610f94565b6102f5610365366004612b46565b611235565b6102f5610378366004612b88565b6112b6565b6102f561038b366004612bca565b611337565b6102f561039e366004612be5565b611344565b6102f56103b1366004612c1b565b61151d565b6102f56103c4366004612c5d565b61159e565b6102f56103d7366004612c9f565b61161f565b6102f56103ea366004612cb8565b61162c565b6102f56103fd366004612cfa565b6116ad565b6102f5610410366004612d52565b61172e565b6102f5610423366004612e03565b61191b565b6102f5610436366004612e25565b611996565b6102f5610449366004612e67565b611a17565b6102f561045c366004612ea9565b611a98565b6102f561046f366004612eeb565b611b19565b6102f5610482366004612f2d565b611b9a565b6102f5610495366004612f6f565b611c1b565b6102f56104a8366004612fb1565b611c9c565b6102f56104bb366004612ff3565b611d1d565b6102f56104ce366004613035565b611d9e565b6102f56104e1366004613077565b611e1f565b6102f56104f43660046130b9565b611ea0565b6102f5610507366004612c9f565b611f21565b6102f561051a3660046130fb565b611f2e565b6102f561052d36600461313d565b611faf565b6102f5610540366004612c9f565b612030565b6102f561055336600461317f565b6120b1565b6102f56105663660046131c1565b612132565b6102f5610579366004613203565b6121b3565b6102f561058c366004613245565b612234565b6102f561059f366004613287565b6122b5565b6102f56105b2366004612b1a565b612336565b6102f56105c53660046132c9565b6123b4565b6102f56105d836600461330b565b612435565b6102f56105eb36600461334d565b6124b6565b6102f56105fe36600461338f565b612537565b6040805160198082528183019092526060916000919060208201818036833701905050905060005b601960ff8216101561068457838160ff166019811061064c5761064c6133d1565b1a60f81b828260ff1681518110610665576106656133d1565b60200101906001600160f81b031916908160001a90535060010161062b565b5061068e8161172e565b9392505050565b60408051600e8082528183019092526060916000919060208201818036833701905050905060005b600e60ff8216101561068457838160ff16600e81106106de576106de6133d1565b1a60f81b828260ff16815181106106f7576106f76133d1565b60200101906001600160f81b031916908160001a9053506001016106bd565b60607f3031323334353637383900000000000000000000000000000000000000000000600061074585856125b8565b60408051808201909152601381527f303030302d30302d30305430303a30303a30300000000000000000000000000060208201528151919250908390600a906103e8900406600a811061079a5761079a6133d1565b1a60f81b816000815181106107b1576107b16133d1565b60200101906001600160f81b031916908160001a90535082600a60648460000151816107df576107df6133e7565b04816107ed576107ed6133e7565b06600a81106107fe576107fe6133d1565b1a60f81b81600181518110610815576108156133d1565b60200101906001600160f81b031916908160001a90535082600a80846000015181610842576108426133e7565b0481610850576108506133e7565b06600a8110610861576108616133d1565b1a60f81b81600281518110610878576108786133d1565b60200101906001600160f81b031916908160001a90535081518390600a9006600a81106108a7576108a76133d1565b1a60f81b816003815181106108be576108be6133d1565b60200101906001600160f81b031916908160001a90535082600a808460200151816108eb576108eb6133e7565b04816108f9576108f96133e7565b06600a811061090a5761090a6133d1565b1a60f81b81600581518110610921576109216133d1565b60200101906001600160f81b031916908160001a90535082600a83602001518161094d5761094d6133e7565b06600a811061095e5761095e6133d1565b1a60f81b81600681518110610975576109756133d1565b60200101906001600160f81b031916908160001a90535082600a808460400151816109a2576109a26133e7565b04816109b0576109b06133e7565b06600a81106109c1576109c16133d1565b1a60f81b816008815181106109d8576109d86133d1565b60200101906001600160f81b031916908160001a90535082600a836040015181610a0457610a046133e7565b06600a8110610a1557610a156133d1565b1a60f81b81600981518110610a2c57610a2c6133d1565b60200101906001600160f81b031916908160001a90535082600a80846060015181610a5957610a596133e7565b0481610a6757610a676133e7565b06600a8110610a7857610a786133d1565b1a60f81b81600b81518110610a8f57610a8f6133d1565b60200101906001600160f81b031916908160001a90535082600a836060015181610abb57610abb6133e7565b06600a8110610acc57610acc6133d1565b1a60f81b81600c81518110610ae357610ae36133d1565b60200101906001600160f81b031916908160001a90535082600a80846080015181610b1057610b106133e7565b0481610b1e57610b1e6133e7565b06600a8110610b2f57610b2f6133d1565b1a60f81b81600e81518110610b4657610b466133d1565b60200101906001600160f81b031916908160001a90535082600a836080015181610b7257610b726133e7565b06600a8110610b8357610b836133d1565b1a60f81b81600f81518110610b9a57610b9a6133d1565b60200101906001600160f81b031916908160001a90535082600a808460a0015181610bc757610bc76133e7565b0481610bd557610bd56133e7565b06600a8110610be657610be66133d1565b1a60f81b81601181518110610bfd57610bfd6133d1565b60200101906001600160f81b031916908160001a90535082600a8360a0015181610c2957610c296133e7565b06600a8110610c3a57610c3a6133d1565b1a60f81b81601281518110610c5157610c516133d1565b60200101906001600160f81b031916908160001a9053508460000b600003610c9d5780604051602001610c8491906133fd565b6040516020818303038152906040529350505050610f0d565b60408051808201909152600681527f2030303a303000000000000000000000000000000000000000000000000000006020820152600086810b811315610d36577f2d0000000000000000000000000000000000000000000000000000000000000082600081518110610d1157610d116133d1565b60200101906001600160f81b031916908160001a9053505060c0830151600003610d88565b7f2b0000000000000000000000000000000000000000000000000000000000000082600081518110610d6a57610d6a6133d1565b60200101906001600160f81b031916908160001a9053505060c08301515b84600a8060ff84160460ff1681610da157610da16133e7565b0660ff16600a8110610db557610db56133d1565b1a60f81b82600181518110610dcc57610dcc6133d1565b60200101906001600160f81b031916908160001a90535084600a60ff83160660ff16600a8110610dfe57610dfe6133d1565b1a60f81b82600281518110610e1557610e156133d1565b60200101906001600160f81b031916908160001a90535084600a808660e0015181610e4257610e426133e7565b0481610e5057610e506133e7565b06600a8110610e6157610e616133d1565b1a60f81b82600481518110610e7857610e786133d1565b60200101906001600160f81b031916908160001a90535084600a8560e0015181610ea457610ea46133e7565b06600a8110610eb557610eb56133d1565b1a60f81b82600581518110610ecc57610ecc6133d1565b60200101906001600160f81b031916908160001a9053508282604051602001610ef692919061343e565b604051602081830303815290604052955050505050505b92915050565b6040805160058082528183019092526060916000919060208201818036833701905050905060005b600560ff8216101561068457838160ff1660058110610f5c57610f5c6133d1565b1a60f81b828260ff1681518110610f7557610f756133d1565b60200101906001600160f81b031916908160001a905350600101610f3b565b606060007f3031323334353637383900000000000000000000000000000000000000000000905060006040518060800160405280604e81526020016134b3604e91399050604e5b8460ff166000108015610fef5750600a8606155b1561100657600a8604955060001990940193610fdb565b60ff8516156110cc575b60ff8516156110775782600a8706600a811061102e5761102e6133d1565b1a60f81b82826001900392508260ff168151811061104e5761104e6133d1565b60200101906001600160f81b031916908160001a905350600a8604955060001990940193611010565b7f2e0000000000000000000000000000000000000000000000000000000000000082826001900392508260ff16815181106110b4576110b46133d1565b60200101906001600160f81b031916908160001a9053505b85600003611113578260001a60f81b82826001900392508260ff16815181106110f7576110f76133d1565b60200101906001600160f81b031916908160001a905350611170565b85156111705782600a8706600a811061112e5761112e6133d1565b1a60f81b82826001900392508260ff168151811061114e5761114e6133d1565b60200101906001600160f81b031916908160001a905350600a86049550611113565b600081604e0360ff1667ffffffffffffffff81111561119157611191612d3c565b6040519080825280601f01601f1916602001820160405280156111bb576020820181803683370190505b50905060005b604e8360ff16101561122a57838380600101945060ff16815181106111e8576111e86133d1565b602001015160f81c60f81b828280600101935060ff168151811061120e5761120e6133d1565b60200101906001600160f81b031916908160001a9053506111c1565b509695505050505050565b60408051601e8082528183019092526060916000919060208201818036833701905050905060005b601e60ff8216101561068457838160ff16601e811061127e5761127e6133d1565b1a60f81b828260ff1681518110611297576112976133d1565b60200101906001600160f81b031916908160001a90535060010161125d565b6040805160128082528183019092526060916000919060208201818036833701905050905060005b601260ff8216101561068457838160ff16601281106112ff576112ff6133d1565b1a60f81b828260ff1681518110611318576113186133d1565b60200101906001600160f81b031916908160001a9053506001016112de565b6060610f0d826000610716565b60408051602a80825260608281019093527f30313233343536373839616263646566000000000000000000000000000000009184841b91600091906020820181803683370190505090507f3c00000000000000000000000000000000000000000000000000000000000000816000815181106113c2576113c26133d1565b60200101906001600160f81b031916908160001a9053506000600160025b60148310156114c75760008584601481106113fd576113fd6133d1565b1a905086600482901c60ff1660108110611419576114196133d1565b1a60f81b87600f831660108110611432576114326133d1565b1a60f81b868581518110611448576114486133d1565b6020010187858151811061145e5761145e6133d1565b7fff00000000000000000000000000000000000000000000000000000000000000841660001a9101602001537fff00000000000000000000000000000000000000000000000000000000000000831660001a9053505060019093019250600291820191016113e0565b5050507f3e00000000000000000000000000000000000000000000000000000000000000816029815181106114fe576114fe6133d1565b60200101906001600160f81b031916908160001a905350949350505050565b60408051600d8082528183019092526060916000919060208201818036833701905050905060005b600d60ff8216101561068457838160ff16600d8110611566576115666133d1565b1a60f81b828260ff168151811061157f5761157f6133d1565b60200101906001600160f81b031916908160001a905350600101611545565b6040805160068082528183019092526060916000919060208201818036833701905050905060005b600660ff8216101561068457838160ff16600681106115e7576115e76133d1565b1a60f81b828260ff1681518110611600576116006133d1565b60200101906001600160f81b031916908160001a9053506001016115c6565b6060610f0d826000610f94565b6040805160038082528183019092526060916000919060208201818036833701905050905060005b600360ff8216101561068457838160ff1660038110611675576116756133d1565b1a60f81b828260ff168151811061168e5761168e6133d1565b60200101906001600160f81b031916908160001a905350600101611654565b6040805160178082528183019092526060916000919060208201818036833701905050905060005b601760ff8216101561068457838160ff16601781106116f6576116f66133d1565b1a60f81b828260ff168151811061170f5761170f6133d1565b60200101906001600160f81b031916908160001a9053506001016116d5565b80516060907f303132333435363738396162636465660000000000000000000000000000000090600060028083020167ffffffffffffffff81111561177557611775612d3c565b6040519080825280601f01601f19166020018201604052801561179f576020820181803683370190505b5090507f5b00000000000000000000000000000000000000000000000000000000000000816000815181106117d6576117d66133d1565b60200101906001600160f81b031916908160001a9053506000600160025b848310156118df576000888481518110611810576118106133d1565b016020015160f881901c9150879060fc1c60108110611831576118316133d1565b1a60f81b87600f83166010811061184a5761184a6133d1565b1a60f81b868581518110611860576118606133d1565b60200101878581518110611876576118766133d1565b7fff00000000000000000000000000000000000000000000000000000000000000841660001a9101602001537fff00000000000000000000000000000000000000000000000000000000000000831660001a9053505060019093019250600291820191016117f4565b5050507f5d000000000000000000000000000000000000000000000000000000000000008183600202600101815181106114fe576114fe6133d1565b60608161195d576040518060400160405280600581526020017f66616c7365000000000000000000000000000000000000000000000000000000815250610f0d565b505060408051808201909152600481527f7472756500000000000000000000000000000000000000000000000000000000602082015290565b6040805160118082528183019092526060916000919060208201818036833701905050905060005b601160ff8216101561068457838160ff16601181106119df576119df6133d1565b1a60f81b828260ff16815181106119f8576119f86133d1565b60200101906001600160f81b031916908160001a9053506001016119be565b6040805160098082528183019092526060916000919060208201818036833701905050905060005b600960ff8216101561068457838160ff1660098110611a6057611a606133d1565b1a60f81b828260ff1681518110611a7957611a796133d1565b60200101906001600160f81b031916908160001a905350600101611a3f565b60408051601c8082528183019092526060916000919060208201818036833701905050905060005b601c60ff8216101561068457838160ff16601c8110611ae157611ae16133d1565b1a60f81b828260ff1681518110611afa57611afa6133d1565b60200101906001600160f81b031916908160001a905350600101611ac0565b6040805160108082528183019092526060916000919060208201818036833701905050905060005b601060ff8216101561068457838160ff1660108110611b6257611b626133d1565b1a60f81b828260ff1681518110611b7b57611b7b6133d1565b60200101906001600160f81b031916908160001a905350600101611b41565b60408051601d8082528183019092526060916000919060208201818036833701905050905060005b601d60ff8216101561068457838160ff16601d8110611be357611be36133d1565b1a60f81b828260ff1681518110611bfc57611bfc6133d1565b60200101906001600160f81b031916908160001a905350600101611bc2565b60408051600c8082528183019092526060916000919060208201818036833701905050905060005b600c60ff8216101561068457838160ff16600c8110611c6457611c646133d1565b1a60f81b828260ff1681518110611c7d57611c7d6133d1565b60200101906001600160f81b031916908160001a905350600101611c43565b6040805160088082528183019092526060916000919060208201818036833701905050905060005b600860ff8216101561068457838160ff1660088110611ce557611ce56133d1565b1a60f81b828260ff1681518110611cfe57611cfe6133d1565b60200101906001600160f81b031916908160001a905350600101611cc4565b60408051601f8082528183019092526060916000919060208201818036833701905050905060005b601f60ff8216101561068457838160ff16601f8110611d6657611d666133d1565b1a60f81b828260ff1681518110611d7f57611d7f6133d1565b60200101906001600160f81b031916908160001a905350600101611d45565b60408051601b8082528183019092526060916000919060208201818036833701905050905060005b601b60ff8216101561068457838160ff16601b8110611de757611de76133d1565b1a60f81b828260ff1681518110611e0057611e006133d1565b60200101906001600160f81b031916908160001a905350600101611dc6565b6040805160028082528183019092526060916000919060208201818036833701905050905060005b600260ff8216101561068457838160ff1660028110611e6857611e686133d1565b1a60f81b828260ff1681518110611e8157611e816133d1565b60200101906001600160f81b031916908160001a905350600101611e47565b60408051600b8082528183019092526060916000919060208201818036833701905050905060005b600b60ff8216101561068457838160ff16600b8110611ee957611ee96133d1565b1a60f81b828260ff1681518110611f0257611f026133d1565b60200101906001600160f81b031916908160001a905350600101611ec8565b6060610f0d826000612336565b60408051601a8082528183019092526060916000919060208201818036833701905050905060005b601a60ff8216101561068457838160ff16601a8110611f7757611f776133d1565b1a60f81b828260ff1681518110611f9057611f906133d1565b60200101906001600160f81b031916908160001a905350600101611f56565b60408051600f8082528183019092526060916000919060208201818036833701905050905060005b600f60ff8216101561068457838160ff16600f8110611ff857611ff86133d1565b1a60f81b828260ff1681518110612011576120116133d1565b60200101906001600160f81b031916908160001a905350600101611fd7565b6040805160208082528183019092526060916000919060208201818036833701905050905060005b602060ff8216101561068457838160ff1660208110612079576120796133d1565b1a60f81b828260ff1681518110612092576120926133d1565b60200101906001600160f81b031916908160001a905350600101612058565b6040805160048082528183019092526060916000919060208201818036833701905050905060005b600460ff8216101561068457838160ff16600481106120fa576120fa6133d1565b1a60f81b828260ff1681518110612113576121136133d1565b60200101906001600160f81b031916908160001a9053506001016120d9565b6040805160158082528183019092526060916000919060208201818036833701905050905060005b601560ff8216101561068457838160ff166015811061217b5761217b6133d1565b1a60f81b828260ff1681518110612194576121946133d1565b60200101906001600160f81b031916908160001a90535060010161215a565b60408051600a8082528183019092526060916000919060208201818036833701905050905060005b600a60ff8216101561068457838160ff16600a81106121fc576121fc6133d1565b1a60f81b828260ff1681518110612215576122156133d1565b60200101906001600160f81b031916908160001a9053506001016121db565b6040805160188082528183019092526060916000919060208201818036833701905050905060005b601860ff8216101561068457838160ff166018811061227d5761227d6133d1565b1a60f81b828260ff1681518110612296576122966133d1565b60200101906001600160f81b031916908160001a90535060010161225c565b6040805160018082528183019092526060916000919060208201818036833701905050905060005b600160ff8216101561068457838160ff16600181106122fe576122fe6133d1565b1a60f81b828260ff1681518110612317576123176133d1565b60200101906001600160f81b031916908160001a9053506001016122dd565b606060008312156123a35761237d7f800000000000000000000000000000000000000000000000000000000000000084146123745783600003612377565b60005b83610f94565b60405160200161238d919061346d565b6040516020818303038152906040529050610f0d565b6123ad8383610f94565b9050610f0d565b6040805160078082528183019092526060916000919060208201818036833701905050905060005b600760ff8216101561068457838160ff16600781106123fd576123fd6133d1565b1a60f81b828260ff1681518110612416576124166133d1565b60200101906001600160f81b031916908160001a9053506001016123dc565b6040805160138082528183019092526060916000919060208201818036833701905050905060005b601360ff8216101561068457838160ff166013811061247e5761247e6133d1565b1a60f81b828260ff1681518110612497576124976133d1565b60200101906001600160f81b031916908160001a90535060010161245d565b6040805160168082528183019092526060916000919060208201818036833701905050905060005b601660ff8216101561068457838160ff16601681106124ff576124ff6133d1565b1a60f81b828260ff1681518110612518576125186133d1565b60200101906001600160f81b031916908160001a9053506001016124de565b6040805160148082528183019092526060916000919060208201818036833701905050905060005b601460ff8216101561068457838160ff1660148110612580576125806133d1565b1a60f81b828260ff1681518110612599576125996133d1565b60200101906001600160f81b031916908160001a90535060010161255f565b6126026040518061010001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000800b8152602001600081525090565b8160000b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd013156126a05760405162461bcd60e51b815260206004820152602260248201527f537472696e67733a2074696d657a6f6e65206f666673657420746f6f20736d6160448201527f6c6c00000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60388260000b13156126f45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a2074696d657a6f6e65206f666673657420746f6f206269676044820152606401612697565b61273e6040518061010001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000800b8152602001600081525090565b60008360000b6103840290506000808212156127e4578564ffffffffff168260000311156127d45760405162461bcd60e51b815260206004820152603160248201527f537472696e67733a2065706f63682074696d6520746f6f20736d616c6c20666f60448201527f722074696d657a6f6e65206f66667365740000000000000000000000000000006064820152608401612697565b5064ffffffffff851681016127f0565b5064ffffffffff851681015b643afff46baf8111156128455760405162461bcd60e51b815260206004820152601b60248201527f537472696e67733a2065706f63682074696d6520746f6f2062696700000000006044820152606401612697565b620afa6c62015180820401600062023ab18204905062023ab181028203600061016d62023ab083046105b484048403618eac850401030490506064810461016d82026004830401038203600060996002600584020104905080600a14806128ac575080600b145b6128b75760006128ba565b60015b60ff1661019086028401018952600a81106128d857600981036128dd565b806003015b60208a01526005600260998302010482036001018960400181815250505050505050506000620151808281612914576129146133e7565b069050610e1081046060850152603c610e10820681612935576129356133e7565b046080850152603c9081900660a0850152610e10808405600090810b60c087015284126129625783612967565b836000035b81612974576129746133e7565b0681612982576129826133e7565b0460ff1660e08401525090949350505050565b6000602082840312156129a757600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000008116811461068e57600080fd5b60005b838110156129f25781810151838201526020016129da565b50506000910152565b6020815260008251806020840152612a1a8160408501602087016129d7565b601f01601f19169190910160400192915050565b600060208284031215612a4057600080fd5b81357fffffffffffffffffffffffffffff0000000000000000000000000000000000008116811461068e57600080fd5b803564ffffffffff81168114612a8557600080fd5b919050565b60008060408385031215612a9d57600080fd5b612aa683612a70565b915060208301358060000b8114612abc57600080fd5b809150509250929050565b600060208284031215612ad957600080fd5b81357fffffffffff0000000000000000000000000000000000000000000000000000008116811461068e57600080fd5b803560ff81168114612a8557600080fd5b60008060408385031215612b2d57600080fd5b82359150612b3d60208401612b09565b90509250929050565b600060208284031215612b5857600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00008116811461068e57600080fd5b600060208284031215612b9a57600080fd5b81357fffffffffffffffffffffffffffffffffffff00000000000000000000000000008116811461068e57600080fd5b600060208284031215612bdc57600080fd5b61068e82612a70565b600060208284031215612bf757600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461068e57600080fd5b600060208284031215612c2d57600080fd5b81357fffffffffffffffffffffffffff000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612c6f57600080fd5b81357fffffffffffff00000000000000000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612cb157600080fd5b5035919050565b600060208284031215612cca57600080fd5b81357fffffff00000000000000000000000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612d0c57600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000008116811461068e57600080fd5b634e487b7160e01b600052604160045260246000fd5b600060208284031215612d6457600080fd5b813567ffffffffffffffff80821115612d7c57600080fd5b818401915084601f830112612d9057600080fd5b813581811115612da257612da2612d3c565b604051601f8201601f19908116603f01168101908382118183101715612dca57612dca612d3c565b81604052828152876020848701011115612de357600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215612e1557600080fd5b8135801515811461068e57600080fd5b600060208284031215612e3757600080fd5b81357fffffffffffffffffffffffffffffffffff0000000000000000000000000000008116811461068e57600080fd5b600060208284031215612e7957600080fd5b81357fffffffffffffffffff00000000000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612ebb57600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008116811461068e57600080fd5b600060208284031215612efd57600080fd5b81357fffffffffffffffffffffffffffffffff000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612f3f57600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008116811461068e57600080fd5b600060208284031215612f8157600080fd5b81357fffffffffffffffffffffffff00000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612fc357600080fd5b81357fffffffffffffffff0000000000000000000000000000000000000000000000008116811461068e57600080fd5b60006020828403121561300557600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008116811461068e57600080fd5b60006020828403121561304757600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000008116811461068e57600080fd5b60006020828403121561308957600080fd5b81357fffff0000000000000000000000000000000000000000000000000000000000008116811461068e57600080fd5b6000602082840312156130cb57600080fd5b81357fffffffffffffffffffffff0000000000000000000000000000000000000000008116811461068e57600080fd5b60006020828403121561310d57600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000008116811461068e57600080fd5b60006020828403121561314f57600080fd5b81357fffffffffffffffffffffffffffffff00000000000000000000000000000000008116811461068e57600080fd5b60006020828403121561319157600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461068e57600080fd5b6000602082840312156131d357600080fd5b81357fffffffffffffffffffffffffffffffffffffffffff00000000000000000000008116811461068e57600080fd5b60006020828403121561321557600080fd5b81357fffffffffffffffffffff000000000000000000000000000000000000000000008116811461068e57600080fd5b60006020828403121561325757600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008116811461068e57600080fd5b60006020828403121561329957600080fd5b81357fff000000000000000000000000000000000000000000000000000000000000008116811461068e57600080fd5b6000602082840312156132db57600080fd5b81357fffffffffffffff000000000000000000000000000000000000000000000000008116811461068e57600080fd5b60006020828403121561331d57600080fd5b81357fffffffffffffffffffffffffffffffffffffff000000000000000000000000008116811461068e57600080fd5b60006020828403121561335f57600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffff000000000000000000008116811461068e57600080fd5b6000602082840312156133a157600080fd5b81357fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008116811461068e57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6000825161340f8184602087016129d7565b7f5a00000000000000000000000000000000000000000000000000000000000000920191825250600101919050565b600083516134508184602088016129d7565b8351908301906134648183602088016129d7565b01949350505050565b7f2d000000000000000000000000000000000000000000000000000000000000008152600082516134a58160018501602087016129d7565b919091016001019291505056fe30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302ea2646970667358221220f8979db604de05dc8899a7da2f9c6d847d781de05dc65b9a28159e840dd25caa64736f6c63430008110033";
"0x6134fe61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106102dd5760003560e01c80637dde1e4b11610190578063b11a19e8116100ed578063c5f36d69116100a1578063e0b881ed1161007b578063e0b881ed146105ca578063e2d43d9a146105dd578063e378819b146105f057600080fd5b8063c5f36d6914610591578063da4042ca146105a4578063da65eecd146105b757600080fd5b8063b5745377116100d2578063b574537714610558578063bba526711461056b578063c134f76b1461057e57600080fd5b8063b11a19e814610532578063b332d2d91461054557600080fd5b80639dc8e87c11610144578063a322c40e11610129578063a322c40e146104f9578063ae35901a1461050c578063ae86a9531461051f57600080fd5b80639dc8e87c146104d3578063a1fa2a03146104e657600080fd5b806384b0722c1161017557806384b0722c1461049a578063869e8692146104ad57806399f0e287146104c057600080fd5b80637dde1e4b1461047457806381527d6f1461048757600080fd5b806367acea2b1161023e57806371dce7da116101f25780637500547b116101d75780637500547b1461043b5780637cd0fc941461044e5780637d85fb431461046157600080fd5b806371dce7da146104155780637214675b1461042857600080fd5b80636d4e3940116102235780636d4e3940146103dc5780636e517b3d146103ef57806371aad10d1461040257600080fd5b806367acea2b146103b65780636900a3ae146103c957600080fd5b806335e6a92e116102955780634b2dd5191161027a5780634b2dd5191461037d57806356ca623e146103905780635b1e0ff6146103a357600080fd5b806335e6a92e14610357578063415912811461036a57600080fd5b80632b50f9b1116102c65780632b50f9b11461031e5780633099b01914610331578063338dc7fd1461034457600080fd5b80630cd5903e146102e25780630f9243d61461030b575b600080fd5b6102f56102f036600461295d565b610603565b60405161030291906129c3565b60405180910390f35b6102f56103193660046129f6565b610695565b6102f561032c366004612a52565b610716565b6102f561033f366004612a8f565b610f67565b6102f5610352366004612ae2565b610fe8565b6102f5610365366004612b0e565b611289565b6102f5610378366004612b50565b61130a565b6102f561038b366004612b92565b61138b565b6102f561039e366004612bad565b611398565b6102f56103b1366004612be3565b611571565b6102f56103c4366004612c25565b6115f2565b6102f56103d7366004612c67565b611673565b6102f56103ea366004612c80565b611680565b6102f56103fd366004612cc2565b611701565b6102f5610410366004612d1a565b611782565b6102f5610423366004612dcb565b61196f565b6102f5610436366004612ded565b6119ea565b6102f5610449366004612e2f565b611a6b565b6102f561045c366004612e71565b611aec565b6102f561046f366004612eb3565b611b6d565b6102f5610482366004612ef5565b611bee565b6102f5610495366004612f37565b611c6f565b6102f56104a8366004612f79565b611cf0565b6102f56104bb366004612fbb565b611d71565b6102f56104ce366004612ffd565b611df2565b6102f56104e136600461303f565b611e73565b6102f56104f4366004613081565b611ef4565b6102f5610507366004612c67565b611f75565b6102f561051a3660046130c3565b611f82565b6102f561052d366004613105565b612003565b6102f5610540366004612c67565b612084565b6102f5610553366004613147565b612105565b6102f5610566366004613189565b612186565b6102f56105793660046131cb565b612207565b6102f561058c36600461320d565b612288565b6102f561059f36600461324f565b612309565b6102f56105b2366004612ae2565b61238a565b6102f56105c5366004613291565b612408565b6102f56105d83660046132d3565b612489565b6102f56105eb366004613315565b61250a565b6102f56105fe366004613357565b61258b565b6040805160198082528183019092526060916000919060208201818036833701905050905060005b601960ff8216101561068457838160ff166019811061064c5761064c613399565b1a60f81b828260ff168151811061066557610665613399565b60200101906001600160f81b031916908160001a90535060010161062b565b5061068e81611782565b9392505050565b60408051600e8082528183019092526060916000919060208201818036833701905050905060005b600e60ff8216101561068457838160ff16600e81106106de576106de613399565b1a60f81b828260ff16815181106106f7576106f7613399565b60200101906001600160f81b031916908160001a9053506001016106bd565b60607f30313233343536373839000000000000000000000000000000000000000000006000610745858561260c565b9050806101000151643afff46baf101561079d578061010001516040517f031ae10400000000000000000000000000000000000000000000000000000000815260040161079491815260200190565b60405180910390fd5b60408051808201909152601381527f303030302d30302d30305430303a30303a303000000000000000000000000000602082015281518390600a906103e8900406600a81106107ee576107ee613399565b1a60f81b8160008151811061080557610805613399565b60200101906001600160f81b031916908160001a90535082600a6064846000015181610833576108336133af565b0481610841576108416133af565b06600a811061085257610852613399565b1a60f81b8160018151811061086957610869613399565b60200101906001600160f81b031916908160001a90535082600a80846000015181610896576108966133af565b04816108a4576108a46133af565b06600a81106108b5576108b5613399565b1a60f81b816002815181106108cc576108cc613399565b60200101906001600160f81b031916908160001a90535081518390600a9006600a81106108fb576108fb613399565b1a60f81b8160038151811061091257610912613399565b60200101906001600160f81b031916908160001a90535082600a8084602001518161093f5761093f6133af565b048161094d5761094d6133af565b06600a811061095e5761095e613399565b1a60f81b8160058151811061097557610975613399565b60200101906001600160f81b031916908160001a90535082600a8360200151816109a1576109a16133af565b06600a81106109b2576109b2613399565b1a60f81b816006815181106109c9576109c9613399565b60200101906001600160f81b031916908160001a90535082600a808460400151816109f6576109f66133af565b0481610a0457610a046133af565b06600a8110610a1557610a15613399565b1a60f81b81600881518110610a2c57610a2c613399565b60200101906001600160f81b031916908160001a90535082600a836040015181610a5857610a586133af565b06600a8110610a6957610a69613399565b1a60f81b81600981518110610a8057610a80613399565b60200101906001600160f81b031916908160001a90535082600a80846060015181610aad57610aad6133af565b0481610abb57610abb6133af565b06600a8110610acc57610acc613399565b1a60f81b81600b81518110610ae357610ae3613399565b60200101906001600160f81b031916908160001a90535082600a836060015181610b0f57610b0f6133af565b06600a8110610b2057610b20613399565b1a60f81b81600c81518110610b3757610b37613399565b60200101906001600160f81b031916908160001a90535082600a80846080015181610b6457610b646133af565b0481610b7257610b726133af565b06600a8110610b8357610b83613399565b1a60f81b81600e81518110610b9a57610b9a613399565b60200101906001600160f81b031916908160001a90535082600a836080015181610bc657610bc66133af565b06600a8110610bd757610bd7613399565b1a60f81b81600f81518110610bee57610bee613399565b60200101906001600160f81b031916908160001a90535082600a808460a0015181610c1b57610c1b6133af565b0481610c2957610c296133af565b06600a8110610c3a57610c3a613399565b1a60f81b81601181518110610c5157610c51613399565b60200101906001600160f81b031916908160001a90535082600a8360a0015181610c7d57610c7d6133af565b06600a8110610c8e57610c8e613399565b1a60f81b81601281518110610ca557610ca5613399565b60200101906001600160f81b031916908160001a9053508460000b600003610cf15780604051602001610cd891906133c5565b6040516020818303038152906040529350505050610f61565b60408051808201909152600681527f2030303a303000000000000000000000000000000000000000000000000000006020820152600086810b811315610d8a577f2d0000000000000000000000000000000000000000000000000000000000000082600081518110610d6557610d65613399565b60200101906001600160f81b031916908160001a9053505060c0830151600003610ddc565b7f2b0000000000000000000000000000000000000000000000000000000000000082600081518110610dbe57610dbe613399565b60200101906001600160f81b031916908160001a9053505060c08301515b84600a8060ff84160460ff1681610df557610df56133af565b0660ff16600a8110610e0957610e09613399565b1a60f81b82600181518110610e2057610e20613399565b60200101906001600160f81b031916908160001a90535084600a60ff83160660ff16600a8110610e5257610e52613399565b1a60f81b82600281518110610e6957610e69613399565b60200101906001600160f81b031916908160001a90535084600a808660e0015181610e9657610e966133af565b0481610ea457610ea46133af565b06600a8110610eb557610eb5613399565b1a60f81b82600481518110610ecc57610ecc613399565b60200101906001600160f81b031916908160001a90535084600a8560e0015181610ef857610ef86133af565b06600a8110610f0957610f09613399565b1a60f81b82600581518110610f2057610f20613399565b60200101906001600160f81b031916908160001a9053508282604051602001610f4a929190613406565b604051602081830303815290604052955050505050505b92915050565b6040805160058082528183019092526060916000919060208201818036833701905050905060005b600560ff8216101561068457838160ff1660058110610fb057610fb0613399565b1a60f81b828260ff1681518110610fc957610fc9613399565b60200101906001600160f81b031916908160001a905350600101610f8f565b606060007f3031323334353637383900000000000000000000000000000000000000000000905060006040518060800160405280604e815260200161347b604e91399050604e5b8460ff1660001080156110435750600a8606155b1561105a57600a860495506000199094019361102f565b60ff851615611120575b60ff8516156110cb5782600a8706600a811061108257611082613399565b1a60f81b82826001900392508260ff16815181106110a2576110a2613399565b60200101906001600160f81b031916908160001a905350600a8604955060001990940193611064565b7f2e0000000000000000000000000000000000000000000000000000000000000082826001900392508260ff168151811061110857611108613399565b60200101906001600160f81b031916908160001a9053505b85600003611167578260001a60f81b82826001900392508260ff168151811061114b5761114b613399565b60200101906001600160f81b031916908160001a9053506111c4565b85156111c45782600a8706600a811061118257611182613399565b1a60f81b82826001900392508260ff16815181106111a2576111a2613399565b60200101906001600160f81b031916908160001a905350600a86049550611167565b600081604e0360ff1667ffffffffffffffff8111156111e5576111e5612d04565b6040519080825280601f01601f19166020018201604052801561120f576020820181803683370190505b50905060005b604e8360ff16101561127e57838380600101945060ff168151811061123c5761123c613399565b602001015160f81c60f81b828280600101935060ff168151811061126257611262613399565b60200101906001600160f81b031916908160001a905350611215565b509695505050505050565b60408051601e8082528183019092526060916000919060208201818036833701905050905060005b601e60ff8216101561068457838160ff16601e81106112d2576112d2613399565b1a60f81b828260ff16815181106112eb576112eb613399565b60200101906001600160f81b031916908160001a9053506001016112b1565b6040805160128082528183019092526060916000919060208201818036833701905050905060005b601260ff8216101561068457838160ff166012811061135357611353613399565b1a60f81b828260ff168151811061136c5761136c613399565b60200101906001600160f81b031916908160001a905350600101611332565b6060610f61826000610716565b60408051602a80825260608281019093527f30313233343536373839616263646566000000000000000000000000000000009184841b91600091906020820181803683370190505090507f3c000000000000000000000000000000000000000000000000000000000000008160008151811061141657611416613399565b60200101906001600160f81b031916908160001a9053506000600160025b601483101561151b57600085846014811061145157611451613399565b1a905086600482901c60ff166010811061146d5761146d613399565b1a60f81b87600f83166010811061148657611486613399565b1a60f81b86858151811061149c5761149c613399565b602001018785815181106114b2576114b2613399565b7fff00000000000000000000000000000000000000000000000000000000000000841660001a9101602001537fff00000000000000000000000000000000000000000000000000000000000000831660001a905350506001909301925060029182019101611434565b5050507f3e000000000000000000000000000000000000000000000000000000000000008160298151811061155257611552613399565b60200101906001600160f81b031916908160001a905350949350505050565b60408051600d8082528183019092526060916000919060208201818036833701905050905060005b600d60ff8216101561068457838160ff16600d81106115ba576115ba613399565b1a60f81b828260ff16815181106115d3576115d3613399565b60200101906001600160f81b031916908160001a905350600101611599565b6040805160068082528183019092526060916000919060208201818036833701905050905060005b600660ff8216101561068457838160ff166006811061163b5761163b613399565b1a60f81b828260ff168151811061165457611654613399565b60200101906001600160f81b031916908160001a90535060010161161a565b6060610f61826000610fe8565b6040805160038082528183019092526060916000919060208201818036833701905050905060005b600360ff8216101561068457838160ff16600381106116c9576116c9613399565b1a60f81b828260ff16815181106116e2576116e2613399565b60200101906001600160f81b031916908160001a9053506001016116a8565b6040805160178082528183019092526060916000919060208201818036833701905050905060005b601760ff8216101561068457838160ff166017811061174a5761174a613399565b1a60f81b828260ff168151811061176357611763613399565b60200101906001600160f81b031916908160001a905350600101611729565b80516060907f303132333435363738396162636465660000000000000000000000000000000090600060028083020167ffffffffffffffff8111156117c9576117c9612d04565b6040519080825280601f01601f1916602001820160405280156117f3576020820181803683370190505b5090507f5b000000000000000000000000000000000000000000000000000000000000008160008151811061182a5761182a613399565b60200101906001600160f81b031916908160001a9053506000600160025b8483101561193357600088848151811061186457611864613399565b016020015160f881901c9150879060fc1c6010811061188557611885613399565b1a60f81b87600f83166010811061189e5761189e613399565b1a60f81b8685815181106118b4576118b4613399565b602001018785815181106118ca576118ca613399565b7fff00000000000000000000000000000000000000000000000000000000000000841660001a9101602001537fff00000000000000000000000000000000000000000000000000000000000000831660001a905350506001909301925060029182019101611848565b5050507f5d0000000000000000000000000000000000000000000000000000000000000081836002026001018151811061155257611552613399565b6060816119b1576040518060400160405280600581526020017f66616c7365000000000000000000000000000000000000000000000000000000815250610f61565b505060408051808201909152600481527f7472756500000000000000000000000000000000000000000000000000000000602082015290565b6040805160118082528183019092526060916000919060208201818036833701905050905060005b601160ff8216101561068457838160ff1660118110611a3357611a33613399565b1a60f81b828260ff1681518110611a4c57611a4c613399565b60200101906001600160f81b031916908160001a905350600101611a12565b6040805160098082528183019092526060916000919060208201818036833701905050905060005b600960ff8216101561068457838160ff1660098110611ab457611ab4613399565b1a60f81b828260ff1681518110611acd57611acd613399565b60200101906001600160f81b031916908160001a905350600101611a93565b60408051601c8082528183019092526060916000919060208201818036833701905050905060005b601c60ff8216101561068457838160ff16601c8110611b3557611b35613399565b1a60f81b828260ff1681518110611b4e57611b4e613399565b60200101906001600160f81b031916908160001a905350600101611b14565b6040805160108082528183019092526060916000919060208201818036833701905050905060005b601060ff8216101561068457838160ff1660108110611bb657611bb6613399565b1a60f81b828260ff1681518110611bcf57611bcf613399565b60200101906001600160f81b031916908160001a905350600101611b95565b60408051601d8082528183019092526060916000919060208201818036833701905050905060005b601d60ff8216101561068457838160ff16601d8110611c3757611c37613399565b1a60f81b828260ff1681518110611c5057611c50613399565b60200101906001600160f81b031916908160001a905350600101611c16565b60408051600c8082528183019092526060916000919060208201818036833701905050905060005b600c60ff8216101561068457838160ff16600c8110611cb857611cb8613399565b1a60f81b828260ff1681518110611cd157611cd1613399565b60200101906001600160f81b031916908160001a905350600101611c97565b6040805160088082528183019092526060916000919060208201818036833701905050905060005b600860ff8216101561068457838160ff1660088110611d3957611d39613399565b1a60f81b828260ff1681518110611d5257611d52613399565b60200101906001600160f81b031916908160001a905350600101611d18565b60408051601f8082528183019092526060916000919060208201818036833701905050905060005b601f60ff8216101561068457838160ff16601f8110611dba57611dba613399565b1a60f81b828260ff1681518110611dd357611dd3613399565b60200101906001600160f81b031916908160001a905350600101611d99565b60408051601b8082528183019092526060916000919060208201818036833701905050905060005b601b60ff8216101561068457838160ff16601b8110611e3b57611e3b613399565b1a60f81b828260ff1681518110611e5457611e54613399565b60200101906001600160f81b031916908160001a905350600101611e1a565b6040805160028082528183019092526060916000919060208201818036833701905050905060005b600260ff8216101561068457838160ff1660028110611ebc57611ebc613399565b1a60f81b828260ff1681518110611ed557611ed5613399565b60200101906001600160f81b031916908160001a905350600101611e9b565b60408051600b8082528183019092526060916000919060208201818036833701905050905060005b600b60ff8216101561068457838160ff16600b8110611f3d57611f3d613399565b1a60f81b828260ff1681518110611f5657611f56613399565b60200101906001600160f81b031916908160001a905350600101611f1c565b6060610f6182600061238a565b60408051601a8082528183019092526060916000919060208201818036833701905050905060005b601a60ff8216101561068457838160ff16601a8110611fcb57611fcb613399565b1a60f81b828260ff1681518110611fe457611fe4613399565b60200101906001600160f81b031916908160001a905350600101611faa565b60408051600f8082528183019092526060916000919060208201818036833701905050905060005b600f60ff8216101561068457838160ff16600f811061204c5761204c613399565b1a60f81b828260ff168151811061206557612065613399565b60200101906001600160f81b031916908160001a90535060010161202b565b6040805160208082528183019092526060916000919060208201818036833701905050905060005b602060ff8216101561068457838160ff16602081106120cd576120cd613399565b1a60f81b828260ff16815181106120e6576120e6613399565b60200101906001600160f81b031916908160001a9053506001016120ac565b6040805160048082528183019092526060916000919060208201818036833701905050905060005b600460ff8216101561068457838160ff166004811061214e5761214e613399565b1a60f81b828260ff168151811061216757612167613399565b60200101906001600160f81b031916908160001a90535060010161212d565b6040805160158082528183019092526060916000919060208201818036833701905050905060005b601560ff8216101561068457838160ff16601581106121cf576121cf613399565b1a60f81b828260ff16815181106121e8576121e8613399565b60200101906001600160f81b031916908160001a9053506001016121ae565b60408051600a8082528183019092526060916000919060208201818036833701905050905060005b600a60ff8216101561068457838160ff16600a811061225057612250613399565b1a60f81b828260ff168151811061226957612269613399565b60200101906001600160f81b031916908160001a90535060010161222f565b6040805160188082528183019092526060916000919060208201818036833701905050905060005b601860ff8216101561068457838160ff16601881106122d1576122d1613399565b1a60f81b828260ff16815181106122ea576122ea613399565b60200101906001600160f81b031916908160001a9053506001016122b0565b6040805160018082528183019092526060916000919060208201818036833701905050905060005b600160ff8216101561068457838160ff166001811061235257612352613399565b1a60f81b828260ff168151811061236b5761236b613399565b60200101906001600160f81b031916908160001a905350600101612331565b606060008312156123f7576123d17f800000000000000000000000000000000000000000000000000000000000000084146123c857836000036123cb565b60005b83610fe8565b6040516020016123e19190613435565b6040516020818303038152906040529050610f61565b6124018383610fe8565b9050610f61565b6040805160078082528183019092526060916000919060208201818036833701905050905060005b600760ff8216101561068457838160ff166007811061245157612451613399565b1a60f81b828260ff168151811061246a5761246a613399565b60200101906001600160f81b031916908160001a905350600101612430565b6040805160138082528183019092526060916000919060208201818036833701905050905060005b601360ff8216101561068457838160ff16601381106124d2576124d2613399565b1a60f81b828260ff16815181106124eb576124eb613399565b60200101906001600160f81b031916908160001a9053506001016124b1565b6040805160168082528183019092526060916000919060208201818036833701905050905060005b601660ff8216101561068457838160ff166016811061255357612553613399565b1a60f81b828260ff168151811061256c5761256c613399565b60200101906001600160f81b031916908160001a905350600101612532565b6040805160148082528183019092526060916000919060208201818036833701905050905060005b601460ff8216101561068457838160ff16601481106125d4576125d4613399565b1a60f81b828260ff16815181106125ed576125ed613399565b60200101906001600160f81b031916908160001a9053506001016125b3565b61265d6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000800b815260200160008152602001600081525090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd08260000b12156126c0576040517f527cc386000000000000000000000000000000000000000000000000000000008152600083900b6004820152602401610794565b8160000b60381215612704576040517f5da7a5e7000000000000000000000000000000000000000000000000000000008152600083900b6004820152602401610794565b6127556040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000800b815260200160008152602001600081525090565b60008360000b61038402905060008112156127d657806000038564ffffffffff1610156127c1576040517f7662186000000000000000000000000000000000000000000000000000000000815264ffffffffff86166004820152600085900b6024820152604401610794565b64ffffffffff851681016101008301526127e7565b64ffffffffff851681016101008301525b60006201518083610100015181612800576128006133af565b04620afa6c019050600062023ab1828161281c5761281c6133af565b04905062023ab181028203600061016d62023ab083046105b484048403618eac850401030490506064810461016d82026004830401038203600060996002600584020104905080600a1480612871575080600b145b61287c57600061287f565b60015b60ff1661019086028401018852600a811061289d57600981036128a2565b806003015b6020890152600560026099830201048203600101886040018181525050505050505050600062015180836101000151816128de576128de6133af565b069050610e1081046060840152603c610e108206816128ff576128ff6133af565b046080840152603c9081900660a0840152610e10808305600090810b60c0860152831261292c5782612931565b826000035b8161293e5761293e6133af565b068161294c5761294c6133af565b0460ff1660e0830152509392505050565b60006020828403121561296f57600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000008116811461068e57600080fd5b60005b838110156129ba5781810151838201526020016129a2565b50506000910152565b60208152600082518060208401526129e281604085016020870161299f565b601f01601f19169190910160400192915050565b600060208284031215612a0857600080fd5b81357fffffffffffffffffffffffffffff0000000000000000000000000000000000008116811461068e57600080fd5b803564ffffffffff81168114612a4d57600080fd5b919050565b60008060408385031215612a6557600080fd5b612a6e83612a38565b915060208301358060000b8114612a8457600080fd5b809150509250929050565b600060208284031215612aa157600080fd5b81357fffffffffff0000000000000000000000000000000000000000000000000000008116811461068e57600080fd5b803560ff81168114612a4d57600080fd5b60008060408385031215612af557600080fd5b82359150612b0560208401612ad1565b90509250929050565b600060208284031215612b2057600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00008116811461068e57600080fd5b600060208284031215612b6257600080fd5b81357fffffffffffffffffffffffffffffffffffff00000000000000000000000000008116811461068e57600080fd5b600060208284031215612ba457600080fd5b61068e82612a38565b600060208284031215612bbf57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461068e57600080fd5b600060208284031215612bf557600080fd5b81357fffffffffffffffffffffffffff000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612c3757600080fd5b81357fffffffffffff00000000000000000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612c7957600080fd5b5035919050565b600060208284031215612c9257600080fd5b81357fffffff00000000000000000000000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612cd457600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000008116811461068e57600080fd5b634e487b7160e01b600052604160045260246000fd5b600060208284031215612d2c57600080fd5b813567ffffffffffffffff80821115612d4457600080fd5b818401915084601f830112612d5857600080fd5b813581811115612d6a57612d6a612d04565b604051601f8201601f19908116603f01168101908382118183101715612d9257612d92612d04565b81604052828152876020848701011115612dab57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215612ddd57600080fd5b8135801515811461068e57600080fd5b600060208284031215612dff57600080fd5b81357fffffffffffffffffffffffffffffffffff0000000000000000000000000000008116811461068e57600080fd5b600060208284031215612e4157600080fd5b81357fffffffffffffffffff00000000000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612e8357600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008116811461068e57600080fd5b600060208284031215612ec557600080fd5b81357fffffffffffffffffffffffffffffffff000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612f0757600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008116811461068e57600080fd5b600060208284031215612f4957600080fd5b81357fffffffffffffffffffffffff00000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612f8b57600080fd5b81357fffffffffffffffff0000000000000000000000000000000000000000000000008116811461068e57600080fd5b600060208284031215612fcd57600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008116811461068e57600080fd5b60006020828403121561300f57600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000008116811461068e57600080fd5b60006020828403121561305157600080fd5b81357fffff0000000000000000000000000000000000000000000000000000000000008116811461068e57600080fd5b60006020828403121561309357600080fd5b81357fffffffffffffffffffffff0000000000000000000000000000000000000000008116811461068e57600080fd5b6000602082840312156130d557600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000008116811461068e57600080fd5b60006020828403121561311757600080fd5b81357fffffffffffffffffffffffffffffff00000000000000000000000000000000008116811461068e57600080fd5b60006020828403121561315957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461068e57600080fd5b60006020828403121561319b57600080fd5b81357fffffffffffffffffffffffffffffffffffffffffff00000000000000000000008116811461068e57600080fd5b6000602082840312156131dd57600080fd5b81357fffffffffffffffffffff000000000000000000000000000000000000000000008116811461068e57600080fd5b60006020828403121561321f57600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008116811461068e57600080fd5b60006020828403121561326157600080fd5b81357fff000000000000000000000000000000000000000000000000000000000000008116811461068e57600080fd5b6000602082840312156132a357600080fd5b81357fffffffffffffff000000000000000000000000000000000000000000000000008116811461068e57600080fd5b6000602082840312156132e557600080fd5b81357fffffffffffffffffffffffffffffffffffffff000000000000000000000000008116811461068e57600080fd5b60006020828403121561332757600080fd5b81357fffffffffffffffffffffffffffffffffffffffffffff000000000000000000008116811461068e57600080fd5b60006020828403121561336957600080fd5b81357fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008116811461068e57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082516133d781846020870161299f565b7f5a00000000000000000000000000000000000000000000000000000000000000920191825250600101919050565b6000835161341881846020880161299f565b83519083019061342c81836020880161299f565b01949350505050565b7f2d0000000000000000000000000000000000000000000000000000000000000081526000825161346d81600185016020870161299f565b919091016001019291505056fe30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302ea2646970667358221220b3bdb16e187770c6d4889d6c76fc7ca57ad0708e260d6982b7e467c463c8ddc364736f6c63430008110033";

@@ -811,0 +860,0 @@ export class ToString__factory extends ContractFactory {

@@ -25,8 +25,8 @@ /* Autogenerated file. Do not edit manually. */

"VOUCHER_TYPEHASH()": FunctionFragment;
"hashVoucher((uint32,uint256,uint256,bytes,bytes))": FunctionFragment;
"hashVoucher((uint32,uint256,uint256,uint256,bytes,bytes))": FunctionFragment;
"multicall(bytes[])": FunctionFragment;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)": FunctionFragment;
"stringifyVoucher((uint32,uint256,uint256,bytes,bytes))": FunctionFragment;
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)": FunctionFragment;
"stringifyVoucher((uint32,uint256,uint256,uint256,bytes,bytes))": FunctionFragment;
"supportsInterface(bytes4)": FunctionFragment;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)": FunctionFragment;
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)": FunctionFragment;
"voucherServed(bytes32)": FunctionFragment;

@@ -45,3 +45,4 @@ };

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -62,7 +63,10 @@ metadata: BytesLike;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
BytesLike
BytesLike,
BytesLike,
BigNumberish
]

@@ -76,3 +80,4 @@ ): string;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -93,7 +98,10 @@ metadata: BytesLike;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
BytesLike
BytesLike,
BytesLike,
BigNumberish
]

@@ -197,3 +205,4 @@ ): string;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -210,25 +219,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -241,3 +252,4 @@ ): Promise<ContractTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -254,25 +266,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<[void]>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -293,3 +307,4 @@ ): Promise<[void]>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -306,25 +321,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -337,3 +354,4 @@ ): Promise<ContractTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -350,25 +368,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -386,3 +406,4 @@ ): Promise<void>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -396,25 +417,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -427,3 +450,4 @@ ): Promise<void>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -440,25 +464,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -495,3 +521,4 @@ ): Promise<void>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -508,25 +535,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -539,3 +568,4 @@ ): Promise<BigNumber>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -552,25 +582,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<BigNumber>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -592,3 +624,4 @@ ): Promise<BigNumber>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -605,25 +638,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -636,3 +671,4 @@ ): Promise<PopulatedTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -649,25 +685,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -674,0 +712,0 @@ ): Promise<PopulatedTransaction>;

@@ -25,9 +25,10 @@ /* Autogenerated file. Do not edit manually. */

"VOUCHER_TYPEHASH()": FunctionFragment;
"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)": FunctionFragment;
"buildPurchaseVoucher(uint256,address,uint256,string)": FunctionFragment;
"destination()": FunctionFragment;
"hashVoucher((uint32,uint256,uint256,bytes,bytes))": FunctionFragment;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)": FunctionFragment;
"stringifyVoucher((uint32,uint256,uint256,bytes,bytes))": FunctionFragment;
"hashVoucher((uint32,uint256,uint256,uint256,bytes,bytes))": FunctionFragment;
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)": FunctionFragment;
"stringifyVoucher((uint32,uint256,uint256,uint256,bytes,bytes))": FunctionFragment;
"token()": FunctionFragment;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)": FunctionFragment;
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)": FunctionFragment;
"voucherServed(bytes32)": FunctionFragment;

@@ -41,2 +42,15 @@ };

encodeFunctionData(
functionFragment: "buildPermitAndPurchaseVoucher",
values: [
BigNumberish,
BigNumberish,
string,
BigNumberish,
BigNumberish,
BytesLike,
BytesLike,
string
]
): string;
encodeFunctionData(
functionFragment: "buildPurchaseVoucher",

@@ -55,3 +69,4 @@ values: [BigNumberish, string, BigNumberish, string]

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -68,7 +83,10 @@ metadata: BytesLike;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
BytesLike
BytesLike,
BytesLike,
BigNumberish
]

@@ -82,3 +100,4 @@ ): string;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -96,7 +115,10 @@ metadata: BytesLike;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
BytesLike
BytesLike,
BytesLike,
BigNumberish
]

@@ -114,2 +136,6 @@ ): string;

decodeFunctionResult(
functionFragment: "buildPermitAndPurchaseVoucher",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "buildPurchaseVoucher",

@@ -201,2 +227,98 @@ data: BytesLike

"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
};
}
>;
"buildPermitAndPurchaseVoucher(uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
};
}
>;
"buildPermitAndPurchaseVoucher(uint256,uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
};
}
>;
"buildPurchaseVoucher(uint256,address,uint256,string)"(

@@ -210,6 +332,7 @@ nonce: BigNumberish,

[
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -219,6 +342,7 @@ metadata: string;

] & {
voucher: [number, BigNumber, BigNumber, string, string] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -232,3 +356,3 @@ metadata: string;

nonce: BigNumberish,
deadline: BigNumberish,
validUntil: BigNumberish,
from: string,

@@ -240,6 +364,7 @@ amount: BigNumberish,

[
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -249,6 +374,7 @@ metadata: string;

] & {
voucher: [number, BigNumber, BigNumber, string, string] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -260,2 +386,32 @@ metadata: string;

"buildPurchaseVoucher(uint256,uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
message: string,
overrides?: CallOverrides
): Promise<
[
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
] & {
voucher: [number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
};
}
>;
destination(

@@ -269,3 +425,4 @@ overrides?: CallOverrides

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -277,25 +434,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -308,3 +467,4 @@ ): Promise<ContractTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -318,25 +478,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<[void]>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -353,2 +515,65 @@ ): Promise<[void]>;

"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
"buildPermitAndPurchaseVoucher(uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
"buildPermitAndPurchaseVoucher(uint256,uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
"buildPurchaseVoucher(uint256,address,uint256,string)"(

@@ -361,6 +586,7 @@ nonce: BigNumberish,

): Promise<
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -373,3 +599,3 @@ metadata: string;

nonce: BigNumberish,
deadline: BigNumberish,
validUntil: BigNumberish,
from: string,

@@ -380,6 +606,7 @@ amount: BigNumberish,

): Promise<
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -390,2 +617,21 @@ metadata: string;

"buildPurchaseVoucher(uint256,uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
destination(overrides?: CallOverrides): Promise<string>;

@@ -397,3 +643,4 @@

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -405,25 +652,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -436,3 +685,4 @@ ): Promise<ContractTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -446,25 +696,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -481,2 +733,65 @@ ): Promise<void>;

"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
"buildPermitAndPurchaseVoucher(uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
"buildPermitAndPurchaseVoucher(uint256,uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
"buildPurchaseVoucher(uint256,address,uint256,string)"(

@@ -489,6 +804,7 @@ nonce: BigNumberish,

): Promise<
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -501,3 +817,3 @@ metadata: string;

nonce: BigNumberish,
deadline: BigNumberish,
validUntil: BigNumberish,
from: string,

@@ -508,6 +824,7 @@ amount: BigNumberish,

): Promise<
[number, BigNumber, BigNumber, string, string] & {
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
deadline: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;

@@ -518,2 +835,21 @@ metadata: string;

"buildPurchaseVoucher(uint256,uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
message: string,
overrides?: CallOverrides
): Promise<
[number, BigNumber, BigNumber, BigNumber, string, string] & {
tag: number;
nonce: BigNumber;
validSince: BigNumber;
validUntil: BigNumber;
payload: string;
metadata: string;
}
>;
destination(overrides?: CallOverrides): Promise<string>;

@@ -525,3 +861,4 @@

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -533,25 +870,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -564,3 +903,4 @@ ): Promise<void>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -574,25 +914,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -628,2 +970,38 @@ ): Promise<void>;

"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<BigNumber>;
"buildPermitAndPurchaseVoucher(uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<BigNumber>;
"buildPermitAndPurchaseVoucher(uint256,uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<BigNumber>;
"buildPurchaseVoucher(uint256,address,uint256,string)"(

@@ -639,3 +1017,3 @@ nonce: BigNumberish,

nonce: BigNumberish,
deadline: BigNumberish,
validUntil: BigNumberish,
from: string,

@@ -647,2 +1025,12 @@ amount: BigNumberish,

"buildPurchaseVoucher(uint256,uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
message: string,
overrides?: CallOverrides
): Promise<BigNumber>;
destination(overrides?: CallOverrides): Promise<BigNumber>;

@@ -654,3 +1042,4 @@

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -662,25 +1051,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -693,3 +1084,4 @@ ): Promise<BigNumber>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -703,25 +1095,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<BigNumber>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -739,2 +1133,38 @@ ): Promise<BigNumber>;

"buildPermitAndPurchaseVoucher(uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
"buildPermitAndPurchaseVoucher(uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
"buildPermitAndPurchaseVoucher(uint256,uint256,uint256,address,uint256,uint8,bytes32,bytes32,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
v: BigNumberish,
r: BytesLike,
s: BytesLike,
message: string,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
"buildPurchaseVoucher(uint256,address,uint256,string)"(

@@ -750,3 +1180,3 @@ nonce: BigNumberish,

nonce: BigNumberish,
deadline: BigNumberish,
validUntil: BigNumberish,
from: string,

@@ -758,2 +1188,12 @@ amount: BigNumberish,

"buildPurchaseVoucher(uint256,uint256,uint256,address,uint256,string)"(
nonce: BigNumberish,
validSince: BigNumberish,
validUntil: BigNumberish,
from: string,
amount: BigNumberish,
message: string,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
destination(overrides?: CallOverrides): Promise<PopulatedTransaction>;

@@ -765,3 +1205,4 @@

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -773,25 +1214,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -804,3 +1247,4 @@ ): Promise<PopulatedTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -814,25 +1258,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -839,0 +1285,0 @@ ): Promise<PopulatedTransaction>;

@@ -25,6 +25,6 @@ /* Autogenerated file. Do not edit manually. */

"VOUCHER_TYPEHASH()": FunctionFragment;
"hashVoucher((uint32,uint256,uint256,bytes,bytes))": FunctionFragment;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)": FunctionFragment;
"stringifyVoucher((uint32,uint256,uint256,bytes,bytes))": FunctionFragment;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)": FunctionFragment;
"hashVoucher((uint32,uint256,uint256,uint256,bytes,bytes))": FunctionFragment;
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)": FunctionFragment;
"stringifyVoucher((uint32,uint256,uint256,uint256,bytes,bytes))": FunctionFragment;
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)": FunctionFragment;
"voucherServed(bytes32)": FunctionFragment;

@@ -43,3 +43,4 @@ };

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -56,7 +57,10 @@ metadata: BytesLike;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
BytesLike
BytesLike,
BytesLike,
BigNumberish
]

@@ -70,3 +74,4 @@ ): string;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -83,7 +88,10 @@ metadata: BytesLike;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
BytesLike
BytesLike,
BytesLike,
BigNumberish
]

@@ -182,3 +190,4 @@ ): string;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -190,25 +199,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -221,3 +232,4 @@ ): Promise<ContractTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -229,25 +241,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<[void]>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -268,3 +282,4 @@ ): Promise<[void]>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -276,25 +291,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -307,3 +324,4 @@ ): Promise<ContractTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -315,25 +333,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -354,3 +374,4 @@ ): Promise<void>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -362,25 +383,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -393,3 +416,4 @@ ): Promise<void>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -401,25 +425,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -459,3 +485,4 @@ ): Promise<void>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -467,25 +494,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -498,3 +527,4 @@ ): Promise<BigNumber>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -506,25 +536,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<BigNumber>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -546,3 +578,4 @@ ): Promise<BigNumber>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -554,25 +587,27 @@ metadata: BytesLike;

"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
"serveVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"serveVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: Overrides & { from?: string | Promise<string> }

@@ -585,3 +620,4 @@ ): Promise<PopulatedTransaction>;

nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;

@@ -593,25 +629,27 @@ metadata: BytesLike;

"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
signature: BytesLike,
r: BytesLike,
s: BytesLike,
v: BigNumberish,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
"validateVoucher((uint32,uint256,uint256,bytes,bytes),bytes32,bytes32,uint8)"(
"validateVoucher((uint32,uint256,uint256,uint256,bytes,bytes),bytes)"(
voucher: {
tag: BigNumberish;
nonce: BigNumberish;
deadline: BigNumberish;
validSince: BigNumberish;
validUntil: BigNumberish;
payload: BytesLike;
metadata: BytesLike;
},
r: BytesLike,
s: BytesLike,
v: BigNumberish,
signature: BytesLike,
overrides?: CallOverrides

@@ -618,0 +656,0 @@ ): Promise<PopulatedTransaction>;

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet